Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I like the GPL license but the project I'm working on is a more general purpose one that will be used inside other programs. It doesn't run independently like a CMS or application would. So I'm looking around at other projects to see what they've done.

  • JQuery has an interesting MIT/GPL license
  • Zend framework has New BSD license
  • Symfony framework has MIT license

As developers, is there an established preference that we expect from libraries. I rarely cared because I never build applications that were sold or distributed, which eliminated the possibility that I would be in conflict with the license of a library I'm using, but I want to know what others are thinking. Will you avoid using a library or a framework if it's GPL?

I'm a bit torn. I'd like to use GPL and as the only license (unlike JQuery for example) but I also worry that this will scare developers away who want to use the library to build distributable code. The other thing is I'm seeing that many libraries are frameworks are released as MIT, but I find the MIT license, well, a bit too "loose" for my taste.

share|improve this question
If you do decide to go with a copyleft licence, the strongest is the GNU AGPL. –  TRiG Nov 10 '10 at 0:56

3 Answers 3

Will you avoid using a library or a framework if it's GPL?

Yes. Using a GPL'd library would essentially require me to publish the source of my software that uses the library, or even GPL it (altough this is somewhat unclear - but better not take legal risks).

Publishing sources (let alone GPL'ing a software product) is typically impossible with commercial software (depending on corporate policies). And even if I could publish the source, I dislike the idea that some 3rd party library's license defines how I should license my software.

Consider using LGPL, or even better, another licence widely used in libraries the Apache License.

Regardless of the details - all GPL licenses are quite incomprehensible and subject to continuous re-interpretation by lawyers and by the FSF - it's clear that the spirit of GPL is to make all software free via viral licenses. In practice they're better to avoid, unless, of course, you agree with their goals and understand them.

share|improve this answer
I don't agree with this. If you want to use a GPL project in a commercial application or closed source application, all you have to do as I said in the other comment is agree with the library creator on a reasonable sum to waive the license for you. This is how GPL libraries can force money making companies to pay their dues. If these commercial companies don't even want to do that, they're scumbags out to eat other people's lunch. –  jblue Sep 28 '10 at 22:32
The GPL library creator may be willing to agree on a reasonable sum, yes. But what if it's a collaboratively created library - who should negotiate with, and who gets the money? How about recipes and taxation? If there's an easy "Buy" option, then it's equivalent to a commercial library, but in general that's not what GPL is for. There is a reason that virtually all major libraries use licenses other than the GPL. –  Joonas Pulakka Sep 29 '10 at 5:52

I had to post this answer because others are trying to scare you away from the GPL. Your fears are legitimate but you have to also think how your audience is going to think in different situations and prepare a plan accordingly.

If you choose the MIT license, commercial companies will use your library in their commercial project and make money off of your hard work without needing to pay you anything and without releasing their full source code or their modifications and improvements to your code. You get nothing. If you're fine with that, by all means go for it.

What others are not mentioning is that commercial companies can use your GPL project on their own terms, as long as they agree to pay you a fee. If they pay a fee, you waive the GPL requirement for them and your code becomes just like any other proprietary software or other product they need to expense, with the benefit of seeing and using the source before committing to it.

If they're willing to pay $200 for a desk and $2000 for a fancy couch in the lobby and $200 for pizza party for their clients, why can't they pay X$ for a software that took you (a software engineer, not a baker or carpenter) weeks or months to architect and write and debug (and will take you even more time to maintain). Software engineering is not an easy job you know, you're not baking bread or shaping wood, you're constantly thinking and squeezing your brain cells to write efficient code you know. If they're not convinced, they can just write their own code and see how much time and money it costs them.

I say use GPL license and explain you're willing to waive it for commercial companies in exchange for a fee.

share|improve this answer
Thanks for pointing out the flip side of the MIT licence. Yes, if you want to attach conditions to what you give away, then yes, GPL might well be what you want. –  Frank Shearar Sep 29 '10 at 4:55
Surprisingly enough, Richard Stallman approves of the practise of selling exceptions to the GPL. fsf.org/blogs/rms/selling-exceptions –  TRiG Nov 10 '10 at 0:40
jblu makes the case against GPL. If people have to pay to use it, they are obviously less likely to use it in the first place. Usage is oxygen for frameworks. –  pbreitenbach Dec 11 '10 at 2:16

GPL (and even LGPL) has major repercussions in image-based systems like, for instance, Squeak (*):

LGPL code is completely unacceptable for inclusion in the main Squeak distribution, and doubly so if it is code that the FSF holds the copyright to. RMS was unwilling to elaborate on the interpretation of the LGPL for image-based systems such as Squeak. In his view, including a single LGPL class makes the entire image into a "derived work" that can only be redistributed subject to the restrictions of the LGPL.

So this might (IANAL!) impact on other image-based systems like Common Lisp.

share|improve this answer
Not sure I agree with this. It looks like they are looking for a free lunch. If they want to use GPL libraries, they only have to pay the creator a reasonable sum to waive the GPL requirement for them. I understand this is not possible with "code that the FSF holds the copyright to" because the FSF is using GPL in pure idealistic ways, but other developers see the GPL as a way to protect their economic benefits if the code is used in a commercial project. If these guys don't want to pay to waive the license, they're looking for a free lunch to get fat. –  jblue Sep 28 '10 at 22:27
I'm not trying to scare anyone away from anything. Yes, I prefer MIT, because I am happy for you to make money with things I give away for free. However, if you do choose GPL, you should know the knock-on effects of the licence. It doesn't play nice with other open source licences, and it has surprising properties for image-based systems, as described above. –  Frank Shearar Sep 29 '10 at 4:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.