> if you can't obey the terms that someone else has given for the use of their creative work, then don't use their work.
Yes I agree, but the conclusion to this is that you probably should never use the GPL.
If you want other people to be able to use your code, use the MIT license.
If you want to monetize your code/keep it secret/sell it, then don't try to open-source it.
The GPL makes code radioactive and useless to everyone.
I get the intent in the OP that people should obey the golden rule and only build open source on open source. But what actually happens in my limited experience is that when a company comes across GPL code, the boss asks you to find equivalent code with an MIT license and ditch the GPL code.
If no such MIT code exists, the boss asks you to find another way, or to rewrite the GPL code yourself and keep it secret, or maybe even release it as MIT code.
GPL code is a dead end because it poisons other code.
And the fundamental reason for this is that programmers have to get money somehow, which almost always means being able to have some of the code they write as closed-source.
MIT allows closed and open source to exist side-by-side. You can write some code that does something, release it under the MIT license on GitHub, and also use it as a component of your company's proprietary product which ultimately pays for you to eat and live.
And this problem recurses. If I am not in a corporate setting and I am choosing between a GPL library or an equivalent MIT library to use in my own open source application, I should choose the MIT one because otherwise my open source code becomes "infected" with GPL, meaning that people in a corporate setting can't use it. If I'm deciding which library to learn as a hobby I should choose the MIT one because that will be useful for getting a job. Etc.
GPL will IMO be radioactive for as long as we insist that most programmers have to sell something in order to have a house to live in and food on the table. If the rest of society sets up a big fund to hand out money to programmers who make useful software, then we can talk about GPL.
But actually even if such a fund existed I still think MIT would be better.
GPL is an activist license. They have a worldview that they think is more right than others. It's of course not optimal for everyone. They think that closed source software is "morally wrong", and therefore "allowing closed and open source to exist side-by-side" is not really their goal.
As a user, I prefer GPL's activist stance, rather than MIT license's non-activist approach which essentially translates to an ethics of "might is right".
> They think that closed source software is "morally wrong", and therefore "allowing closed and open source to exist side-by-side" is not really their goal.
OK, that's nice but can these people explain to me how I should pay rent?
Work for one of the thousands of companies that pay you to write GPL licensed code? I can give you some references, having worked for one for a few years (specifically, we wrote Odoo modules for various businesses).
Sales of the modules, optional support contracts, and SaaS hosting of the GPL application and our GPL modules for people who prefer it to self-hosting.
Yes I agree, but the conclusion to this is that you probably should never use the GPL.
If you want other people to be able to use your code, use the MIT license.
If you want to monetize your code/keep it secret/sell it, then don't try to open-source it.
The GPL makes code radioactive and useless to everyone.
I get the intent in the OP that people should obey the golden rule and only build open source on open source. But what actually happens in my limited experience is that when a company comes across GPL code, the boss asks you to find equivalent code with an MIT license and ditch the GPL code.
If no such MIT code exists, the boss asks you to find another way, or to rewrite the GPL code yourself and keep it secret, or maybe even release it as MIT code.
GPL code is a dead end because it poisons other code.
And the fundamental reason for this is that programmers have to get money somehow, which almost always means being able to have some of the code they write as closed-source.
MIT allows closed and open source to exist side-by-side. You can write some code that does something, release it under the MIT license on GitHub, and also use it as a component of your company's proprietary product which ultimately pays for you to eat and live.
And this problem recurses. If I am not in a corporate setting and I am choosing between a GPL library or an equivalent MIT library to use in my own open source application, I should choose the MIT one because otherwise my open source code becomes "infected" with GPL, meaning that people in a corporate setting can't use it. If I'm deciding which library to learn as a hobby I should choose the MIT one because that will be useful for getting a job. Etc.
GPL will IMO be radioactive for as long as we insist that most programmers have to sell something in order to have a house to live in and food on the table. If the rest of society sets up a big fund to hand out money to programmers who make useful software, then we can talk about GPL.
But actually even if such a fund existed I still think MIT would be better.