WhyGPL

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Current revision (08:08, 17 May 2013) (edit) (undo)
 
(15 intermediate revisions not shown.)
Line 1: Line 1:
-
[[GPL]] (the General Public License) is ''viral'' - software based on any [[GPL]] library needs to be licensed as [[GPL]] as well. This is good from the global perspective of open source projects. The more [[GPL]] open source libraries there is, the more [[GPL]] applications there will be.
+
[[GPL]] (the [[wikipedia::GNU_General_Public_License|General Public License]]) is ''viral'' - software based on any [[GPL]] library needs to be licensed as [[GPL]] as well. This is good from the global perspective of open source projects. The more [[GPL]] open source libraries there is, the more [[GPL]] applications there will be.
-
The ''virality'' is also good from the point of view of the library vendor. Every application based on such library needs to be available publicly. This is good for promotion of the library itself (you would not believe how hard it is to find all users of [[NetBeans Platform]]; its license is not viral and thus many applications remain unknown) as it gains more visibility, it makes the developer prouder (obviously I rather use software based on my library than other), and also it increases the possible contributions back to the library (as one can easily take useful pieces of code and backport them back to the base library).
+
The ''virality'' is also good from the point of view of the library vendor. Every public application based on such library needs to make it sources available publicly. This is good for promotion of the library itself (you would not believe how hard it is to find all users of [[NetBeans Platform]] now when we desperately need to show it is useful and used; its licenses -- [[GPLwithClassPathException]] and [[CDDL]] -- are not viral and thus many usages remain unknown) as it gains more visibility. Publicity makes the developer prouder (obviously I rather use software based on my library than other), and also it increases the possible contributions back to the library (as one can easily take useful pieces of code build upon the library and backport them back to the base).
-
However not every user the library wants to release own code under [[GPL]]. It may seem that in this case the ''virality'' of [[GPL]] becomes an unsolvable problem. Surprisingly, the opposite is true. If the author of the library is open to such solution (like me in case of my [[Netbinox]] project), it can offer an alternative licensing mechanism. The users can then ''buy right'' to remove the ''virality'' - e.g. to incorporate the library into own application without releasing own code as [[GPL]].
+
However not every user of the library wants to release own code under [[GPL]]. It may seem that in this case the ''virality'' of [[GPL]] becomes an unsolvable problem. Surprisingly, the opposite is true. If the author of the library is open to such solution (like me in case of my [[Netbinox]] project), it can offer an alternative licensing mechanism. The users can then ''buy right'' to remove the ''virality'' - e.g. to incorporate the library into own application without releasing own code as [[GPL]]. In this case the library author looses some of the benefits discussed in the previous paragraph (visibility, more code with easy backporting), but instead it gets a donation. And donations later help the library to improve more rapidly.
-
Thus licensing libraries under [[GPL]] (with the option to remove ''virality'') seems beneficial for all involved parties. The other details are available at [[wikipedia::GNU_General_Public_License]].
+
Thus licensing libraries under [[GPL]] (with the option to remove ''virality'') seems beneficial for all involved parties. Moreover it is also a clean way to manage ''sponsoring'' of an open source project. Instead of emotional attempt to ask for donation: ''"Do you care about our library? Support us, please!"'' where the library user needs to do decision about somebody else (about the library maintainer), we have more clearer situation where the library user needs to decide about ownself. The interaction goes like: ''"Do you want to produce [[GPL]] code? OK. No? Then donate!"''. The library user then makes decision about own business and that is more direct question. As such it cannot be left unanswered (in contrast to ''"do you want to make a donation?"'' where the simplest thing is to pretend the question has not been noticed) and yields actual results.
 +
 
 +
Thus [[Netbinox|donate to Netbinox]] (if you don't mind [[Netbinox|its]] license has meanwhile been changed to non-viral ones)!

Current revision

GPL (the General Public License) is viral - software based on any GPL library needs to be licensed as GPL as well. This is good from the global perspective of open source projects. The more GPL open source libraries there is, the more GPL applications there will be.

The virality is also good from the point of view of the library vendor. Every public application based on such library needs to make it sources available publicly. This is good for promotion of the library itself (you would not believe how hard it is to find all users of NetBeans Platform now when we desperately need to show it is useful and used; its licenses -- GPLwithClassPathException and CDDL -- are not viral and thus many usages remain unknown) as it gains more visibility. Publicity makes the developer prouder (obviously I rather use software based on my library than other), and also it increases the possible contributions back to the library (as one can easily take useful pieces of code build upon the library and backport them back to the base).

However not every user of the library wants to release own code under GPL. It may seem that in this case the virality of GPL becomes an unsolvable problem. Surprisingly, the opposite is true. If the author of the library is open to such solution (like me in case of my Netbinox project), it can offer an alternative licensing mechanism. The users can then buy right to remove the virality - e.g. to incorporate the library into own application without releasing own code as GPL. In this case the library author looses some of the benefits discussed in the previous paragraph (visibility, more code with easy backporting), but instead it gets a donation. And donations later help the library to improve more rapidly.

Thus licensing libraries under GPL (with the option to remove virality) seems beneficial for all involved parties. Moreover it is also a clean way to manage sponsoring of an open source project. Instead of emotional attempt to ask for donation: "Do you care about our library? Support us, please!" where the library user needs to do decision about somebody else (about the library maintainer), we have more clearer situation where the library user needs to decide about ownself. The interaction goes like: "Do you want to produce GPL code? OK. No? Then donate!". The library user then makes decision about own business and that is more direct question. As such it cannot be left unanswered (in contrast to "do you want to make a donation?" where the simplest thing is to pretend the question has not been noticed) and yields actual results.

Thus donate to Netbinox (if you don't mind its license has meanwhile been changed to non-viral ones)!

Personal tools
buy