GPL compatibility?

Issue #34 wontfix
Former user created an issue

To start with: choice of software license is purely your decision, and I am not challenging that. However, I would like to point out that CC-BY-SA is explicitly incompatible with the GPL, and therefore with all GPLv3-licensed Arduino libraries (see As a practical matter, it means that no-one can distribute compiled sketches (e.g. flashed onto embedded Arduino devices) which use both this library and any GPLed library. It is probably worth documenting this fact, ,assuming you want to keep the CC-BY-SA license. Dual-licensing this library with a GPL-compatible license would be a solution, but would lose the attribution requirement which may be important to you.

Comments (5)

  1. Bill Perry

    Are you really wanting it to be compatible with LGPL so users can avoid having to make their source available? Becuse using only a GPL v3 library by itself would require that the source of the sketch that uses it be distributed.

    I know that GNU explicitly states that Creatitive Commons is incompatible with GPL v3 but isn't that really just limited to the ability to have full freedom to combine them into a single work "freely". "As is" can't both be used to create an image (say a compiled sketch) that can be shipped as long as the full source to everything is supplied and the source from a CC module is never combined with source from a GPL v3 module?

  2. Benjamin Stuhl

    For myself, I'm interested in using the library in an alternative firmware for the osPID. However, if people like the firmware I'd like it to be possible for someone to distribute units with the image already flashed onto it. (Provided, of course, that they make the code available as required by the GPLv3.)

    The reason that the FSF says that CC-BY is incompatible with the GPL is that the GPL (both v2 and v3) say that any work covered by that license cannot have any additional restrictions on its reproduction or distribution. However, the attribution clause of the CC-BY is an additional restriction: it says any copy of the work must include attribution.

    For source code, this is not an issue: having some files be GPL and some files be CC-BY is fine, since each file is only under one license. The compiled binary, however, is a derived work of both files, and therefore needs to satisfy both licenses simultaneously. Which cannot be done, since the GPL and CC-BY licenses have mutually contradictory requirements. Therefore, it is a violation of the GPL to distribute binaries which contain code covered by the CC-BY. That is what is meant by "incompatible": the only legal distribution form is source code.

    IANAL, but that is how I have seen actual lawyers describe the issue.

  3. Francisco Malpartida repo owner

    I have to agree with Bill here and I don´t see any problem with the CC license. The way I see things is that any open source license that doesn´t allow you to mix other artifacts with a different open source license is not very open.

    Any source code or binary you distribute can be released under the terms and conditions you want. If you are using any type of OS license mix you would just have to state something like:

    This (project, product, firmware, ....) is distributed under the terms and conditions of the GPLv3 license. The (project, product, firmware, ...) uses the "LCD library" an open source code licensed under the terms of the CC BY-SA which can be found <project URL>.

    If you allow for people to download your code, you would have to put the link to the library or include the files you need for them with your distribution. Either way the headers or URL are already there and you wouldn´t infringe the terms of this library (CC BY-SA). This would spare the previous notice.

    This is a regular industry practice including a wide range of commercial top brand products. Take a read through any Apple user manual with its endless list of third party open source components.

    If you only ship products with pre-installed firmware on them you would have to add the remarks on the user manual, printed or digital, accompanying your copyright.

  4. Benjamin Stuhl

    It is, of course, your choice. And this will be my final comment.

    I will, however, close by citing the Creative Commons FAQ (

    "Can I apply a Creative Commons license to software?

    We do not recommend it. Creative Commons licenses should not be used for software. We strongly encourage you to use one of the very good software licenses which are already available. We recommend considering licenses made available by the Free Software Foundation or listed at the Open Source Initiative. Unlike our licenses, which do not make mention of source or object code, these existing licenses were designed specifically for use with software. Furthermore, our licenses are not compatible with the GPL, the most frequently used free software license.

    Note that the CC0 Public Domain Dedication is GPL-compatible and acceptable for software. For details, see the relevant CC0 FAQ entry. "

  5. Log in to comment