A lot changed after Satya Nadella took the helm. The modern .NET platform is really quite nice, and MS does a lot of FOSS open source work.
Obviously it’s good to be sceptical, they’re a large corporation and all they want is money, they’re not our friends. They’re just not as draconian as they were in the 90s and the 00s.
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.
There is no world in which crossing one of those terms out to replace it with the other is valid and not disinformation.
“Free Software” is defined by GNU. “Open Source” is defined by the Open Source Initiative. Those are the only valid definitions of those terms of art.
They may differ in tone and emphasis, but they are compatible: every piece of code that can validly be described as “Free Software” can also be described as “Open Source,” and vice-versa. The notion that there exists code which is “Open Source” but not “Free Software” is false, and anyone pretending that there is such a distinction (e.g. Microsoft’s past attempt at promoting “shared source”) is either misled himself or trying to mislead.
I’m not trying to accuse you of anything, but I just want to make sure we’re all clear on that point.
Publishing source code is not sufficient to make something “Open Source.” Your company’s thing was better described as “proprietary with source code available.”
A lot changed after Satya Nadella took the helm. The modern .NET platform is really quite nice, and MS does a lot of
FOSSopen source work.Obviously it’s good to be sceptical, they’re a large corporation and all they want is money, they’re not our friends. They’re just not as draconian as they were in the 90s and the 00s.
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?
There is no world in which crossing one of those terms out to replace it with the other is valid and not disinformation.
“Free Software” is defined by GNU. “Open Source” is defined by the Open Source Initiative. Those are the only valid definitions of those terms of art.
They may differ in tone and emphasis, but they are compatible: every piece of code that can validly be described as “Free Software” can also be described as “Open Source,” and vice-versa. The notion that there exists code which is “Open Source” but not “Free Software” is false, and anyone pretending that there is such a distinction (e.g. Microsoft’s past attempt at promoting “shared source”) is either misled himself or trying to mislead.
I’m not trying to accuse you of anything, but I just want to make sure we’re all clear on that point.
I’m a bit confused here.
I used to work for a company that published the source code for one of their products. I.e. made it publicly available.
But many of the build tools and build infrastructure were proprietary and internal (not published publicly.)
So I’d say that was open source but not free, since you can’t really build and run it.
Publishing source code is not sufficient to make something “Open Source.” Your company’s thing was better described as “proprietary with source code available.”
Richard Stallman disagrees with you but go off
No, he doesn’t. That document supports my argument, not yours: