I can't relate to this at all, I feel like I went the opposite way. I started out putting all of my work out under GPL but slowly realized how restrictive and demanding such a license actually is, I think public domain is the license that provides the most good to the world as a whole. It enriches everyone, even those who I don't necessarily agree with. It is a much more powerful statement in my view to provide work in a way that allows the entire world, (corporations included) to enrich themselves and educate themselves in an open and free manner.
If this means that they are going to repackage and sell the work, that is their prerogative. If that means a professor wants to put the work into their course and help to instruct a class with it, that is great too. It is nice to attempt to force people to play by the rules I like in order to try to enforce the actions that I see as best for the world, like sharing, etc. But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them.
> It enriches everyone, even those who I don't necessarily agree with.
That's definitely a valid PoV, but you just have to realize/accept that it may empower people who have power over you. I'm mostly talking about economic power here, but with the absurd expansion of lobbying, etc., this may extend to political power, cf. Turbotax[1].
Again: It's ultimately up to you, but for me... I don't want to give big conglomerates an inch if I can avoid it. Both as an individual and as a software-development business owner. (We do bespoke software, so "overly-permissive" licensing isn't really much of threat in that space -- from either perspective: There's no software that does what we provide, nor would what we provide do much for anyone else except our clients.)
I'm not sure if this is too controversial, but I think BSD (permissive for developers, maybe restrictive for users) vs. GPL (restrictive for developers, permissive for users) is very similar to the Paradox of Tolerance in a way.
[1] Who knows if they're using MIT/BSD licensed code, but I think it serves as a good example of the power of lobbying at least.
> I think BSD (permissive for developers, maybe restrictive for users) vs. GPL (restrictive for developers, permissive for users) is very similar to the Paradox of Tolerance in a way.
It very much boils down to tolerance, yeah. I've made the experience that in the communities where permissive licenses are common, there is much larger tolerance for proprietary software and services than in communities that revolve around GPL. I personally don't care much about GPL vs permissive per se, but I do care about the four freedoms and see copyleft as neccessary evil that's needed in some instances to prevent proprietary takeovers.
The GPL is not self-serving; it is a tool to achieve a type of society, and that is the society you seem to enjoy, too. After all, by what else should be measure the permissive licences vs copyleft licences if not by their influence on society?
Are you one of those "GPL is socialism" people? You are misguided. Yes, there are lots of marxists/communists in the open source / free software community and most people in it lean left.
But the GPL itself is compatible with a capitalist society. In fact, GPL can be the basis for making money with FLOSS software, by offering non-GPL'd commercial licenses. All the GPL ensures that if you want to make a proprietary fork of the software, its original author has to be made part of the equation. Some people see it as a tool to achieve communism and I think they are misguided in the view that the goal is desireable. The open source software they create is nevertheless a valuable and worthy contribution to mankind. You can't just reject someone's work because of idiotic ideology. As long as they share this view and allow me to have a productive working relationship with them on the open source component, I'm fine.
No, not all. I don't even know why you'd assume so. I don't even see how you connect what I've said remotely to the left-right oversimplification of political opinions, let alone with one of those sides.
In my comment I was talking about communities and you replied with a comment about types of societies. For me a community is focused to one thing like idk a specific game or fan community of a book author, while a society encompasses all aspects of life for its members. So for me, a "type of society" is about a general way of living together, be it capitalism, feudalism, socialism, etc. I've thought you meant that but apparently you haven't so my comment doesn't apply to you, sorry :)
I would argue if you had to paint the GPL with a particular brush it would either be anarchist or possibly (modern) Marxist. Neither are necessarily incompatible with capitalism (in the "free market" sense at least, they are incompatible in the Marxist sense of "employer/employee dichotomy").
The idea is that the GPL empowers users to modify and distribute software rather than enforcing a particular structure of developers and users.
Of course the GPL is not a system of government, so these comparisons are mostly "in spirit". In reality, it's a clever hack to give power to users by abusing the capitalist copyright system (which has historically morphed into a tool for corporations to oppress users).
But the GPL is definitely not communist nor socialist because it has no relationship to government intervention at all (other than relying on copyright laws for its strength). Marx had no interest in governments.
The above commenter may not be, but the author of the article very much seems to think that gpl is exclusively socialist. As a non socialist myself and a gpl fan, I hope people will see that gpl is perfectly valid in a non socialist context, as well.
> but I think BSD (permissive for developers, maybe restrictive for users) vs. GPL (restrictive for developers, permissive for users)
Strawman. MIT/BSD is not restrictive for users.
When someone derives from my permissively-licensed code and doesn't share back with me? Not my problem, but theirs. They now have a legacy fork to refresh every so often at some non-trivial cost. If I'm maintaining a codebase for them to contribute, then they might be better off contributing. If my codebase is their secret sauce, well, good for them -- perhaps they should consider paying me to help them, and they are welcome to try, but it's not a requirement. It's all good.
Now, if I'm building a project to monetize, I might not open source the secret sauce. The GPL wouldn't help me there anymore than BSD/MIT. So, what good is the GPL to me?
Neither the MIT X11 license (one should be careful to identify which MIT license is being talked about as MIT has used many licenses for software) nor the modified (or 3-clause) BSD license look out for patent treachery. For all the user knows, perhaps your organization holds patents which read on the software you're distributing and this program is a means to give them something that tempts users to run, modify, and share software landing them in a patent infringement lawsuit. It's great that you write and distribute free software, but if you insist on using a non-copylefted free software license the Apache 2.0 license is a better choice for users of your software.
But it is also in user's interests to look out for derivative works because that means users of those derivative programs get software that respects their software freedom. Proprietary derivatives of non-copylefted free software means software that doesn't respect a user's software freedom.
Many years back, I bought an expensive android phone to discover that it did not support my native language. I have the necessary technical skills to add support for it, but because the phone was locked down (something enabled by permissive licenses but not the GPL), I couldn't fix the phone myself and ended up with a very expensive but useless brick.
Corporate interests rarely align completely with your own, and this small difference can be very damaging to your interests. The GPL, while not perfect, alleviates some of the damage caused by this misalignment by ensuring that users remain in a position to address it.
The problem is, in practice, the GPL doesn't assure as many rights to the user as it is claimed. The example of Android shows this clearly. While the base of Android is GPL and consequently freely available, nonetheless Google managed to mix it with enough proprietary parts, so that they could could block Huawai from selling their phones with Android. Of course, Huawai is able to build their own OS based on the open source parts of Android, but for all practical purposes it will be a separate OS.
You are not getting my point. The point was, that the ability of the GPL to enforce source sharing is limited. Where source sharing and redistribution are not desired, GPL licensed software just isn't used. Or used in a way that it does not affect the propriatary parts.
The whole argument of Stallman is that you don't give companies the choice to use permissively licensed software (by making it economically impossible for them to rewrite the entire body of free software).
I think "there isn't enough software under the GPL" is not a criticism of the GPL's effectiveness. If anything it supports the GPL as a method for ensuring user freedom.
If the only open source software available to companies were GPLed software, they would not switch their product to GPL, but rather not use open source software. GPL isn't making companies share source which they don't want to share, they just avoid anything GPL. That is what I meant with the limited powers of GPL.
This isn't about not wanting to "give back" to the community, companies using permissive licensed software are contributing back. It is about that the GPL is incompatible with the business model of all companies which are licensing (selling) the software they produce.
> That's definitely a valid PoV, but you just have to realize/accept that it may empower people who have power over you.
Newtons Equations has also empowered the powerful for a while now but I think we are still happy that they are available for free for everyone without any limitations.
I believe etland might be referring to the knowledge provided by discovering the equations, rather than the natural phenomena themselves. But I may be wrong.
Yep, I'm referring to the fact that you can study, use and build on any mathematical or physics work from the past without understanding or complying with pages of what the idea of "GPL" might have looked like hundreds or even thousands of years ago.
As a bonus point, leverage is exactly what you may be giving them by licensing with the BSD/MIT/... There's no guarantee that they'll gain leverage, but if they see and seize the opportunity then that's what they'll get.
EDIT: The APL 2.0 is kind of interesting here because it doesn't really do that much over BSD/MIT/... except for the patent grant thing. The patent thing actually brings it much closer to 'acceptable' for me, personally, because a lot of instances of conglomerates exercising their power has been through software patents.
It does cement their power over you even further though. An individual project may not make an appreciable difference, but in aggregate, if lots of people make similar choices, it may have an impact.
I don't think that is a fair counter example since it isn't actually straight GPL and provides a different type of leverage than GPL does, which is what we were discussing. The Cockroach Community License[0] was created specifically to fit their needs, and it differs from GPL in several ways.
> It is a much more powerful statement in my view to provide work in a way that allows the entire world, (corporations included) to enrich themselves and educate themselves in an open and free manner.
That is the purpose of the GPL as well.
The GPL doesn't say that you have to be a free love hippie to use the software, in fact it says that everyone can use whatever.
What it does prescribe is that if you extract value from selling FOOS (not using, but distributing) you must play by the rules of FOOS. You can not sit on the sidelines and extract value without providing anything.
Nowhere does it say that you have to share my values. But if you sell my software you have to play by my rules, and that means contributing back.
I agree. The GPL is sort of a hack for people who don't believe in Copyright. In an ideal world, there would be no difference between GPL and public domain, but in our world the GPL forces people who use your code to behave as if everything were public domain.
Someday, that might come full circle and you'll be the one who won't be enriched because the original code was MIT and not GPL.
Here's an example: you buy some embedded hardware for a personal project, but you find out that the toolchain for that chipset is a pile of proprietary blobs built on Clang and it only runs on Windows. If it were built on GCC, then the GPL would force them to make the source available and people could adapt/update/rebuild it as needed.
Making something MIT/public domain is free for one hop, from you to the next person. After that it can become even more restrictive and demanding than the GPL (i.e. proprietary binaries).
I can't find the link, but I remember someone from the X Window System regretting that X11 was under the MIT License - it's the origin of the MIT License - rather than copyleft, precisely because so many companies just would not give code back.
> Keith made it clear he prefers GPL-style (copyleft/sharealike) licences to MIT/BSD style ones. Net contributors of code tend to prefer the former, while net consumers of code (those who don’t want to give back to the community) tend to favour the latter. In other words, freeloaders.
> while net consumers of code (those who don’t want to give back to the community) tend to favour the latter. In other words, freeloaders.
I think this is a really unfair statement - "net consumers of code ... freeloaders".
While there are surely plenty of users of code who are not contributing at all, and they would be freeloaders, the phrasing "net consumers" means that some of the consumers are contributing back code, just not as much as they consume.
I would wager that most end users are freeloaders (they never commit code back).
I would further wager that most developers are closer to end-users.
Finally, I would wager that the vast majority of developers who contribute code are net consumers, not producers.
To me, it's not so surprising that a few people who put in the most public effort sometimes feel bitter that others don't carry their weight.
This assumes that if the only option available to the embedded hardware company were the GPL, that they'd go with that option. (more likely, the product would never come to market)
In reality, releasing something under the GPL typically just ensures that it won't be used by businesses. This is a real bummer, because it means it is off-limits to me during my day-job.
I would love to try and convince my coworkers to write some Scheme, but the majority of that community uses the GPL, which makes it a bit of a non-starter.
Say EvilCompany takes the code, puts in in their buggy operating system, distributes it under a commercial license, and then you end up being prevented from fixing the code that you wrote.
Because that’s what happened to RMS, and that’s why we have the GPL.
It’s freedom; not for the author, and it’s not freedom for the developers or the vendors, it’s freedom for the users.
I'm sure you understand this already, but corporations can repackage and sell GPL code.
The main thing you're granting in choosing a permissive license is the right to deny others the right to enjoy future improvements to the code.
This is why in practice permissively licensed code is more successful in industry. Industries like to exercise the right to make proprietary improvements to open source code.
Can you give me some detail about how/when this happens? I was under the impression that you can sell support(or other ancillary services) for GPL'd code, but not for the code itself.
"Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license."
Anyone can sell software built from GPL code, but if/when they do so, they are obligated to provide source code for that software to anyone receiving a copy, and those users are permitted to redistribute both the software and the source code as long as they also adhere to the GPL.
Now I understand, it's not the code itself that has a price(hence the 'THIS IS FREE SOFTWARE' notice at the top of GPL). It's the entire "product" they charge for. Thanks for the reply!
Not quite. FREE SOFTWARE in that context is "free as in freedom" not "free as in beer." I can most certainly sell you for money software licensed under the GPL (if I make the corresponding sources available) with no other obligations on my part.
Of course, today you're probably not going to have a lot of luck selling something that your potential customer can just download from elsewhere for free. So, in practice, you're going to have to provide other services/benefits that go into a commercial product.
But there's nothing in the GPL that prohibits you from just selling a bunch of bits subject to the requirements of the license and calling it a day.
The FSF started out selling copies of tapes with Emacs on them, and then later whole CD collections of free software, including a mixture of GPL and non-GPL code. They even had a service for a number of years where for $5000 they would compile up a whole ton of software for whatever platform you were using, and send it to your business with t-shirts and manuals for the software.
No, that interpretation is wrong. GPL'd code can be sold no problem. Yes, even the source code. No, it doesn't make much sense in an age when anyone can download it for free, but nobody is stopping you either.
In the past, when the internet was slower and fewer people had access to it, it made more sense to sell CDs of GPL'd code.
This is untrue. It might appear obvious that it does, because in the first instance, everyone can take and use it however they want. But as soon as anyone relicenses the work, everyone else loses out.
There are also more complicated benefits to the programmer-users of GPL software that get lost in the process.
I don't think the situation is clear-cut, and too many factors are hard to quantify, but I don't think you can safely say that non-copyleft "enriches everyone."
I wish the public domain were the least restrictive license, but unfortunately that's just not true globally. In many jurisdictions, notably Germany, there is no public domain or the concept of a public domain doesn't match with common law countries. MIT/BSD or another permissive license is a much better choice if you value openness. [0]
In fact, the MIT license originally came about specifically because just making X public domain wouldn't fly with at least one of the X Consortium participants.
The public domain isn't recognized everywhere and licenses like Creative Commons Zero (CC0) which has a fallback of being all-permissive for regimes where a public domain won't work doesn't look out for patent treachery.
The FSF warns against using CC0 for software (see https://www.gnu.org/licenses/license-list.html#CC0 for the full comments): "For works of software it [CC0] is not recommended, as CC0 has a term expressly stating it does not grant you any patent licenses."
If you really want people to be free to use the software as they wish, you can't ignore software idea patents. That naivety actually works against the users as they would be lured into dealing with the software believing it to be free but then trapped by a patent infringement lawsuit.
> But at a certain point you just have to realize that there are
> differing points of view, that is just the way things go, and
> "progress" includes all of them.
No, this is too broadly accepting and not carefully discerning as reality requires to make sage judgments nor will it help us understand the ethical underpinnings of the software freedom movement (very much related to one of the major problems in the essay -- the author frames the issue around "open source", a developmental methodology which eschews ethics and is therefore of great use to proprietors. See https://digitalcitizen.info/2019/05/10/how-free-software-and... for more on this). Proprietary software is a "differing point of view" and your statement tries to get us to accept that it is merely another acceptable alternative among many. Seeing proprietary software as some form of social progress means accepting the inherent harm of proprietary software, the very reason why the free software movement was founded in the first place. I will call proprietary software harmful and in no way progress for anything worth defending. The goal isn't to maximize one's ability to have power over someone else, it's to ensure specific and well-identified freedoms for all. Strongly copylefted free software where license terms are defended does this.
I think it depends a lot on how valuable your software can be to $supermegacorp, honestly. If I write a competitor to $bigproprietaryapp I would probably decide to release it under a more copy-left license just so nobody can take a ready-to-run solution to market without recourse or compensation. I don't have a problem with proprietary software extending things I write, so such an app would probably be under something like the MPL - "you can use this and add extra features without contributing them back, but you still have to give changes to my code back" sounds like a pretty good compromise.
Some big company wants to use the silly little structured logging wrapper I wrote for SLF4J though? What do I care, go for it, it's a tool and your use of it has no ability to damage any use the community at large has for it.
>But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them.
This is really insightful, to me. Worth keeping in mind in today’s world.
he didn't say that all points of view lead to positive progress. Progress is even "quoted".
The GPL has that political nature : it makes you think about your own point of view and hence, the point of view of others.
Figuring out if you want or need it by actually reading it is a super useful exercise.
Eh, is it really insightful? It just seems straightforwardly wrong to me.
Nazism is a viewpoint. Does progress include that?
I know I'm triggering Godwin's law here, but if you're literally saying that progress includes ALL viewpoints, you're really opening yourself up to including some really ridiculously outlandish ideals.
Under a strict interpretation of the GPL, a student who copied code out of a textbook to use in a commercial project would be infringing the license.
I've never come across this with GPL code, but I've been a bit uncomfortable about reading Numerical Recipes too closely because their code is restrictively licensed.
A large portion of programming books are still under neither a FOSS nor a CC license, and hence fully protected by copyright. (I've encountered some where the main text of the book is not under a FOSS license, while the code is, but that's also not universal.) In such cases, you're not allowed to just re-use large code segments from the book (commercially or in an open source piece of code). Hence the case of a book under GPL isn't any "worse" than that, except that you do have the option of using the code in a GPL-licensed codebase.
(Small snippets are obviously not covered by copyright.)
That's a good point. I suppose Numerical Recipes was one case where I was particularly aware of the situation because (a) the license is stated explicitly (b) the code is structured in ways that it WOULD technically make sense to reuse non-trivial portions as is.
If you infringe gpl code though, you're obligated to provide your source. If you infringe some other copyrighted code, you're just liable for damages.
Is this correct at all? Like if Microsoft accidentally included some gpl code in Windows, could they theoretically be required to open source it? Or would just have to stop distributing?
You're never forced to follow the license; you just have to accept that you've committed copyright infringement, and may have to pay statutory damages for each copy, besides stopping the distribution of any more.
No. If you're found violating the GPL, then you have some time (which I don't remember off the top of my head) to provide the source; if you don't do that you'll be treated as having infringed any generic copyright — being liable for damages, having to cease distribution etc.
> Under a strict interpretation of the GPL, a student who copied code out of a textbook to use in a commercial project would be infringing the license.
This interpretation is very surprising to me. Could you point out what language in the GPL you're interpreting in this way?
It seems pretty straightforward to me that section 5 of the GPL v3, "Conveying Modified Source Versions" (and the corresponding sections of earlier GPLs) would be applicable to this situation (provided that a non-trivial amount of code is incorporated by the student).
I thought because you were responding to my post saying using GPL code in a class, that you were claiming professors couldn't use GPL code in classes (they can). But you weren't saying that--I misread.
If it is a normal textbook with non-GPL code in it (which includes code taken from an MIT/BSD licenced source), then that's copyrighted, and using that code for anything else, commercial or not, would be copyright infringement.
If the code is taken from a GPL source, though, then at least the code in that book would have to be licenced under GPL as well, in which case you would be free to use it for commercial software, as long as it is licenced under GPL. The GPL does not forbid use in commercial software, it only forbids use in non-GPL software.
> ...(which includes code taken from an MIT/BSD licenced source) then that's copyrighted, and using that code for anything else, commercial or not, would be copyright infringement.
I don't think this is right. The copyright of the BSD/MIT licensed code remains with the original authors who should be attributed in the textbook (as per the license). Since these authors have permissively licensed their code you're free to use it in your own project (as long as you also include the original attribution). Copying other parts of the text book may be a copyright violation, however.
If this means that they are going to repackage and sell the work, that is their prerogative. If that means a professor wants to put the work into their course and help to instruct a class with it, that is great too. It is nice to attempt to force people to play by the rules I like in order to try to enforce the actions that I see as best for the world, like sharing, etc. But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them.