Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing license and copyright info from libraries and other files #1117

Open
maqifrnswa opened this issue Nov 15, 2012 · 7 comments
Open

Missing license and copyright info from libraries and other files #1117

maqifrnswa opened this issue Nov 15, 2012 · 7 comments
Labels
Component: Bootloader The bootloader is the program used to load the uploaded program into the microcontroller's memory Component: Core Related to the code for the standard Arduino API Component: Documentation Related to Arduino's documentation content Component: Firmware Limited to the contents of the firmwares folder in the core packages Component: IDE The Arduino IDE Library: Ethernet The Ethernet Arduino library Library: LiquidCrystal The LiquidCrystal Arduino library Type: Bug

Comments

@maqifrnswa
Copy link
Contributor

maqifrnswa commented Nov 15, 2012

Many files have missing license and copyright info, which makes redistribution (and inclusion in commercial projects) problematic. I can do a pull for the assumed LGPL and GPL ones, but I don't know who the copyright holders are.

The most important ones to address are the libraries, since they are the most likely to be included in other projects and need clear distribution license/copyrights.

Libraries (assume LGPL, but no header or copyright info):

Wifi:
./libraries/WiFi/WiFi.cpp
./libraries/WiFi/WiFi.h
./libraries/WiFi/WiFiClient.cpp
./libraries/WiFi/WiFiClient.h
./libraries/WiFi/WiFiServer.cpp
./libraries/WiFi/WiFiServer.h
./libraries/WiFi/utility/debug.h
./libraries/WiFi/utility/server_drv.cpp
./libraries/WiFi/utility/server_drv.h
./libraries/WiFi/utility/socket.c
./libraries/WiFi/utility/socket.h
./libraries/WiFi/utility/spi_drv.cpp
./libraries/WiFi/utility/spi_drv.h
./libraries/WiFi/utility/wifi_drv.cpp
./libraries/WiFi/utility/wifi_drv.h
./libraries/WiFi/utility/wifi_spi.h
./libraries/WiFi/utility/wl_definitions.h
./libraries/WiFi/utility/wl_types.h

Stepper:
./libraries/Stepper/Stepper.cpp
./libraries/Stepper/Stepper.h

LiquidCrystal:
./libraries/LiquidCrystal/LiquidCrystal.cpp
./libraries/LiquidCrystal/LiquidCrystal.h

Firmata:
./libraries/Firmata/Boards.h (it is maintened by the owner now)

Ethernet:
./libraries/Ethernet/Dhcp.cpp
./libraries/Ethernet/Dhcp.h
./libraries/Ethernet/Ethernet.cpp
./libraries/Ethernet/Ethernet.h
./libraries/Ethernet/EthernetClient.cpp
./libraries/Ethernet/EthernetClient.h
./libraries/Ethernet/EthernetServer.cpp
./libraries/Ethernet/EthernetServer.h
./libraries/Ethernet/util.h
./libraries/Ethernet/utility/socket.cpp
./libraries/Ethernet/utility/socket.h

Firmwares (Wifi shield is unclear):
./hardware/arduino/firmwares/wifishield/scripts/ArduinoWifiShield_upgrade.sh
./hardware/arduino/firmwares/wifishield/scripts/ArduinoWifiShield_upgrade_mac.sh
./hardware/arduino/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/wl_os.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/dhcp.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-1.3.2/src/include/lwip/memp_std.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/arch/perf.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/include/netif/wlif.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/SERVICES/LWIP/lwip-port-1.3.2/HD/if/netif/wlif.c
./hardware/arduino/firmwares/wifishield/wifiHD/src/ard_spi.c
./hardware/arduino/firmwares/wifishield/wifiHD/src/ard_spi.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/ard_tcp.c
./hardware/arduino/firmwares/wifishield/wifiHD/src/ard_tcp.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/ard_utils.c
./hardware/arduino/firmwares/wifishield/wifiHD/src/ard_utils.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/debug.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/lwip_setup.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/main.c
./hardware/arduino/firmwares/wifishield/wifiHD/src/nvram.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/owl_os.c
./hardware/arduino/firmwares/wifishield/wifiHD/src/wifi_spi.h
./hardware/arduino/firmwares/wifishield/wifiHD/src/wl_definitions.h

