Hacker News new | ask | show | jobs
by cbdfghh 3477 days ago
Personally, I find people complaining about the GPL's lack of freedom a bit hypocritical.

What does the GPL prevent you from doing?

As a user, nothing. As far as I (a user) is concerned, Mozilla's MPL/GPL, bash's GPL3 and VSCode MIT licenses are all equally free (I can use them and distribute them).

So what problem do programmers have with GPL?

You can't make a derivative closed source work.

So you want to make a non-free work, fine. I'm not a GPL-or-bust guy.

But are _your_ programs free?

2 comments

> You can't make a derivative closed source work.

That's not it. Your license has to be GPL in order to use any GPL code. I try to make the stuff I do on my personal time under the MIT license, which means I can't use GPL code, but GPL code can incorporate my code. Tell me which license is more free now.

Also, it completely disregards the scope of things. If I incorporate a GPL library into my software for say JSON parsing, then it means my entire program must be GPL. Thankfully most libraries aren't GPL but LGPL.

The other thing is that you can't use proprietary libraries in your own code that has been infected with GPL. If you want to develop your own software that incorporates GPL code and even release it to your users, it's impossible to link against proprietary libraries.

> That's not it. Your license has to be GPL in order to use any GPL code. I try to make the stuff I do on my personal time under the MIT license, which means I can't use GPL code, but GPL code can incorporate my code. Tell me which license is more free now.

That's not how the GPL works. The GPL requires that you release the entire work under the GPL, but it does not forbid you from additionally releasing the parts you wrote under other licenses. So you can release the parts of the code you own under the MIT, as long as you also release the whole work under the GPL. [0]

> The other thing is that you can't use proprietary libraries in your own code that has been infected with GPL. If you want to develop your own software that incorporates GPL code and even release it to your users, it's impossible to link against proprietary libraries.

This is exactly the point of the GPL, and what, in my opinion, makes it more free than permissive licenses: GPL code will never restrict the user's freedom. Software that uses proprietary libraries is not free software, and so it is perfectly reasonable for it to be GPL-incompatible.

[0] https://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense

It's not just that they want to make a non-free work, it's that they want my help, offering nothing in return.
That's also true.

Sometimes I suspect the main programmers for Apache2/BSD/MIT licensed works actually hope their works get used by the big guys so they can get employment there.

That's why I've never heard any BSD guys getting upset at MS for ripping off their work, while getting upset at Linux for doing the same.