this post was submitted on 28 Aug 2023
681 points (91.6% liked)
Programmer Humor
32472 readers
1062 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
GPL is too restrictive. I prefer MIT/CC0/BSD 0 clause.
Why is too restrictive?
I don't like how it forces everything it touches to be GPL. Even if the works it touches are unrelated to the original functionality. It restricts what I can do with the code I wrote without the help of the GPL'ed code. For example, if I write an entire game: gameplay, physics, renderer, networking, etc., all myself. Then I need to include a snippet of GPL'ed code for any reason, all that work now no longer belongs to me. I, the worker, no longer have access to the fruit of my labor. Instead all of it, disproportionally, is given away to the collective world. I lose the fruits of my labor.
With others, I do not. You can give your code to the community, you can even adopt licenses to say if you improve the code you must also open source it and give it to the community but when you then say and you also have to give away any code it touches inconsequential to it's functionality. That feels too restrictive for me. I honestly would like to see people adopt a middle ground. LGPL does this afaik and it feels like a better choice than GPL or BSD if you are trying to keep just your creation and it's derivatives open.
You still own the code you release under GPL. the restriction you are describing is actually caused by the non-copyleft licences you claim to prefer. If you choose to use MIT, you are limiting which libraries you can use. If you had picked GPL to begin with, you can use any library.
I don't exclusively own my own works anymore. Which is different than just owning your own work. Exclusivity allows you to sell something. Without that ability, you can't convert a product into money as easily.
If the exclusive ownership of something, in order to sell it, is the primary choice driving factor of a project. Then you should just make it proprietary. Anything else would limit your margins, since someone else can just fork your project, change it and make it proprietary themselves. A dual license is sometimes used in this case as well.
You can sell GPL licensed software. You don't have to publish the source code publicly online.