Copyleft and community licenses are not without merit, but they are a dead end
influxdata.com
influxdata.com
DISCLAIMER: This comment was written incrementally and modified several times adding things that came to mind while writing.
About BSD,MIT,... vs CopyLeft. We can say what we want, but if we just stick to facts, MIT-alike licenses provide more freedom for the final user. If one would like to dig more I think that the canonical example would be the Linux kernel and asking questions about, what if it would be BSD licensed.
It would be another BSD with not many commercial players contributing to. BSD-ish licenses mean free labor for companies, but are problematic for cooperation. The easiest way is always to "defect": Take the sources and never contribute back - it might help a competitor.
The Copyleft licenses work around that and make cooperation between of adversaries possible.
https://lobste.rs/s/0h98nl/it_s_not_okay_pretend_your_softwa...
Follow up:
https://lobste.rs/s/kbcjnx/open_source_confronts_its_midlife...
Whats your thoughts on using more paid, shared-source stuff to generate money to protect software freedom and fund development of FOSS infrastructure?
There is this freedom for end users to modify and run software, sort of anti lock in freedom. And there is this corporate freedom allowing corporations to restrict freedoms of end users and lock them in. The second one is what MIT-alike enables. It doesn't make sure end users keep any freedom at all. So the choice is to either restrict corporations or let corporations restrict users. Letting corporations restrict users also lets them capture all profits and make sure original creators won't be able to compete with them.
No matter how you look at it, the idea of unrestricted use for corporations will die. Startups, small companies, independent creators are either going to switch to restrictive licenses or won't be able to sustain development and abandon it. Things could have been different if tech companies weren't allowed to get so big.
If you are doing it for a legal entity of any description, you need to start paying license fees.
This keeps popping up from database maintainers and unless addressed we're just going to keep talking past each other.
I'd like to challenge the notion that cloud providers are somehow competing with the likes of MongoDB, et al. We're at the point where anyone can stand up a database in a VM with minimal effort. Cloud providers are spending billions on infrastructure to make sure the bits in that database are highly available with low latency. This is scarcely distinguishable from what a traditional colocation service does.
The whole idea of "open source abuse" amounts to special pleading. No one is forced to use an open source license. MongoDB and its peers have access to lawyers who can explain the consequences of this or that licensing decision. Cloud providers offer database deployments under license terms that were offered to them.
If Redis Labs or MongoDB decided tomorrow to take their database proprietary there wouldn't be much gnashing of teeth. The projects would fork. The proprietary forks would see more feature development and we'd all go on with our lives. You're seeing pushback for a few reasons:
1. The name "Commons Clause" appears to intentionally invite confusion with "Creative Commons." Plus the idea that you can jam a rider onto an arbitrary Open Source license and end up with something coherent is woefully misguided. The GPL explicitly blows up language like this.
2. On the heels of the Commons Clause, the SSPL was put up to the OSI as an open source license even though it obviously violates OSD 5,6 and 9. Along with Salil's rants on TechCrunch, this makes it look like a transparent attempt at undermining open source and the OSI.
> In the case of Redis this is a bit a natural process because I'm very unwelcoming to a lot of things that users want because I feel they are not a fit.
As an aside, I don't send you patches for this reason.
Seriously. Trust takes ages to build and seconds to destroy. That and good will. I think Redis Lab's wouldn't have gotten quite the push back it did if it wasn't for the perceived shadyness.
A BSD might have caught on in the same way eventually but it would have taken longer.
They provide more freedom for the next user but because they allow freedom to be taken away at any point in the chain bsd/mit licenses provide absolutely no guarantees of freedom for the final user.
That's not "fact", that's semantics. You're playing games with the definition of the word "freedom". The FSF has been outrageously clear about exactly what it means by that term, and what freedoms specifically it's trying to protect.
Argue with those points. Don't fling around "facts" like this, it's just bad form.
It depends what you think a user is. Is a user an end-user who has no intention of creating a proprietary fork? Or is it a developer who intends to create a proprietary fork?
"If we just stick to the facts", copyleft provides equal freedom to both classes. Neither can create proprietary forks. For permissive licenses, the latter class is given an additional freedom (creation of proprietary forks), but the former class gains no practical freedom. However, what if the latter class gives the former class their proprietary fork? Then the former class has less freedom (and there is a history of this happening with Windows, OS X, and Android using BSD code without providing it to the end-user).
This has always been the argument made by the GPL. Yes, proprietary software developers lose the freedom to reduce the freedom of other users. Instead it guarantees equal freedoms to all classes of users.
I get it, you don't agree with the GPL. That's fine. But clearly the "user" being protected the GPL is the end-user. That was always the point (and that protection comes in a form that allows developers to have the same freedom and nothing extra).
> They’re forcing a world view that everything should be free and shared like some sort of make-believe Star Trek future where money doesn’t exist.
Is a world where you are allowed to repair and modify your own house or car a "make-believe Star Trek future"? Asking to have insight and control over the software which plays an increasingly important role in our lives is not a fantasy to be dismissed.
> Ultimately, in my philosophy, copyleft represents real open source, despite what the OSI says. Copyleft is a restriction.
A typo? A restriction for you the creator perhaps, but for your users it represents the freedom to use, modify, and redistribute the software they use.
I get the idea that copyleft gives people the freedom to see the code and modify, but the limitations it imposes for using that code in derivative works is what makes me think it's a utopian ideal.
The problem is you can't get the benefits without the cost. And all of the derivative works problems are political -- the issue is that companies don't want to (or can't for various reasons) give you their changes. Personally I view this as antisocial and shortsighted behaviour (when a company fails, the work in their fork is lost).
Though to be honest, most proprietary changes aren't very good. The GPL is just one more (political) hiccup that gives an incentive for companies to contribute upstream -- in addition to general out-of-tree problems.
This strikes me as not quite right and a bit out of place for an essay that's otherwise pretty thoughtful. Copyleft is a niche or a branch, not a dead end.
There's a fundamental question facing anyone approaching the economics of a software project (and the economics of many other kinds of projects too): how much of the value of the project do you try to control/capture vs how much do you try to share in an effort to multiply the value? Source licensing questions are a subset of this: how much of the value of the project lies in certain levels of control of the source vs the prospect of a community around the source.
The copyleft licenses are one answer to the question: if the utility value of software developed by an active community around the source strictly exceeds the value of any one player controlling access to the source, control the source to maintain community property of contributions, but let anyone work out their answer to the value capture question via the utility of the software or their knowledge about it.
It isn't the only answer and I think it's fair to say that not every useful piece of software can be developed or maintained on that model, which is why I'd say it's an adaptation to a niche.
A niche is pretty different than a dead end, though.
This also addresses some odd conceptions of copyleft being incompatible with improving ones own lot or based in premature adoption of Star Trek values.
Licenses like MIT give the most possible freedom, particularly with how derivative works are commercialized. Copyleft licenses limit the freedoms of derivative works by forcing them to be copyleft (although with some hacks and exceptions). This limitation means that options for creating a derivative commercial product from copyleft sources are very limited.
If you are able to get around the copyleft restriction (like SaaS products developed on GPL and AGPL'd software) then you are able to build a commercial product. But if you want to ship that software to a customer in a licensed product or a piece of hardware, you won't be able to do it without exposing your entire source code to be copyleft.
I've heard people argue that copyleft is better because it forces this opening of source on everyone. It's a utopian ideal that I think limits its utility, particularly with regard to derivative works.
Likewise if you want to commercially exploit some MIT-licensed software that I have modified and am selling binaries of, you are not more free to commercially exploit that than you would be under the GPL.
Copyleft doesn't "force" the "opening" of "source" on anyone. It's a pragmatic measure covering existing software in order to ensure recipients of that software are free to use it as they wish.
The GPL doesn't limit utility. You are confusing use value and exchange value. The GPL ensures that software retains its utility for its users.
All that said, if you want to give all your software to users under the MIT or Apache licenses knock yourself out.
I think the LGPL becomes something just like the GPL for scripting languages because there is no "linking" for many languages.
For example an npm package for nodejs can't be made into a "library" - all the source is "compiled" together at runtime.
MIT gives the freedom to make proprietary derivatives. If you excuse the emotive tone, this is a bit like "the freedom to enslave someone". A freedom to do something that impacts another person's freedom is something that we generally don't allow in free societies.
The GPL's purpose has always been to guarantee certain freedoms to end-users. If developers cannot restrict end-users freedoms (through proprietary forks) then that is a success, and is a net benefit to society (from the perspective of free software).
I get the SaaSS problem, and I think there are many other problems with it aside from licensing. But I don't agree that weaker licensing will solve it (nor do I really think that stronger licensing would solve it).
Otherwise the same argument applies: no harm becomes anyone due to a proprietary fork, it's copying, not theft. Why worry, let people live and work.
The obvious counter to the whole GPL idea is that it thinks the options are "build proprietary" or "build public" when in actuality, the options are often "build proprietary" or "build not at all", and so copyleft liscences leave end users less free to use tools, because the tools that might exist just don't.
I don't believe proprietary is literally slavery, it was just the most apt analogy I could come up with to show why "the freedom to take away others' freedom" is not seen as a freedom that needs to be protected in other circumstances.
I don't see how theft is a good analogy for the freedom to copy. Copying is actually anti-thetical to theft, because theft involves taking away something from someone -- copying something doesn't do that (except in perhaps in more general terms of economics, in some cases).
> no harm becomes anyone due to a proprietary fork, it's copying, not theft
No harm, until a user is given said software and doesn't have the freedom they'd have with the original version (but they need to use this version because it has certain features, or it's included in an OS which you cannot replace, and so on). I mean, at this point we're no longer talking about permissive licensing. Now we're just talking about straight-up proprietary software which may contain some MIT or BSD code.
> the options are often "build proprietary" or "build not at all", so copyleft liscences leave end users less free to use tools, because the tools that might exist just don't.
I don't think it makes sense to talk about theoretical tools that might have been written, and how users are not free to use things that don't exist. By this logic, any decision that theoretically might cause less software to exist in the world is against user freedom (and the existence of proprietary software is a good thing for user freedom) -- which is completely unrelated to an actual users experience with the software they do use, and undermines the point of user freedom.
You cannot make the argument that if GPL, software would be freer, because in practice the result might we'll be if GPL, less software period.
That's not a win for anyone.
Back to your first point, any right can be phrased positively or negatively. My rights to life and liberty prevent you from exercising your right to punch me in the face. Quite simply, any argument that reduces to "the freedom to take away others freedom is bad" can be ignored, because that applies to all freedoms. You must justify why the freedom you want to protect is more valuable than the freedom being reduced.
Specifically in this case, you are wanting to reduce my freedom to sell/provide proprietary software. By your thesis, this is apparently in and of itself a bad thing and so the GPL and other loscenses that restrict my freedoms should be abolished!
Now clearly you don't believe that, but you can't justify that by saying it reduces freedom, literally any restriction at any point in the chain reduces freedom. So why is end user freedom more valuable than library author freedom? Why is it okay for you to restrict my freedoms but not for me to restrict the freedoms of my users?
To get back to the copying analogy, you're saying that copying doesn't take anything away from anyone, but by forking and ignoring your liscence, what else am I doing but copying? If copying doesn't harm anyone, why should it matter?
How do you explain the prevalence of free software under the GPL for the past 30 years? If the GPL couldn't work, then we wouldn't be living in the world we have today.
As for whether it's "not a win for anyone" -- that's debatable. At worst you can argue it's a net neutral since you can't make a value judgement on software that doesn't exist -- sure, software that can cure cancer might not exist but neither does Skynet. But if all software was free, then you would be able to exercise computing freedom in all aspects of your life (and we have evidence that such freedom is a net positive -- just look at how many things just Linux has brought). Proprietary software has many practical negatives aside from the ethical debates we might have.
> My rights to life and liberty prevent you from exercising your right to punch me in the face.
Yes, I agree. You are restating that "the freedom to punch someone in the face violates their freedom to life and liberty" -- which is effectively what I said, and the freedom that should be restricted is obvious. You haven't made a distinction, and if you honestly think that the right to liberty is identical to the right to harm others then there's really no point in continuing a discussion on freedom -- it's clear that we completely disagree on what freedom is.
"Why can't I restrict the freedom of others" should be an incredibly obvious question to answer -- it does more harm to society than it does good, and that is how the validity of freedoms are decided. This is a concept that most children understand -- the golden rule.
> So why is end user freedom more valuable than library author freedom? Why is it okay for you to restrict my freedoms but not for me to restrict the freedoms of my users?
There are more users than there are developers. Developers can write their own software if they want, users have to depend on developers. The freedoms that users get are still incredibly useful to developers, the only restrictions on developers are "freedoms" that users cannot even attempt exercise.
There is a very strong argument of what is better for a society -- restrictions on fewer people so that a larger group of people have more freedom, or more freedem for fewer people so that a larger group have less freedom? Not to mention that even if everyone on earth was a developer, there is a practical matter of time -- as a developer in a proprietary-only world you would need to write all software from scratch if you wanted to modify it. So even developers massively benefit from this system.
Is the cost of the GPL worth being able to modify the Linux kernel and core system of any Linux distribution? Absolutely, it's a bargain -- you cannot pay Apple, Microsoft or IBM any amount of money to do the same aside from just buying the company (so economically you might argue that free software is worth the market cap of the company that develops said software).
> To get back to the copying analogy, you're saying that copying doesn't take anything away from anyone, but by forking and ignoring your liscence, what else am I doing but copying?
If you fork it and just use it yourself, nothing -- and I don't care (and neither does the GPL for that matter).
If you start sharing it with other people, then you are impacting other people's lives. To use your "punching in the face" analogy, copying it and playing with it yourself would be "the freedom to punch yourself in the face" versus "the freedom to punch others in the face". I really don't care if you punch yourself in the face, but I do care if you punch others in the face (using my work).
This isn't a good rule either. Enslaving all black people in the US would give a minority less freedom, but a majority more freedom (presumably anyway, given the economic potential). It's still horribly unethical. My point here is that you can't just make these sweeping generalizations about freedoms. Each freedom has to be compared with the ones it affects carefully. "My freedom makes more people freer" is not a sound argument. Why is that freedom better, and why is it better to society as a whole than the alternatives (and of course questions of whether or not utilitarianism is even a valid ethical system under which to analyze these problems).
>How do you explain the prevalence of free software under the GPL for the past 30 years? If the GPL couldn't work, then we wouldn't be living in the world we have today.
The question is not "would GPL software still exist under the GPL" its "would non-GPL software exist under the GPL". It's not "GPL can't work for anything" but "can GPL work for all of the things that are currently Apache/MIT/BSD"? And would those things (and all of their derivatives exist under the GPL?)
Because then you are making a value judgement on software that does exist. Would your chromium (and v8 and node) or your llvm or your apache anything (spark, hadoop, beam, etc. which are used in all kinds of proprietary work) be as successful if companies couldn't keep their proprietary bits proprietary?
The opportunity cost of the GPL is, potentially, things like those. You're discounting them because "we can't know the value of software that doesn't exist" or whatever nonsense, but we know of a lot of non-GPL OSS, and its extraordinarily valuable.
So the biggest question is: would the increase in end user freedom be worth the loss of all currently nonfree software? If not, what percentage of a loss is "acceptable"? Would losing LLVM but not Chromium be acceptable? If Apache never existed, would that be Ok as long as all of Google's open source work was GPL'd instead? Would the world be a better place if it was exactly the same except that all machine learning work was proprietary?
None of those sound like wins, and the ability to use Chromium or Tensorflow or Beam or LLVM all sound like net increases in freedom to me. And net improvements to the average person's life.
What's a niche to some is a dead end to others. There are plenty of vibrant academic projects that will never, ever see commercial use. From the POV of someone only interested in making a profit, it could well be a dead end.
Now, in light of even more restrictive licensing options being adopted by prominent companies, "open core" seems awesome!
It feels like we take one step forward and two back. I'll just say, I wish these companies went full proprietary and stopped capitalizing on community participation while disdaining it at the same time.
Engulf, extend, devour.
0. Megacorps exploiting FOSS and not volunteering enough (a) money or (b) code back overall.
1. The limitations brought on everyone who's not a megacorp by authors trying to acheive 0a &| 0b.
As such, there are some difficult &| uncool ways around this:
i. A name-and-shame web app that everyone know about that impacts a company's sales and reputation if it cheats FOSS.
ii. Going micropayment commercial with intrusive license auditing to verify compliance.
iii. Begging harder from big companies that are known to abuse FOSS.
PS: Before OSS was popular, shareware/freeware with code hidden like it was some sort of arcane secret magic much as scientists did before the modern era.
That's FUD right out of 1998. Sigh.
Look, any attack on copyleft needs to start from a position of describing how any of the open source revolution of the last two decades happens without it. I mean, basically everything was driven by GPL software.
Instead, this starts from a position of poop flinging by calling GPL proponents naive communists. I don't see that it gets any better. Skip.
The problem with the "crusader" model, as practiced, is that it came with a "you're either with us, or you're against us" stance. This created a community subculture which encouraged the alienation of potential allies and served more to make the Free Software movement more of a hipster pose. It served more to make Free Software a kind of antipodean "unwalled" garden, where the barriers to entry also acted as a validation of the virtue signal.
Don't get me wrong. Copyleft licenses have a place. It's just that the place is not "Uber alles."
The alienation created by the crusader model is deliberate. It's meant to control and change, not to live and let live.
This is a bit of a tricky sentence, because it's clear that capitalism isn't simply the motivation to improve your lot in life, since this was around since before capitalism. The idea that "copyleft" ignores the desire to improve one's lot in life is silly. Much more often (though not even necessarily) it's individuals themselves who would rather give something to the world (and make sure it keeps giving to the world if it's something good) - and they choose a license accordingly. It's also strange to me that while it's less likely the most ardent capitalist supports the GPL or copyleft licenses, Richard Stallman is something of a little-L libertarian himself. In fact, he views software freedom as an important freedom like freedom of speech is, to be counted among the liberal ideas that the bourgeois (capitalist) revolution ushered in. Copyleft-as-freedom (in the sense that a freedom cannot be exercised to remove the freedom of others) is spiritually just as much of a 'capitalist' ideal as permissive licensing is, and the distinction can't be reduced down to the more modern dichotomy of positive and negative liberties, since even in terms of software, the content of the freedom can be framed in terms of either.
>The community licenses fall in exactly the same boat. They’re open, free to use and contribute to, as long as you follow the set of rules and restrictions. Whether they are open source is a boring semantic argument. If you claim they are not, then copyleft licenses aren’t either, unless you’re actually a crusader. If that’s you, I recommend having some whiskey ready for when the cruel realities of life come crashing down.
This is my main disagreement with the author. By brushing aside discussion of whether something is 'open source' as a mere semantic argument, he's of the idea that the principle can be abstracted away from the software. But in the case of open source software, I'm an essentialist; open source software is essentially open source, and in this Platonic sense is how I understand open source to be, just as an idealist might understand pears, apples and oranges to be part of something supersensibly real - fruit, not merely a mental idea.
The issue that people (like me) take with "community licenses" isn't that they have restrictions, it's that the restrictions are fundamentally at odds with what open source (or "free" or whatever other term you'd like to use for the essence of this software which would be well represented by a random aliquot of Github to be representative of the class). The author has tricked us - "open, free to use and contribute to" misses out a massive component of what we consider free software (including copyleft licenses) to be.
To me (YMMV) free software contains the hope for a better world, one which may be incompatible with this one. The talk of monetization and creating a 'business' around it has come about very naturally in the trend of commodification. Many people are (justifiably) upset because open source like houses or art now faces an internal contradiction between use-value and exchange-value, and it must do, in order to survive in a world dominated by capital, in which between 8 to 12 hours of our days are shifted towards those activities which produce exchange value away from those that don't.
You also imply GPL prevents corporate developers from using GPL'ed software, which is patently untrue. The GPL allows any person or organisation to take software and do absolutely anything they want with it, for themselves, without any obligation.
The GPL might have come out of a non-commercial hobbyist/hacker culture, but it certainly doesn't impose either practice.