Difference between revisions of "Licensing"
(→Current TODO List) |
(→How can I help?) |
||
(40 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
=== Why does it matter? === | === Why does it matter? === | ||
− | Ethersex is licensed unter GPLv3, but a few parts are currently licensed as GPLv2 only or any other incompatible | + | Ethersex is licensed unter GPLv3, but a few parts are currently licensed as GPLv2 only or any other incompatible license. However, we still need to validate with the individual copyright holders that a relicense to GPLv2+ or GPLv2+v3 is okay with them. |
Therefore, in an effort we're trying to identify the contributors that have contributed under the terms of GPLv2 and where the "+" part was not explicitly mentioned or any other incompatible license. If we know that all contributors agreed to a relicense, we can go ahead and flip the license of the individual source file. | Therefore, in an effort we're trying to identify the contributors that have contributed under the terms of GPLv2 and where the "+" part was not explicitly mentioned or any other incompatible license. If we know that all contributors agreed to a relicense, we can go ahead and flip the license of the individual source file. | ||
Line 9: | Line 9: | ||
== How can I help? == | == How can I help? == | ||
− | By identifying a contributor who as contributed under the terms of GPLv2 | + | By identifying a contributor who as contributed under the terms of GPLv2, and contacting him if he wasn't already contacted. Ask him the following questions: |
* Are you okay with relicensing your contributions done under "GPLv2" to "GPLv2 or later"? | * Are you okay with relicensing your contributions done under "GPLv2" to "GPLv2 or later"? | ||
Line 18: | Line 18: | ||
* Are you okay with relicensing your contributions done under "LGPLv2" to "LGPLv2 or LGPLv3"? | * Are you okay with relicensing your contributions done under "LGPLv2" to "LGPLv2 or LGPLv3"? | ||
+ | |||
+ | * Are you okay with relicensing your contributions done under "GPLv3" to "GPLv3+"? | ||
* Are you okay with the Ethersex maintainer deciding on a future licensing change to your code, should that be necessary? | * Are you okay with the Ethersex maintainer deciding on a future licensing change to your code, should that be necessary? | ||
Line 35: | Line 37: | ||
{| border="1" | {| border="1" | ||
− | ! Name !! GPLv2->GPLv2+ !! LGPLv2 -> LGPLv2+ !! GPLv2 -> GPLv2+v3 !! LGPLv2 -> LGPLv2+LGPLv3 !! | + | ! Name !! GPLv2->GPLv2+ !! LGPLv2 -> LGPLv2+ !! GPLv2 -> GPLv2+v3 !! LGPLv2 -> LGPLv2+LGPLv3 !! GPLv3 -> GPLv3+ !! Ethersex decides !! Code !! Date |
|- | |- | ||
− | |Güntner, Maximilian || YES || YES || YES || YES || | + | |Güntner, Maximilian || YES || YES || YES || YES || NO || NO || ALL || N/A |
|- | |- | ||
− | |Kunze, Erik || YES || YES || YES || YES || YES || NO | + | |Kunze, Erik || YES || YES || YES || YES || NO || NO || ALL || N/A |
+ | |- | ||
+ | |Riegel, Roland || NO || NO || NO || NO || NO || NO || sd_reader || N/A | ||
+ | |- | ||
+ | |Neumann, Alexander || NO || NO || NO || NO || YES || NO || onewire.* || Nov 16 18:50:10 2013 | ||
|- | |- | ||
|} | |} | ||
Line 45: | Line 51: | ||
== Current TODO List == | == Current TODO List == | ||
− | * collect files with incompatible license | + | * collect files with incompatible license. |
{| border="1" | {| border="1" | ||
! File !! License !! Status | ! File !! License !! Status | ||
|- | |- | ||
− | + | | core/gui/font.c || 3-clause BSD || OK | |
− | |||
− | |||
− | |||
− | | core/gui/font.c || | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | core/host/host.h || unknown || OK empty file - does not need a license |
|- | |- | ||
− | | | + | | core/host/util/crc16.h || no license, has to be 3-clause BSD || File is a partial copy of util/crc16.h, so we should use the 3-clause BSD for that file |
|- | |- | ||
− | | | + | | core/setbaud.h || 3-clause BSD || removed - use utils/setbaud.h from avrlibc |
|- | |- | ||
− | | hardware/ | + | | hardware/ir/irmp/irmp_lib.c || GPLv2+ || OK |
|- | |- | ||
− | | hardware/ | + | | hardware/lcd/s1d15g10/bunnies.h || GPLv2+ assumed || OK |
|- | |- | ||
− | | hardware/ | + | | hardware/lcd/ST7626/4x6.h || GPLv3+ || not replied, OK - we can assume GPLv3+ because of ST7626.c |
|- | |- | ||
− | | hardware/ | + | | hardware/lcd/ST7626/ST7626.h || GPLv3+ || not replied, OK - we can assume GPLv3+ because of ST7626.c |
|- | |- | ||
− | | hardware/ | + | | hardware/sram/sram.h || GPLv2+ || OK - we can assume GPLv2+ because of sram.c |
|- | |- | ||
− | | hardware/storage/sd_reader/ | + | | hardware/storage/sd_reader/byteordering.* || GPLv2/LGPLv2.1 || contacted 31.10.11, replied - [http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses compatible] |
|- | |- | ||
− | | hardware/storage/sd_reader/ | + | | hardware/storage/sd_reader/fat* || GPLv2/LGPLv2.1 || contacted 31.10.11, replied - [http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses compatible] |
|- | |- | ||
− | | hardware/storage/sd_reader/ | + | | hardware/storage/sd_reader/partition* || GPLv2/LGPLv2.1 || contacted 31.10.11, replied - [http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses compatible] |
|- | |- | ||
− | | hardware/storage/sd_reader/ | + | | hardware/storage/sd_reader/sd_raw* || GPLv2/LGPLv2.1 || contacted 31.10.11, replied - [http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses compatible] |
|- | |- | ||
− | | hardware/storage/sd_reader/ | + | | hardware/storage/sd_reader/sd-reader_config.h || GPLv2/LGPLv2.1 || contacted 31.10.11, replied - [http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses compatible] |
|- | |- | ||
− | | | + | | protocols/bootp/bootphdr.h || MIT || OK |
|- | |- | ||
− | | protocols/ | + | | protocols/uip/uip-conf.h || BSD || OK - license and copyright disappeared with 7c2045a0b3e67b53a12e74a337abb124ee0c55bf |
|- | |- | ||
− | | protocols/ | + | | protocols/usb/usbconfig.h || GPLv2 or v3 || OK, see the included protocols/usb/usbdrv/License.txt |
|- | |- | ||
− | | protocols/ | + | | protocols/ustream/vs1053.c || unknown || contacted 4.11.11, replied - agreed on MIT |
|- | |- | ||
− | | protocols/ustream/vs1053.h || unknown || | + | | protocols/ustream/vs1053.h || unknown || contacted 4.11.11, replied - agreed on MIT |
|- | |- | ||
− | | services/glcdmenu/menu-interpreter/menudata-progmem.c || unknown || | + | | services/glcdmenu/menu-interpreter/menudata-progmem.c || unknown || contacted 4.11.11, generated code - no need to license |
|- | |- | ||
− | | services/glcdmenu/menu-interpreter/menu-interpreter-config.h || unknown || | + | | services/glcdmenu/menu-interpreter/menu-interpreter-config.h || unknown || contacted 4.11.11, generated code - no need to license |
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | + | to find out all the authors of a certain file, run ''contrib/license-lister file'' . e.g. ''contrib/license-lister protocols/bootp/bootphdr.h'' | |
* send an email to authors of source files with incompatible license | * send an email to authors of source files with incompatible license | ||
Line 136: | Line 114: | ||
* MIT/X is compatible with GPLv3 | * MIT/X is compatible with GPLv3 | ||
** http://en.wikipedia.org/wiki/GNU_General_Public_License#Compatibility_and_multi-licensing | ** http://en.wikipedia.org/wiki/GNU_General_Public_License#Compatibility_and_multi-licensing | ||
+ | |||
+ | * reintegrate SD Reader library from http://www.roland-riegel.de/sd-reader/ | ||
+ | ** done https://github.com/ethersex/ethersex/commit/0ba2a832b2f0e16e78cb26202b5e4fe4e266614b | ||
+ | |||
+ | * reintegrate V-USB from http://www.obdev.at/products/vusb/download.html | ||
+ | ** done https://github.com/ethersex/ethersex/commit/87c4d2b07c3939bf43779714d3b1cbcacd6848b3 |
Latest revision as of 10:46, 18 November 2013
Contents
Ethersex Relicensing Effort
Why does it matter?
Ethersex is licensed unter GPLv3, but a few parts are currently licensed as GPLv2 only or any other incompatible license. However, we still need to validate with the individual copyright holders that a relicense to GPLv2+ or GPLv2+v3 is okay with them.
Therefore, in an effort we're trying to identify the contributors that have contributed under the terms of GPLv2 and where the "+" part was not explicitly mentioned or any other incompatible license. If we know that all contributors agreed to a relicense, we can go ahead and flip the license of the individual source file.
How can I help?
By identifying a contributor who as contributed under the terms of GPLv2, and contacting him if he wasn't already contacted. Ask him the following questions:
- Are you okay with relicensing your contributions done under "GPLv2" to "GPLv2 or later"?
- Are you okay with relicensing your contributions done under "GPLv2" to "GPLv2 or GPLv3" ?
- Are you okay with relicensing your contributions done under "LGPLv2" to "LGPLv2 or later"?
- Are you okay with relicensing your contributions done under "LGPLv2" to "LGPLv2 or LGPLv3"?
- Are you okay with relicensing your contributions done under "GPLv3" to "GPLv3+"?
- Are you okay with the Ethersex maintainer deciding on a future licensing change to your code, should that be necessary?
What's next?
- checkout ethersex
- run the script contrib/license-lister
- you interpret the result. check each commit that is being complained about carefully. Try to get the copyright's holder's permission. If you get it, update the whitelist in the script.
- review the list of declared copyright holders in the file.
- if you're all clear, change the license to the most liberal license possible. Document your change verbosely in the git commit log.
Current Reply List
- Please keep the list sorted by family name!
- Please only use "YES" or "NO"
Name | GPLv2->GPLv2+ | LGPLv2 -> LGPLv2+ | GPLv2 -> GPLv2+v3 | LGPLv2 -> LGPLv2+LGPLv3 | GPLv3 -> GPLv3+ | Ethersex decides | Code | Date |
---|---|---|---|---|---|---|---|---|
Güntner, Maximilian | YES | YES | YES | YES | NO | NO | ALL | N/A |
Kunze, Erik | YES | YES | YES | YES | NO | NO | ALL | N/A |
Riegel, Roland | NO | NO | NO | NO | NO | NO | sd_reader | N/A |
Neumann, Alexander | NO | NO | NO | NO | YES | NO | onewire.* | Nov 16 18:50:10 2013 |
Current TODO List
- collect files with incompatible license.
File | License | Status |
---|---|---|
core/gui/font.c | 3-clause BSD | OK |
core/host/host.h | unknown | OK empty file - does not need a license |
core/host/util/crc16.h | no license, has to be 3-clause BSD | File is a partial copy of util/crc16.h, so we should use the 3-clause BSD for that file |
core/setbaud.h | 3-clause BSD | removed - use utils/setbaud.h from avrlibc |
hardware/ir/irmp/irmp_lib.c | GPLv2+ | OK |
hardware/lcd/s1d15g10/bunnies.h | GPLv2+ assumed | OK |
hardware/lcd/ST7626/4x6.h | GPLv3+ | not replied, OK - we can assume GPLv3+ because of ST7626.c |
hardware/lcd/ST7626/ST7626.h | GPLv3+ | not replied, OK - we can assume GPLv3+ because of ST7626.c |
hardware/sram/sram.h | GPLv2+ | OK - we can assume GPLv2+ because of sram.c |
hardware/storage/sd_reader/byteordering.* | GPLv2/LGPLv2.1 | contacted 31.10.11, replied - compatible |
hardware/storage/sd_reader/fat* | GPLv2/LGPLv2.1 | contacted 31.10.11, replied - compatible |
hardware/storage/sd_reader/partition* | GPLv2/LGPLv2.1 | contacted 31.10.11, replied - compatible |
hardware/storage/sd_reader/sd_raw* | GPLv2/LGPLv2.1 | contacted 31.10.11, replied - compatible |
hardware/storage/sd_reader/sd-reader_config.h | GPLv2/LGPLv2.1 | contacted 31.10.11, replied - compatible |
protocols/bootp/bootphdr.h | MIT | OK |
protocols/uip/uip-conf.h | BSD | OK - license and copyright disappeared with 7c2045a0b3e67b53a12e74a337abb124ee0c55bf |
protocols/usb/usbconfig.h | GPLv2 or v3 | OK, see the included protocols/usb/usbdrv/License.txt |
protocols/ustream/vs1053.c | unknown | contacted 4.11.11, replied - agreed on MIT |
protocols/ustream/vs1053.h | unknown | contacted 4.11.11, replied - agreed on MIT |
services/glcdmenu/menu-interpreter/menudata-progmem.c | unknown | contacted 4.11.11, generated code - no need to license |
services/glcdmenu/menu-interpreter/menu-interpreter-config.h | unknown | contacted 4.11.11, generated code - no need to license |
to find out all the authors of a certain file, run contrib/license-lister file . e.g. contrib/license-lister protocols/bootp/bootphdr.h
- send an email to authors of source files with incompatible license
Relicensing progress
- reintegrate avr-crypto-lib from http://www.das-labor.org/wiki/AVR-Crypto-Lib
- clarify if files under BSD license need to be relicensed
- new BSD license is GPLv3 compatible http://www.gnu.org/licenses/gpl-faq.html#OrigBSD
- Adam Dunkels' uIP Stack is licensed under the BSD http://en.wikipedia.org/wiki/UIP_(micro_IP) https://github.com/ethersex/ethersex/blob/master/protocols/uip/uip.c#L25
- MIT/X is compatible with GPLv3
- reintegrate SD Reader library from http://www.roland-riegel.de/sd-reader/