Difference between revisions of "Licensing"

From Ethersex_Wiki
Jump to: navigation, search
(How can I help?)
 
(31 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 licesne. However, we still need to validate with the individual copyright holders that a relicense to GPLv2+ or GPLv2+v3 is okay with them.  
+
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 or BSD, and contacting him if he wasn't already contacted. Ask him the following questions:  
+
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 !! BSD -> GPLv3 || Ethersex decides
+
! 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
 
|-
 
|-
|Güntner, Maximilian || YES || YES || YES || YES || YES || NO
+
|Kunze, Erik || YES || YES || YES || YES || NO || NO || ALL || N/A
 
|-
 
|-
|Kunze, Erik || YES || YES || YES || YES || YES || NO
+
|Riegel, Roland || NO || NO || NO || NO || NO || NO || sd_reader || N/A
 
|-
 
|-
|Riegel, Roland || N/A || N/A || N/A || N/A || N/A || N/A
+
|Neumann, Alexander || NO || NO || NO || NO || YES || NO || onewire.* || Nov 16 18:50:10 2013
 
|-
 
|-
 
|}
 
|}
Line 52: Line 56:
 
! File !! License !! Status
 
! File !! License !! Status
 
|-
 
|-
| core/gui/font.c || unknown ||
+
| core/gui/font.c || 3-clause BSD || OK
|-
 
| core/host/avr/interrupt.h || unknown ||
 
 
|-
 
|-
| core/host/avr/io.h || unknown ||
+
| core/host/host.h || unknown || OK empty file - does not need a license
 
|-
 
|-
| core/host/avr/pgmspace.h || unknown ||
+
| 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/host/avr/wdt.h || unknown ||
+
| core/setbaud.h || 3-clause BSD || removed - use utils/setbaud.h from avrlibc
|-
 
| core/host/host.h || unknown ||
 
|-
 
| core/host/util/crc16.h || unknown ||
 
|-
 
| core/setbaud.h || unknown ||
 
 
|-
 
|-
 
| hardware/ir/irmp/irmp_lib.c || GPLv2+ || OK
 
| hardware/ir/irmp/irmp_lib.c || GPLv2+ || OK
 
|-
 
|-
| hardware/lcd/s1d15g10/bunnies.h || unknown ||
+
| hardware/lcd/s1d15g10/bunnies.h || GPLv2+ assumed || OK
 
|-
 
|-
| hardware/lcd/ST7626/4x6.h || unknown ||
+
| hardware/lcd/ST7626/4x6.h || GPLv3+ || not replied, OK - we can assume GPLv3+ because of ST7626.c
 
|-
 
|-
| hardware/lcd/ST7626/ST7626.h || unknown ||
+
| hardware/lcd/ST7626/ST7626.h || GPLv3+ || not replied, OK - we can assume GPLv3+ because of ST7626.c
 
|-
 
|-
| hardware/sram/sram.h || unknown ||
+
| hardware/sram/sram.h || GPLv2+ || OK - we can assume GPLv2+ because of sram.c
 
|-
 
|-
| hardware/storage/sd_reader/byteordering.c || GPLv2/LGPLv2.1 ||
+
| 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/byteordering.h || GPLv2/LGPLv2.1 ||
+
| 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/fat.c || GPLv2/LGPLv2.1 ||
+
| 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/fat_config.h || GPLv2/LGPLv2.1 ||
+
| 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/fat.h || GPLv2/LGPLv2.1 ||
+
| 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]
 
|-
 
|-
| hardware/storage/sd_reader/partition.c || GPLv2/LGPLv2.1 ||
+
| protocols/bootp/bootphdr.h || MIT || OK
 
|-
 
|-
| hardware/storage/sd_reader/partition_config.h || GPLv2/LGPLv2.1 ||
+
| protocols/uip/uip-conf.h || BSD || OK - license and copyright disappeared with 7c2045a0b3e67b53a12e74a337abb124ee0c55bf
 
|-
 
|-
| hardware/storage/sd_reader/partition.h || GPLv2/LGPLv2.1 ||
+
| protocols/usb/usbconfig.h || GPLv2 or v3 || OK, see the included protocols/usb/usbdrv/License.txt
 
|-
 
|-
| hardware/storage/sd_reader/sd_raw.c || GPLv2/LGPLv2.1 ||
+
| protocols/ustream/vs1053.c || unknown || contacted 4.11.11, replied - agreed on MIT
 
|-
 
|-
| hardware/storage/sd_reader/sd_raw_config.h || GPLv2/LGPLv2.1 ||
+
| protocols/ustream/vs1053.h || unknown || contacted 4.11.11, replied - agreed on MIT
 
|-
 
|-
| hardware/storage/sd_reader/sd_raw.h || GPLv2/LGPLv2.1 ||
+
| services/glcdmenu/menu-interpreter/menudata-progmem.c || unknown || contacted 4.11.11, generated code - no need to license
 
|-
 
|-
| hardware/storage/sd_reader/sd-reader_config.h || GPLv2/LGPLv2.1 ||
+
| services/glcdmenu/menu-interpreter/menu-interpreter-config.h || unknown || contacted 4.11.11, generated code - no need to license
|-
 
| protocols/bootp/bootphdr.h || unknown ||
 
|-
 
| protocols/uip/uip-conf.h || unknown ||
 
|-
 
| protocols/usb/usbconfig.h || GPLv2 ||
 
|-
 
| protocols/ustream/vs1053.h || unknown ||
 
|-
 
| services/glcdmenu/menu-interpreter/menudata-progmem.c || unknown ||
 
|-
 
| services/glcdmenu/menu-interpreter/menu-interpreter-config.h || unknown ||
 
 
|-
 
|-
 
|}
 
|}
Line 132: Line 116:
  
 
* reintegrate  SD Reader library from http://www.roland-riegel.de/sd-reader/
 
* reintegrate  SD Reader library from http://www.roland-riegel.de/sd-reader/
** done
+
** 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

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?

  1. checkout ethersex
  2. run the script contrib/license-lister
  3. 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.
  4. review the list of declared copyright holders in the file.
  5. 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