this post was submitted on 09 Oct 2023
1851 points (98.2% liked)
Linux
48698 readers
1237 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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
While you're correct, that's funny because as a developer using a framework like dotNET, MIT gives YOU more freedom. At least for anything statically linked where the GPL code would end up as part of your binary and force you to GPL your own code I believe.
After years of debate about licenses for my own software (that only I use...), my philosophy has been boiled down to this: MIT for libraries. GPL for programs.
This way, other developers can freely use your library, and your program remains free.
That's competely sensible if you ask me. Though there's also nothing wrong with MITing your programs if you want to. By making the source available, you've already done plenty for the users.
I find the distinction that dynamically linking GPL is fine but statically linking it is not to be so ridiculous. That's obviously just an implementation detail. The only conceivable difference other than the pointless "technuchalley your program contains GPL code now as part of the file" is that you have to do dynamic linking, which is slightly slower. How does the fact that your work is dynamically linked vs statically linked make any difference to the people writing GPL libraries??
I think that's for LGPL. For GLP any form of linking requires the code to be licensed under GPL, too. The dynamic linking except isn't that bad of you think about it. It gives you the freedom to update or replace the library at any time. For security critical libs (TLS, GPG, ..) that's a big plus.
Dynamic linking let's you use an already packaged library that its source you don't touch.
Static linking means you have to show the source just in case you did some change.
Anything more lax is fine, so you could also release your code under MIT license if you use GPL modules. Yes, it does force you to release your code but after all it's a protection for the user. Furthermore, GPL does not mean your software has to be free of charge, you can still sell it as long as you attach the source code for the end user.
The GPL protects the freedom of the user primarily, not the developer.
Exactly. Debating which of copyleft or permissive licensing is "more free" is always the wrong question. The correct question is "freedom for whom?
The way I like to think of it is that non-copyleft licences are like giving everyone freedom by saying there are no laws - suddenly, you can do anything, and the government can't stop you! However, other people can also do anything and the government can't stop them, either, and that includes using a big net to catch other people and make them their slaves. The people caught in the nets aren't going to feel very free anymore, and it's not unreasonable to think that a lot of people will end up caught in nets.
Copyleft licences are like saying there are no laws except you're not allowed to do anything that would restrict someone else's freedom. In theory, that's only going to inconvenience you if you were going to do something bad, and leaves most people much freer.
The idea is basically that you shouldn't be able to restrict anyone else's freedom to modify the software they use, and if you're going to, you don't get to base your software on things made by people who didn't.