It's a very natural human reaction to push back against the idea that someone else might profit from your work--whether or not you have any real opportunity to profit yourself. That was really one of the geniuses of open source licensing (including the GPL) as it developed. By contrast, in the PC world for example, there were a lot of licenses along the lines of "free for educational use only" or "you can't use this software if you're an evil defense contractor."
You still see this usage restriction thread of licensing in Creative Commons for example with non-commercial and no-derivatives being common--even though CC has basically been unable to come up with a workable definition of NC in a decade of trying and ND runs completely counter to the whole idea of remixing that partly drove CC in the first place.
> It's a very natural human reaction to push back against the idea that someone else might profit from your work--whether or not you have any real opportunity to profit yourself.
Purpose of GPL is not to avoid profiting from other people's work. It's to give user's freedom to inspect, modify and re-use the software.
I now have a mental blacklist of GPL violators, that I bought or were given the HW of, that is useless, bugged, or otherwise crippled, and can't be updated and fixed, or used for new innovative things, because they failed to meet their obligations under the GPL.
> It's to give user's freedom to inspect, modify and re-use the software.
The GPL is this, but I believe it is something else, too.
I believe that when you make your code GPL, you are saying to others who want to use your code, or especially to extend it and publish those changes, that you want to be paid. How?
In code.
You are basically saying "Yes, go ahead and have fun with this work, but - if you want to change it and pass it on to others, you need to put those changes out there for me and others to use."
Pay me for my work in code. Don't want to pay me in code? Then you don't get to use my code.
I think that's a completely fair bargain, and it also ensures that a company can't fork your code, go their own way, market it as a better solution to your users while they continue to extend it - to the point where their stuff no longer works with your stuff, even if it still looks identical.
Embrace, Extend, Extinguish?
Those words are often forgotten nowadays. And, while I give kudos to Microsoft's open source offerings and other recent gestures of similar merit, I cannot and will not forget their past, and I keep a wary eye on them just the same...
It should be noted that the GPL requires you to pay forward , not back. You are under no obligation to release the code publicly or contribute to the original project.
Redistribution doesn't mean public. I've worked for years extending A/LGPL code that we redistributed, yet much of it never saw the light of day, since our clients have no interest in publishing it (although they are free to do so, of course).
You’re essentially working as contractors for the company in that case though. So you’re effectively part of the company and aren’t really distributing as the term is generally understood.
Of course there is some ambiguity as there always is.
No, there's no need for technicalities. The GPL only says you must distribute the source to the people to whom you have distributed binaries. It doesn't say you must publish it publicly.
I was assuming that if you were developing code for someone they would also get access to the sources. But you’re right. That’s not necessarily a given.
I recently ran into a modified MIT license with a no-military clause. My company would not use the otherwise very nice package because, unfortunately, it includes an "indirectly" in the language. We don't have anything to do with the military, but our clients are large pharmaceutical companies, so they probably have military contracts.
Just purely from a practical perspective, lawyers tend to run screaming from a lot of usage-based restrictions. Even if they seem fairly straightforward at first scan, once you start asking questions (as in your case and non-commercial), all but the most trivial uses--in which the license doesn't really matter anyway--start to look like they might fall into a grey area.
If your job is managing business risk, it's just not worth it.
Nauty has a clause like this. Which is hilarious because Magma uses Nauty, and the NSA is one of Magma's biggest users if not the biggest. McKay apparently doesn't mind, but refuses to change the license
You still see this usage restriction thread of licensing in Creative Commons for example with non-commercial and no-derivatives being common--even though CC has basically been unable to come up with a workable definition of NC in a decade of trying and ND runs completely counter to the whole idea of remixing that partly drove CC in the first place.