Sunday, January 10, 2010

Goodbye GPL

In the past I've released the source code that mostly comes along with my blog posts under the GPLv3 license to ensure that changes on the code always stay open and never get closed. But the GPL has a major drawback, it's too viral, which means if someone uses GPL licensed code the new code has to be released under the GPL too. And if someone uses this new code, the new code 2 has to be put under the GPL again and so on. And as the FSF states this even applies when the code is just linked dynamically with a GPL'ed library only except if it uses the GPL linking exception. That's why I wanted to move away from the GPL and searched for some alternatives. Finally I decided to use the Ms-PL license from now on if my work doesn't depend on GPL infected code. I've chosen the Ms-PL because it's approved by the OSI, it's short and easy understandable, the weak copyleft guarantees that changes on the original code have to be committed back and that it stays open and it could be used for commercial products. Jon Galloway (@jongalloway) summarized it nicely in his Twitter reply to me: "Ms-PL is essentially BSD + patent protection." So the Ms-PL is suitable, short, simple and keeps the trolls away.

I have changed all the source code headers and License.txt files and updated the Zip files with the source code you find linked on most blog posts. If you still find a GPL reference, just ignore it and if the Ms-PL is a problem for you, just contact me and I might put the relevant code under a second license.

10 comments:

  1. Unless I'm mistaken, like BSD the Ms-PL has "no" copyleft, not "weak" copyleft. Maybe the CDDL is closer?

    ReplyDelete
  2. Hi Art

    Ms-PL is a weak copyleft licsense.

    The definition of weak copyleft from
    http://en.wikipedia.org/wiki/Copyleft#Strong_and_weak_copyleft

    "Weak copyleft licenses are generally used for the creation of software libraries, to allow other software to link to the library, and then be redistributed without the legal requirement for the work to be distributed under the library's copyleft license. Only changes to the weak copylefted software itself become subject to the copyleft provisions of such a license, not changes to the software that links to it. This allows programs of any license to be compiled and linked against copylefted libraries such as glibc (the GNU project's implementation of the C standard library), and then redistributed without any re-licensing required."


    And the relevant part of Ms-PL: 3. (D) from
    http://opensource.org/licenses/ms-pl.html

    "If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license."

    ReplyDelete
  3. The GPL is a virus with Stallman's ideology all over it.

    ReplyDelete
  4. OK, to quote again from the definition link http://en.wikipedia.org/wiki/Copyleft#Strong_and_weak_copyleft , but from after the paragraphs you found: "The most well known free software license that uses strong copyleft is the GNU General Public License. Free software licenses that use "weak" copyleft include the GNU Lesser General Public License and the Mozilla Public License. Examples of non-copyleft free software licenses include the X11 license, Apache license and the BSD licenses."

    If the Ms-PL is "BSD + patent protection", then according to this link it's an example "of non-copyleft free software licenses". The code recipient must keep the same license on the code, but the recipient isn't obligated to publish the source, including the source of distributed compiled modifications. For instance, he or she is licensed to take the code, enhance it, and sell it as a closed-source proprietary product.

    ReplyDelete
  5. Have you considered to use the Apache License? Many commercial open source projects use this license. Also it's Google's standard for all their OSS products.

    Btw the connotation of "Goodbye GPL" ist German only :D

    ReplyDelete
  6. @Art:
    Ms-PL: 3. (D) from
    http://opensource.org/licenses/ms-pl.html

    "If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license."

    -> If you change it, you got to distribute it under the Ms-PL. If you only use it for your product (link dynamically for example) you can choose a different, but compatible license.

    ReplyDelete
  7. @Alexander:
    Yep, I checked the Apache license, but as I wrote in the post I've chosen Ms-PL for some reasons. And sorry, but that Google uses it for all their OSS products is not an argument for me.

    ReplyDelete
  8. the free software foundation refers to MS-PL as a weak copyleft license, although personally i don't quite understand how clause 3(D) requires people to share the source of any changes they make to a library if they distribute their entire work in compiled form only. perhaps i am just not reading it correctly.

    ReplyDelete
  9. GPL is a kind of dream for me. I have tried to get it for a long time, however I couldn't. I don't know what to do to achieve this aim I have since around 3 years.

    ReplyDelete