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.
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.
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 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.
Huh? FSF counts the MIT license as free, though they call it the Expat license they list it as both Free and GPL compatible: https://www.gnu.org/licenses/license-list.html#Expat It is also listed as an opensource licence by the OSI.
Usually FOSS is specifically copyleft licences like the GPL, which Microsoft don’t use. Their open-source stuff tends to be MIT.
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.
Huh? FSF counts the MIT license as free, though they call it the Expat license they list it as both Free and GPL compatible: https://www.gnu.org/licenses/license-list.html#Expat It is also listed as an opensource licence by the OSI.
Thus by definition MIT is a FOSS licence.
That is a good point. Thank you for the correction!
I thought MIT is the “do whatever you want with my code but don’t blame me if it breaks something”-license. Am I misinformed?