Cores (assume GPL?):
./hardware/arduino/cores/arduino/Arduino.h
./hardware/arduino/cores/arduino/Client.h
./hardware/arduino/cores/arduino/IPAddress.cpp
./hardware/arduino/cores/arduino/Platform.h
./hardware/arduino/cores/arduino/Server.h
./hardware/arduino/cores/arduino/USBAPI.h
./hardware/arduino/cores/arduino/binary.h
./hardware/arduino/cores/arduino/main.cpp
./hardware/arduino/cores/arduino/new.cpp
./hardware/arduino/cores/arduino/new.h

Bootloaders (optiboot is GPL v2 according to http://code.google.com/p/optiboot/ but I can't find copyright info or license info attributing that in Arduino):
./hardware/arduino/bootloaders/optiboot/optiboot.c
./hardware/arduino/bootloaders/optiboot/pin_defs.h
./hardware/arduino/bootloaders/optiboot/stk500.h
./hardware/arduino/bootloaders/stk500v2/avrinterruptnames.h
./hardware/arduino/bootloaders/stk500v2/command.h

Misc. core files (I assume GPL?):
./core/make.sh
./core/methods/src/PAppletMethods.java
./core/preproc.pl
./core/preproc/src/processing/build/PAppletMethods.java
./core/src/processing/core/PShapeSVG.java

(EDIT by cmaglie: launch4j has been removed from repository, it's now downloaded at build time)
Windows launcher4j:
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/BasicForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/ClassPathForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/ConfigForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/HeaderForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/JreForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/MessagesForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/SplashForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/form/VersionInfoForm.java
./build/windows/launcher/launch4j/src/net/sf/launch4j/formimpl/GlassPane.java

Examples (pretty minor since they might not be considered copyrightable, but should keep track of it):
./build/shared/examples/02.Digital/toneKeyboard/pitches.h
./build/shared/examples/02.Digital/toneMelody/pitches.h
./build/shared/examples/02.Digital/toneMultiple/pitches.h

Processing files:
./app/src/processing/app/I18n.java
./app/src/processing/app/Resources.java
./app/src/processing/app/WebServer.java
./app/src/processing/app/i18n_update.py
./app/src/processing/app/i18n_update.sh
./app/src/processing/app/syntax/im/CompositionTextManager.java
./app/src/processing/app/syntax/im/CompositionTextPainter.java
./app/src/processing/app/syntax/im/InputMethodSupport.java
./app/src/processing/app/windows/Advapi32.java
./app/src/processing/app/windows/Options.java
./app/src/processing/app/windows/Registry.java
./app/src/processing/app/windows/WINBASE.java
./app/src/processing/app/windows/WINERROR.java
./app/src/processing/app/windows/WINNT.java
./app/src/processing/app/windows/WINREG.java

Misc utilities:
./build/cmd/dist.sh
./build/create_reference.pl
./build/fetch.sh
./build/javadoc/make.sh
./build/javadoc/upload.sh
./build/shared/tools/Mangler/make.sh

@cmaglie
Copy link
Member

cmaglie commented Feb 13, 2014

See also #1847 for some follow ups.
I'll strike-through the completed files by editing the original issue.

C

@ffissore ffissore added the New label Feb 27, 2014
@cmaglie cmaglie removed the New label Feb 27, 2014
@cmaglie cmaglie added this to the Release 1.5.9 milestone Sep 12, 2014
@cmaglie cmaglie modified the milestones: Release 1.6.0, Release 1.6.1 Feb 18, 2015
@ffissore ffissore modified the milestones: Release 1.6.1, Release 1.6.5 May 20, 2015
@ffissore ffissore modified the milestones: Release 1.6.5, Release 1.6.6 Jun 15, 2015
@ffissore ffissore self-assigned this Jul 1, 2015
@ffissore ffissore modified the milestones: Release 1.6.6, 1.6.7 Nov 4, 2015
@ffissore ffissore modified the milestone: Release 1.6.7 Dec 14, 2015
@NicoHood
Copy link
Contributor

NicoHood commented Oct 8, 2016

I just found this in one of the fedora or opensuse rpms:

# The "extra" wifi components are licensed non-free and do not fall under the
# "firmware" execption.
rm -rf hardware/arduino/avr/firmwares/wifishield
rm -rf libraries/WiFi/extras
# As mentioned earlier, binary forms are removed here.
find -type d \( -name macosx -o -name windows \) -print0 | xargs -0 rm -rf
find -name '*.tgz' -delete
find -name '*.tar.gz' -delete
find -name '*.elf' -delete
find -name '*.class' -delete
find -name '*.jar' -delete
find -name '*.so' -delete
find -name '*.hex' -delete

This refers to those files:
https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/firmwares/wifishield
https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin

The firmware updater seems to be GPL, but which license does the wifishielf firmware has? Or do you have any idea why they got removed in their rpm?

@per1234
Copy link
Collaborator

per1234 commented Jul 2, 2017

Bootloaders (optiboot is GPL v2 according to http://code.google.com/p/optiboot/ but I can't find copyright info or license info attributing that in Arduino):
./hardware/arduino/bootloaders/optiboot/optiboot.c

Isn't it here?:
https://github.com/arduino/Arduino/blob/1.8.3/hardware/arduino/avr/bootloaders/optiboot/optiboot.c#L59-L77

@giallu
Copy link

giallu commented Jul 20, 2017

I am the current Fedora RPM maintainer and I am also wondering why the .hex files were removed in our package. Apparently, that was made in response to this opened issue:
https://bugzilla.redhat.com/show_bug.cgi?id=949158

However, I can see the corresponding sources for the hex files are included and with a free license so I will revert the change for now.

@cmaglie
Copy link
Member

cmaglie commented Jul 20, 2017

@giallu you should ask the Fedora RPM maintainers to do so, since it's their decision to remove the .hex files. As Arduino we are not involved in any way with the package maintenance.

@cmaglie
Copy link
Member

cmaglie commented Jul 20, 2017

sorry just re-read your message again... :-)

However, I can see the corresponding sources for the hex files are included and with a free license so I will revert the change for now.

I think it's the right choice, some of those .hex are needed for the "Burn Bootloader" command to work.

@per1234
Copy link
Collaborator

per1234 commented May 23, 2020

LiquidCrystal:
./libraries/LiquidCrystal/LiquidCrystal.cpp
./libraries/LiquidCrystal/LiquidCrystal.h

There is now a license defined in the library's readme:
https://github.com/arduino-libraries/LiquidCrystal/blob/master/README.adoc

Ethernet:
./libraries/Ethernet/Dhcp.cpp
./libraries/Ethernet/Dhcp.h

There is now a license defined in the library's readme:
https://github.com/arduino-libraries/Ethernet/blob/master/README.adoc

Is that sufficient?

@per1234 per1234 added Component: Bootloader The bootloader is the program used to load the uploaded program into the microcontroller's memory Component: Core Related to the code for the standard Arduino API Component: Firmware Limited to the contents of the firmwares folder in the core packages Component: IDE The Arduino IDE Library: Ethernet The Ethernet Arduino library Library: LiquidCrystal The LiquidCrystal Arduino library labels Oct 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Bootloader The bootloader is the program used to load the uploaded program into the microcontroller's memory Component: Core Related to the code for the standard Arduino API Component: Documentation Related to Arduino's documentation content Component: Firmware Limited to the contents of the firmwares folder in the core packages Component: IDE The Arduino IDE Library: Ethernet The Ethernet Arduino library Library: LiquidCrystal The LiquidCrystal Arduino library Type: Bug
Projects
None yet
Development

No branches or pull requests

6 participants