this post was submitted on 28 Aug 2023
681 points (91.6% liked)
Programmer Humor
32380 readers
1443 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
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.
If you use my snippet, I want your game. If you don't agree, then you can't use my snippet. The purpose of the GPL is simply to prevent people who don't share from benefitting from people who do, which I think is pretty fair.
Sure, it's a disagreement on what fair sharing is, and honestly. I don't want your code if I can't meet the intent of the license. That's fine. It's just the reason I don't GPL my code. It feels like I am enacting restrictions on someone else that doesn't feel fair.
A snippet? Surely you don't need to include a snippet of someone else's labor.
It does belong to you. You still own the copyright of the work. You can still license it however you want, you just also need to make it available under the GPL.
I mean, it's an example sometimes people want to just include a library to say, parse a file format. A small snippet of code that could be GPLed, all just to support a random file format that the users want.
Eh, I guess I can dual-license it but it still removes my exclusivity of ownership which is important in our capitalistic society in order to gain money which you use to live. Essentially GPL removes a large way to gain money. If you offer something for free but you have to compile it, or you offer it pre-compiled but paid for. Someone is typically just going to just compile the free code and offer binaries on their own site.
Again, using GPL'd code does not remove your ownership of the code you wrote. Using other people's code in general does remove your exclusivity of ownership, regardless of license, since the code other people wrote belongs to them.
it removes my exclusivity of ownership over my own code. Not talking about the small snippet that I don't have exclusive ownership over. Pretty basic distinction here.
I'd gladly pay them a smaller fee but that's the reason I don't GPL my code. I don't feel like the fee the GPL charges by default (the requirement to license all the code it touches into GPL) is fair. You clearly disagree and that's fine. I won't use your code.
I'm an indie game developer so I disagree. How I get my money is selling copies of my software is largely how I make money. If you want to argue that in the business corporate software complex everyone is just writing code for money and no one is selling it as a copy, that's fine, I don't care about that work. I just know why I don't like GPLing my code. It's too restrictive for me and thus I feel it's unfair to ask of other people to follow.
Your statement is false. It does not remove or diminish your exclusivity of ownership over your own code. That's just not how copyright works. I don't know how else to put it.
If I ever wrote code you wanted to use in a game you wanted to sell, and you reached out to me, I'd just let you use the code under a different license for free. My main concern is that corporations would freeload off my work. Some people wouldn't even do it for any fee. I think that's silly, but they get to set the terms of how we use their code.
That's great! You are part of a tiny group of people who manage to make money this way, and that's no small accomplishment. More power to you, and I wish you more success. If you feel comfortable revealing it here, what game(s) do you sell?
Not exactly. For example, you can't make the whole thing, GPL snippet included, available under MIT. You can only license your own contribution however you want (in addition to GPL).
Yes, you don't own the thing you didn't make.
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.
That seems a somewhat contrived example. Yes, it can theoretically happen - but in practice it would happen with a library, and most libraries are LGPL (or more permissive) anyway. By contrast, there have been plenty of stories lately of people who wrote MIT/BSD software, and then got upset when companies just took the code to add in their products, without offering much support in return.
Also, there's a certain irony in saying what essentially amounts to, "Please license your code more permissively, because I want to license mine more restrictively".
Well, remember, this is why I don't GPL my own code, not why I don't use GPL'ed code. I want to provide to others what I want to be provided to me. I make my games from Godot, MIT-licensed. Allows people to make commercially viable games. I also contribute what I can to Godot and attempt to backport engine improvements to Godot when I can. This exchange is fair to me and I believe fair to Godot.
Games exist as products directly to the consumer. There are reasons why GPL'ed games haven't been commercially viable and those who've GPLed their game (after they have made tons of money from it) still don't include the art. They still want to keep the game as profitable as possible while GPLing what they can.
Essentially the GPL is at odds with our capitalistic society, which is fine, our capitalistic society could be a lot better if we were more socialist or communist. The place it breaks down though is that we are still in a capitalistic society and people need to be able to sell their works for money.