views:

80

answers:

2

Looks like if I publish code under GPL and someone wants to produce a derivative work and redistribute that derivative work they must also publish the derivative work under GPL.

I understand that it can be problematic to enforce the license:

  • enforcing the license might require significant resources from me - attorney fees, etc.
  • the derivative work might be not known well enough for me to ever notice that it exists and infridges the GPL
  • it might be problematic to ever detect the fact that some other program uses my project code.

Other than that does GPL offer absolute protection against redistributing derivative works without making them available under GPL?

+1  A: 

Essentially yes, you may also want to assign the copyright to the free software foundation - that would enable them to use their experience and resources for enforcement.

In principle, unless you expressly allow it, copyright law already prevents any kind of distribution, and using the GPL is the only thing that allows it. Hence, it is very hard to argue against any kind of limitation laid in the GPL.

Ofir
+1  A: 

It's always dangerous to demand absolute protection. If you want to be more protected against the redistribution of your works than the GPLv3 provides, you can include the recommended boilerplate at http://www.gnu.org/licenses/gpl-howto.html stating that users may use, "either version 3, or (at [that user's] option) any later version." If a crafty entity comes along later with some new way to redistribute your software in an underhanded manner, a future version of the GPL would presumably include provisions to prevent this. At that time, any user may simply demand that the redistributing entity provide the freedoms set out in GPLv4/5/6/etc. See Coding Horror on Tivoization.

However, you need to also describe what you would define as absolute protection. Let's say you license your application, "Firefox web browser," under the GPL.

  • Anyone who modifies Firefox would need to redistribute the modified source.

So far so good. However, there are more subtle ways to use Firefox that would not be covered under the GPL. None of the following require the application be GPL-licensed, and so the author need only point users at your original Firefox source.

  • An application that launches Firefox
  • An application that launches Firefox with a user-specified page
  • An application that launches Firefox with a page and takes a screenshot of your window
  • An application that launches Firefox with a page, takes a screenshot, and shows it to the user
  • An application that launches Firefox with a page, takes a screenshot, traverses the DOM tree via a script in the page (after letting Firefox clean up the markup), and shows all this to the user

As you can see, the application functionality rapidly eclipses Firefox's functionality, and yet none of that application's code need necessarily be released under the GPL.

My summary to you is this: GPLv3 is good enough. But please understand what "good enough" means. Read through the GPL yourself and look for other information on the matter. Familiarize yourself with the license you want to use. But more importantly, understand its limitations. If you want to release with GPL because your goals are aligned with those of the GPL, please do. If the GPL isn't enough for your needs, you may need to look into legal help drafting your own commercial license instead.

Wesley
In "either version 3, or (at [that user's] option) any later version." , notice the phrase "at that users option" - the infringing user can simply not exercise the option.
anon
When the GPL describes a "user", it describes the end-user of your application or the end-user of somebody's modification of your application. It is this "user" whose freedoms are protected by the GPL. **Any** end-user may use your application under the terms of the GPL v4/5/6; this is normal and expected. Similarly, **any** end-user of the derivative work (including you!) may apply the terms of the GPL v4/5/6 on the derivative work. See Section 14 of the GPL: "Revised Versions of this License"
Wesley