'. '

WhyGPL

From APIDesign

(Difference between revisions)
Jump to: navigation, search
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]] now when we desperately need to show it is useful and used; its license is not viral and thus many usages 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 build upon the library and backport them back to the base).
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]] now when we desperately need to show it is useful and used; its license is not viral and thus many usages 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 build upon the library and backport them back to the base).
Line 5: Line 5:
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]]. In this case the author of looses some of the benefits discussed in the previous paragraph (visibility, easy backporting), but instead it gets a donation. And donations later help the library to more rapidly improve.
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]]. In this case the author of looses some of the benefits discussed in the previous paragraph (visibility, easy backporting), but instead it gets a donation. And donations later help the library to more rapidly improve.
-
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 produce 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. More details is certainly available at [[wikipedia::GNU_General_Public_License|wikipedia]].
+
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 produce 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.

Revision as of 11:54, 7 October 2009

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 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 now when we desperately need to show it is useful and used; its license is not viral and thus many usages 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 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. In this case the author of looses some of the benefits discussed in the previous paragraph (visibility, easy backporting), but instead it gets a donation. And donations later help the library to more rapidly improve.

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 produce 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.

Personal tools
buy