I personally prefer the GPL way, but I have yet to use either license on code I've written.
I personally prefer the GPL way, but I have yet to use either license on code I've written.
One tidbit on the GPLs: They require you to share alike if you share the software with others, but do not require you to share the software with others. You can make changes and larger programs entirely for your own or your company's internal use, and not share anything.
The GPLs mention this explicitly, and implement it using concepts like "distribute" and "convey". Your obligation to share alike doesn't kick in unless you distribute or convey.
That got GPL into trouble later on, when it turned out folks often ran software for others to use over networks, rather than sharing with users in copies for them to install locally. That led eventually to AGPL, a kind of fork of GPL, but outside FSF, also to licenses that simply require sharing back whether you distribute your work or not.
Software Licenses in Plain English https://tldrlegal.com/
(GP is the author - it contains some very good explanations on the subject of licenses, imho of course)
Yes.
> but outside FSF
Initially. The current version was published by the FSF in 2007.
aka the SaaS/cloud loophole
To me, GPL feels more like holding a legal gun to your head and say "You used my code, now play fair". It's not your Mum asking you nicely to share your toys with your brother. But then MIT is too far the other way where it's your Mum saying that if you don't want to give any toys to your brother even though he gave you a bunch then that's your ethical code and you have to live with it.
I wish there was a license that did feel like the "it's the right thing to do" argument without the threat, but I just don't know how you'd achieve that. Even something where you license the core as GPL and then the majority supporting libraries as MIT doesn't feel right to me.
As a lawyer, do you have any ideas along these lines?
It's more like "hi there, if you want to use my code, these are the terms under which I've made it available" than "you used my code, now play fair".
It kind of is antagonistic: GPL started when RMS wanted to fix his printer and Xerox said, "No." IIRC the printer software in question drew on or was based on his own prior work.
The GPL is a weapon to pre-emptively undermine sort of venal mentality RMS had already encountered. Free Software is a reaction to a kind of enclosure of the commons.
https://fsf.org/licensing/enforcement-principles https://sfconservancy.org/copyleft-compliance/principles.htm...
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
> That led eventually to AGPL, a kind of fork of GPL, but outside FSF, also to licenses that simply require sharing back whether you distribute your work or not.
...because I read it as "the AGPL requires sharing back whether you distribute your work or not", and felt like splitting hairs for the case where you expose the work, but only internally to a group.
Are there licenses that say if you run an altered copy, you have to contribute back sources, no matter who interacts with it?
That's true, insofar as providing as a service isn't "distributing", or in (A)GPLv3-speak, "conveying". See section 13 of AGPLv3: https://www.gnu.org/licenses/agpl-3.0.en.html#section13
Compare how the Open Software License handles network services: by requiring they be treated as "distribution". https://zoo.kemitchell.com/OSL-3.0#5
> Are there licenses that say if you run an altered copy, you have to contribute back sources, no matter who interacts with it?
For an older license of this type, have a look at RPL-1.5. For a newer one, which I led, have a look at Parity.
It's also the freedom to make zero changes to the free code you were given, reuse it in your closed source software, and pass it off as your own.
In a way, I feel like I should be a big enough person to be okay with this, but I'm not. The possibility bothers me.
Yes, because of the GPL, they have to give RHEL customers the source to all their patches, but what difference does this make in practice?
they have to give RHEL customers the source to all their patches, and allow them to share it with the entire world.
In practice, that means everyone gets better software, and RedHat gets compensation for their hard work.
CentOS is the difference; it is one of the most widely used distributions has the same stability and longevity characteristics and gets security fixes just as fast as RHEL.
No, the MIT license requires attribution by including the original copyright notice with any distribution of the software. You can claim credit for the parts you build around it, but you can't claim to have written the MIT-licensed part.
One of the distinctions I like to draw strongly is between "nice" and "good". They are not the same, and at times, are actively at odds with each other.
It is certainly nice to give away your software to everybody, unconditionally, and not be bothered if your code does happen to end up being a fundamental component of some multi-billion-dollar company that gives you nothing.
But I'm less convinced that's necessarily good. In a world where you must live under the assumption there are bad actors, I think it's OK to put into your license that they can't necessarily do that. It is good to prevent the exploitation of anybody, and that goodness extends to preventing the exploitation of yourself, even if you also clearly have direct personal interests of your own.
I don't think "being comfortable with being exploited" is a component of "being a big person".
On the other hand, we often bring to mind mental examples of software where we slaved away for years and years to bring some unique new product to the world, only for it to be stolen by the big bad corporation for no compensation. My verbiage above about "exploitation" probably brought that to the reader's mind as the topic of discussion. If that happens, yeah, it's bad. On the other hand, that's not really the dominant case for software. There's a lot of open source put out there that's just a few day's work, which is still plenty valuable at scale, but if someone took one of these little things and incorporated it into their product, it's not really that big a deal.
I have several such small little things and they're all BSD. If a big corporation did somehow walk off with one of them, I'd legitimately be flattered, because I know that while it may have saved them a bit of time, it certainly isn't a core component of their product and had they needed to implement something themselves it would have been a trivial fraction of their time. I know I can say I'd be flattered because to some small extent, this really has happened, and I really was flattered and appreciative, so I'm not just hypothesizing about my future emotional states. I'm well aware on all levels that my ~two weeks total effort on the project in question, which I mostly did for my own purposes and for which the open source effort was essentially a bonus, doesn't entitle me to significant compensation for a product whose size is measured in person-decades.
In the context of the types of projects I was imagining, a company would likely just rewrite any code that wasn't available via MIT or similar. If I'm not getting anything in return either way, am I being exploited?
Logically, if the outcome is the same for me, there's no reason to make others redo work.
But as rare as it may be, there have been many cases where an open source code base really was "exploited" by any reasonable sense of the term, with corporations slapping their logos on it and reselling significant works in violation of the license, and those cases are significant because of their size, even if they are rare.
As a simplified example, consider Corporation G and Corporation P. One will eventually lose market share to the other, go bankrupt, and be replaced by Corporation R that bases its business practices on the more successful one (then the cycle repeats).
Both are evil, as corporations are wont to be, and in particular will never release anything under a less restrictive licence than they have to (so they will never release software under a MIT licence). However, G will release software under the GPL if this allows it to save work, whereas P will always release software under a proprietary licence, even if this forces it to expend more resources rewriting GPL functionality.
Releasing code under the GPL exerts a selection effect that favors G over P, and in the long run results in corporations that release somewhat more software period - and significantly more software under FOSS licences - than if P was not forced to redo work.
Copyleft licenses grant freedom to the users of software: a developer cannot restrict a user.
If you are a lawyer can you maybe be more clear about "more free" , more free relative to what? AFAIK GPL protects the user freedom and I think you are referring at the programmers freedom, GPL is a license that respects the users/society as a group, most people here are developers sothey will say that this is less free for them as an individual, less free to take freedom from others(the freedom to study,modify and distribute).
It’s fundamentally programmer freedom in either case. Any user freedom is an indirect side effect.
You need to think at the larger picture, compare Linux kernel and BSD and how the licenses affect the projects and all of the users. With Linux GPL prevents parasitic use, like you get Linux, put your proprietary thing on top, close it off and give it to some users, this users will have no freedom to know what the code they run does, no freedom to change it and distribute it. The fact that a user does not code is irrelevant because they ca always pay for others to modify things.
Maybe a bad analogy, GPL - I make knives and if you want to use my knives you have to agree not to use them to injure/kill people because this taking their freedom
BSD - you can do whatever you want with my knives, you can kill people I am fine with it because I care only about you my customer freedoms but not about any other people freedoms(lives). Just don't remove my name from the knife.
From what I can tell, the user's freedoms (assuming no changes) are pretty much the same. They can use the software without worry.
That is not the case with MIT, where any developer downstream may choose to re-license as they see fit.
From a user's perspective, the rights are very, very different. When you choose a copyleft license, you are making a specific choice that downstream users should have their rights protected, even if that comes at the expense of the "freedom" of downstream developers--who are now prevented from doing anything which restricts user freedom.