qmk / qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families
https://qmk.fm
GNU General Public License v2.0
17.47k stars 37.7k forks source link

Potential GPL violation in atsam port and massdrop keyboards #9327

Open xyzz opened 4 years ago

xyzz commented 4 years ago

Hello,

I've noticed that several files in atsam port include the following disclaimer:

* 4. This software may only be redistributed and used in connection with an
*    Atmel microcontroller product.

Specifically, the list of files that include this is:

I believe this clause is incompatible with the GPL license QMK is under. GPL states:

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

Therefore, I suggest that the atsam port and massdrop keyboards are removed from QMK.

skullydazed commented 4 years ago

We have reached out to the code contributor and are otherwise looking into this situation to figure out what needs to be done.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had activity in the last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity occurs. For maintainers: Please label with bug, in progress, on hold, discussion or to do to prevent the issue from being re-flagged.

mewa commented 3 years ago

@xyzz @skullydazed @jackhumbert I think these libraries are valid to include under the "system library" exception.

The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.