I’m a big fan of open source, don’t get me wrong, but at some point we need to discuss how open source specifically enabled companies like Amazon and google to become as powerful as they are today. This is a job for someone who is way more qualified than me.
My understanding of open source was always anti capitalist, and I explained away the commercial clauses with people needing to eat. Think “if you’re programming open source you’re programming communism” but unironically.
I might be more explicit in this than some people but I’m certainly not alone with this Position. It’s arguably not the majority though, and most definitely not the historically dominant one.
Looking forward to read this once the historians have untangled it.
My understanding of open source was always anti capitalist
That’s a huge misunderstanding of the free software movement. FOSS was always about user freedom and the fight against proprietary software, not capitalism.
The movement actually encourages capitalism, albeit within the confines of software freedom (e.g. the Red Hat model). It’s literally in GNU’s definition of free software:
To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”
A few paragraphs further:
“Free software” does not mean “noncommercial.” On the contrary, a free program must be available for commercial use, commercial development, and commercial distribution. This policy is of fundamental importance—without this, free software could not achieve its aims. [..]
Commercial development of free software is no longer unusual; such free commercial software is very important. Paid, professional support for free software fills an important need.
Yeah, it’s especially a misunderstanding of the term “open source”.
The “open source’ term was explicitly coined in the 1990’s, to make “free software” more friendly to companies. A bunch of people including Bruce Parens and Eric Raymond got together and produced the “Open Source Initiative”, and defined what properties a license must have for it to be called “open source”.
The organization was founded in late February 1998 by Bruce Perens and Eric S. Raymond,[5] part of a group inspired by the Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product. Later,
As a campaign of sorts, “open source” was launched in 1998 by Christine Peterson, Jon “maddog” Hall, Larry Augustin, Eric S. Raymond, Bruce Perens, and others.[5][13]
The group adopted the Open Source Definition for open-source software, based on the Debian Free Software Guidelines. They also established the Open Source Initiative (OSI) as a steward organization for the movement
They created the term “open source” in 1998 specifically to make free software more friendly to companies.
Free software was viewed as too hard line – Stallman explicitly said that using and distributing proprietary software is “morally wrong”.
Ideologically, open source was designed to live alongside proprietary software more comfortably. A company could reasonably use open source software to develop proprietary software, whereas Stallman would say that is a moral failing.
The inverse was true too – remember BitKeeper and the Linux kernel . Yes, at one point before git, Linus wanted to use a commercial, closed-source VCS to develop GNU-licensed software, and the FSF and Stallman did not like that one bit.
But neither free software or open source are opposed to making money from your software or entrepreneurship. Open source is definitely not explicitly anti-capitalist (it’s really the opposite), and I’d say free software isn’t anti-capitalist either – it’s just extremely hard line about sharing source. This drastically limits, but doesn’t eliminate, the ability to retain a competitive advantage in a market.
They are about source availability, sharing knowledge, sharing the costs of labor, and end user empowerment. Commercial activity is even encourage, but it can’t interfered with the values.
So I guess I can see where people get “anti-capitalist” from, but then you really mean “free software” and not “open source software”.
The term “free software” comes from 1985, and “open source” comes from 1998. Before that, software was mostly a thing that came with hardware.
Bill Gates “invented” the idea of selling software without hardware in the early 1980’s. Before that, it wasn’t scene as a real thing, and software was MUCH less portable – it was often written in assembly language for particular computers.
I guess another interesting historical thing is that “open source” WAS pitted against monopolies like Microsoft, with their proprietary OS and ecosystem.
But one way they did that is to ALIGN with companies like Netscape (“the underdog”). “Open sourcing” Netscape was supposed to be a move that unleashed the power of the open source community, and the volunteers would beat Microsoft.
It was partially a success, in that it eventually produced Firefox. But then Firefox development ended up being almost entirely funded Google for ~20 years. Mozilla of course sold their big stream of user traffic and their search bar to Google.
Google wasn’t a big bad monopoly when that started – it was a beloved product and company, and it was also viewed as a “foil” to Microsoft.
But then it produced its own browser, and diminished Firefox. Now Google is definitely a big bad monopoly, especially in terms of the web, and sadly web tech.
Again the weird thing to me is how short memories are, and how things have flipped. Because Microsoft gave people VSCode and TypeScript, now developers like Microsoft. I think it shows that people are mostly ignorant of the ideas behind both movements, and they basically like “free stuff” that gets them jobs.
Most “open source” is produced by big tech now – Android, Chrome, Firefox funded by Google, Microsoft’s etc.
So all the terms are kinda messed up, and we probably need new terms.
It in no way encourages hoarding means of production and wage labour. It encourages trade, not capitalism.
Capitalism wants software to be private property and limit its use as much as possible to extract profits. It, for example, sells you software as a service. That’s Github.
Socialist economy would only sell you services and try to make the software as widely available as possible to minimize costs to everyone. That’s Gitlab.
That’s not capitalism, it’s a caricature of capitalism. Someone could similarly caricature socialism, but caricatures don’t beget knowledge or understanding. Even if we use your definition of capitalism, how do you explain the explosive proliferation of FOSS in capitalist countries (including from for-profit companies)—why is there so little FOSS produced outside the capitalist world (on a per-capita basis, anyway)?
Further, GNU text above centers “commerce” which is obviously compatible with capitalism and market socialism (and maybe other kinds of socialism?). It’s not obvious at all to me that GNU/FOSS is anti-capitalist.
how do you explain the explosive proliferation of FOSS in capitalist countries
With imperialism enabling some of the wealth to go around and since IT people were scarce, they’ve gotten decent wages and some of them just wanted to build cool software do they did?
Then it became a culture thing and is being used to signal virtue, including by those companies that want to attract high quality workers who prefer to cooperate and thus can more easily build larger systems.
Yeah, trading is the cornerstone of civilization, you cannot have a viable system without trade or fully automated luxury communism.
It’s not obvious at all to me that GNU/FOSS is anti-capitalist.
The reason why Libre software is anti-capitalist is specifically in that it tries to prevent alienation of worker (developer) from the means of production (software base) and GNU specifically started by providing the most important means of production, an editor and a compiler for free. Thus effectively taking those means of production and placing them into the public domain, safeguarded by GPL from bring privatized.
It would be nice if you could point out the incorrect bits. As far as I know:
The West is exploiting the South.
Partially thanks to (1), the West has way more resources than the South.
Partially thanks to (2), the citizens of the West have quite a bit of spare time.
Partially thanks to (3), the citizens of the West produce the bulk of free software.
And because we’re not monsters, of course companies will signal virtue any way they can so we flock to them, either as workers or as customers. I myself work at my current company because the job interview suggested they were more virtuous than what I’m used to — so far they seem to be. Sometimes it translates to some actual virtue, sometimes it’s pure signalling, see oil companies doing green washing.
As for software licensing being pro- or anti- capitalist, it’s a bit of a stretch because intellectual property isn’t a thing to begin with (intellectual monopoly is, that’s how copyright and patent work, they grant monopolies). But instances of software still are means of production, and their licences affect who can benefit from them. If it’s a free licence “everyone” can use it to produce stuff. That’s an obvious analogy to communism. If it’s a trade secret usable by only one company it’s an obvious analogy to capitalism. If it’s a proprietary licence… meh, kind of in-between? The analogy kind of breaks down at that point, but I’d place it closer to capitalism because the copyright holder retains a great deal of control, similar to Uber.
Try looking at it without your ideological goggles on.
Maybe be aware of your own? Everyone has their ideologies, though by default we tend to be blind to our own. Because what I value isn’t ideology, it’s… valuable, right? And what I believe is not ideology it’s… true, right?
Libre software is not anti-capitalist, and trying to analyze everything through “oppression” is simply incorrect. Also, I have limited time to argue with people spouting an antisemitic worldview.
I have limited time to argue with people spouting an antisemitic worldview.
Flagging this as “troll”. Please be more careful with that kind of accusation. I don’t even know who you’re targeting here, let alone why.
Of course you’ll tag it as a troll instead of introspecting.
Okay, so it looks like “people spouting an antisemitic worldview” was targeting me. We’re making progress.
Now please explain why. I only flagged you because you didn’t. Make a real effort at explaining yourself, and I will remove the flag. I am genuinely interested in learning how what I wrote (here or elsewhere), could come across as antisemitic.
Socialist governments have been some of the most antisemitic regimes in history, just look at the USSR for example, and modern Socialists have a definite antisemitism problem as well. I’m sick of people getting upvoted for spouting such hateful ideologies just because they align with a hivemind, and I will not have my own groups associated with hate, either.
Just, for the record, I think, to put it lightly, that your reasoning is a stretch.
I have heard stories about how the USSR used to be antisemitic. I can believe they were. However you need to put that into context: much of the world before WW2 was antisemitic. I haven’t checked, but I’m really not sure the USSR was much more antisemitic than the world at large. And I highly doubt they were as antisemitic as the Nazis themselves.
I have not heard any association between modern socialists and antisemitism. I expect them to be just as antisemitic than the average population (and of course much less antisemitic than modern fascists.)
As far as I am aware, socialists & communist ideologies don’t refer to any specific ethnic group. They’re just about having worker seizing control the means of production. Of course this means seizing it from the people who currently have it (called the “bourgeoisie”), and those people tend to be disproportionately rich and powerful… and criticised.
Is the bourgeoisie disproportionately Jewish? I don’t know, and Socialism doesn’t care: Jews aren’t the target. Their riches aren’t even the target. The target is only the means of production. (Note: private property is a human right, and now has effectively been extended beyond personal property, to lucrative property. So there’s an argument that prepossessing Jeff Bezos from Amazon is a violation of his human rights. But again, I don’t see anything antisemitic about that).
I’m not sure how you came to associate my original comment with socialism. I just built on 4 basic facts, that you have yet to explicitly disagree with. I mean, agreeing that the West is exploiting the South is socialist now?
Ethnic Vietnamese, ethnic Thai, ethnic Chinese, ethnic Cham, Cambodian Christians, and other minorities were also targeted for persecution and genocide. The Khmer Rouge forcibly relocated minority groups and banned their languages. By decree, the Khmer Rouge banned the existence of more than 20 minority groups, which constituted 15% of Cambodia’s population.[107] While Cambodians in general were victims of the Khmer Rouge regime, the persecution, torture, and killings committed by the Khmer Rouge are considered an act of genocide according to the United Nations as ethnic and religious minorities were systematically targeted by Pol Pot and his regime.[108][109]
Fair enough. Do note however that (anti) Zionism is fraught with nuances, and its associations with anti-Semitism (both real and imagined) are unfortunate. Last time I heard, the current Israeli government’s attitude towards Palestine is quite ironic considered what happened in WW2. There are also several shades of anti-Zionism. I’ve heard one stating that it was a bad idea to found Israel, but now that it’s done it should not be undone. Personally I don’t know enough about the whole issue to have an opinion.
That being said, the fact we can find it even on left-wing movements, which are supposed to be about inclusion, less inequality, meaningful freedom for all… is worrying. (Emphasis on “even”: I don’t believe left wing movement are any more vulnerable to this hate than random people.)
One more thing I forgot: communism has a history of being anti-religion, and did persecute religious people. Jews would obviously fall under that net. Now, I am myself anti-religion, but persecution would just induce reactance and strife and war… I believe the solution there is education and a decent minimum standard of living.
I think it’s mostly because those companies (Google especially) ran a very successful campaign against copyleft. But there was always a division between free software as a countercultural movement with specific political objectives and open source as a software development methodology. I think the free software people had the better argument, but they’re very easy to make fun of, and some influential people have had it in for them from the beginning.
I think the fact that the Linux developers generally consider it fine to build Linux into a product (like a not-AOSP Android image) that’s not itself free is a good example of the problem here. Apparently the only thing that matters is the codebase itself: as long as the big corporations are contributing their code back, it doesn’t matter that they’re generally exploiting a commons for profit. For all the free software enthusiasts that have flocked around it, Linux has no social purpose. It has no eyes for anything beyond its source tree.
Then there are the freedom maximalists (many BSD developers, for instance) who go a step further than simply not caring, and think it’s in some way actively morally offensive that corporations can’t take their code and build it into closed-source, for-profit products.
When I first became interested in free software in the second half of the 2000s, I felt that the free software movement had considerable influence with lots of people, and that its ideological precepts were generally taken as axioms by a lot of the open source public discource. But that has changed. Opinion seems to have shifted a long way to the developer-centric freedom maximalist view. The GPL is designed as a guerrilla tactic: a hack to subvert a capitalist system and use it for a social good. But we seem to have reached a point where pro-capitalist people don’t use copyleft because they disagree with its aims, and anti-capitalist people don’t use copyleft because they’ve been convinced (by a combination of very successful PR and blunders by RMS etc) that it’s pointless bureaucracy.
(as an aside, for why commercial use is allowed: my take is that there are two main reasons. The first is timelessness. A general principle should require minimal context to be applicable, and what “commercial exploitation” means might change with time (which is important because old licences are hard to change). The second is that it’s irrelevant: in a world where commercial users are generally forced to respect user freedom, it doesn’t matter that they’re making money out of it, because their “secret sauce” isn’t secret and they’re trading only on their execution)
The first couple of times it felt somewhat satisfying reading those stories where someone’s permissively licensed code was “stolen” by Amazon or whatever, but it’s become more frustrating than anything.
It wasn’t my intention to insult, although I concede that I wasn’t making any particular effort to avoid it; sorry. I don’t know exactly what your opinion is, but I wasn’t attempting to characterise all anti-copyleft people there. I was just complaining about a subset of them that I find particularly ridiculous.
There are non-ridiculous reasons to be anti-copyleft, although I generally still disagree with them: they seem, for the most part, primarily focused on code and developers, and not much on the world the code exists in. I think this is a mistake.
The anti-GPL voices that have been loudest during the years I’ve been paying attention have belonged to probably Torvalds, ESR, and Bryan Cantrill, all of whom have expressed the views that the GPL is holding open source back, that enforcing it is usually bad, and that open source doesn’t need any legal teeth to succeed. I think this is only even possibly true for a limited subset of software—the subset that it makes sense for companies to work with their competitors on. That might be enough if you just want lots of open source software to hack on, but it’s insufficient if you want the software to be relevant to anything in particular.
And it has the major weakness that any time a corporation’s inclinations or incentives shift they can switch from collaborators to commercial exploiters, and there is not really any effect preventing this except for very large projects. Even if you don’t care about any broader social purpose free software could have, it seems like a pretty
clear case of wishful thinking to imagine that companies’ selfish interests will necessarily continue to align with the project’s into the future.
Even if you are more optimistic about that (or have a more convincing line of reasoning than I’ve been able to think of) I don’t really understand the point in being an open source advocate with what seems to me like a very restricted view of its scope. Maybe it’s a very good software development methodology and it’s a good idea for every software company to use it for their software. Does anything change if that happens?
There are non-ridiculous reasons to be anti-copyleft, although I generally still disagree with them: they seem, for the most part, primarily focused on code and developers, and not much on the world the code exists in. I think this is a mistake.
I think that’s a mischaracterisation. I use permissive licenses precisely because of the broader world, specifically that it is made of people. People have a strong tendency to push back on restrictions instinctively. If you say to them that they must do something then their initial mindset will be to work out how to not do something.
If you want Free Software to succeed, you need people to see it as valuable and to demand it. If they see it as something imposing restrictions on them, that’s much harder than if they see it as something granting them freedoms. If you give someone a permissively licensed program, it’s easy to explain: they can do whatever they want with it, if they want to modify it to do something else then they can or they can pay someone else to. If you give them a GPL’d program then you have explain some complex legalese about what they can and can’t do.
Copyleft licenses also end up being complicated to comply with for unforeseen reasons. For example, if I download a portable version of a GPLv2 binary to a USB stick and give it to a friend, I have violated the license (unless I put the source on the USB stick or included a written offer good for three years to provide the exact version of the code used to build that binary). It isn’t worth anyone’s time to take me to court, but that’s the kind of thing that can easily be scaled up. This has even been a problem for some Linux distros: if they’re distributing binary packages of GPLv2 code they need to keep the source snapshot around for three years, which adds a lot of cost to their storage.
In terms of corporate involvement, my goal is to maximise the amount of Free software in the world, not to minimise the amount of proprietary code. When I’ve worked with companies that see a GPL’d thing that they might want as a dependency, their reaction is never to adopt it and contribute back. It’s often to write (or buy, of one exists) a proprietary version, which increases the amount of proprietary software in the world without increasing the amount of Free software. This is a net loss for the Free ecosystem. Sometimes they write a permissively licensed version, which is a technical win but comes with an opportunity cost.
In contrast, if there’s something permissively licensed then they typically contribute to that. Often with a period of keeping a proprietary fork first, but if anything that helps because they then start working upstreaming because they’ve realised that it’s a benefit to them. People who are doing something because they choose to are far more enthusiastic than people doing something because they feel forced to by lawyers. They are far more likely to be enthusiastic F/OSS advocates and push to move away from proprietary suppliers, which increases the demand for Free Software and helps the broader ecosystem.
If a company builds a proprietary product then creating a Free alternative is a lot of effort. If they build a proprietary product where 90% of their code is permissively licensed dependencies, it’s a tenth as much effort. That’s a huge win for the Free Software ecosystem because it means that the Free version has a decent chance of actually existing. That’s much easier to do if people can incrementally adopt F/OSS components, which they can’t do with strong copyleft licenses.
Thank you for this reply, I think it’s very well-argued.
In terms of corporate involvement, my goal is to maximise the amount of Free software in the world, not to minimise the amount of proprietary code.
So that makes sense, at least if we pessimistically assume there is no conservation law limiting the total amount of software in the world. But I think it might be more useful to think about one’s aspirations for the scope of free software rather than its quantity. I guess the FSF wants there to be no proprietary software, which implies that anything that can be done with software can be done with free software. But I’m more interested in where you stand on that, because I think the choice to go all-in on convincing companies that free software is in their interest may at some point hit a plateau where there is no economic incentive to free what remains. Would that be a problem for you? If so, how can we avoid it?
I guess the FSF wants there to be no proprietary software, which implies that anything that can be done with software can be done with free software.
To be clear: I completely agree with the FSF’s goals, we parted ways because I believe their strategy is fundamentally flawed and, not only will it never achieve these goals, it is actively harmful in attempting to achieve them.
But I’m more interested in where you stand on that, because I think the choice to go all-in on convincing companies that free software is in their interest may at some point hit a plateau where there is no economic incentive to free what remains
I think this is happening to a degree. We’re seeing a lot of ‘open core’ things, where companies reach a point where they’re willing to have some parts open but not others. It’s really unclear to me that this is a stable equilibrium point. For example, consider Docker / Moby. Docker Inc. produces Moby, which is open source, and then they package it up with some other stuff and create Docker Desktop, which is proprietary. The fact that a load of the components (e.g. runc) are open source made it much easier for Podman to come along as a completely open-source replacement and I now use Podman instead of Docker to manage containers.
Whether you can convince companies to go fully open or not is a good question, but I believe it’s definitely easier to convince them to go partially open, and easier to convince them to go from partially open to fully open than from fully proprietary to fully open.
Would that be a problem for you? If so, how can we avoid it?
I think there are two levers you can use here:
Social pressure
Economic pressure
Social pressure means making people demand open products. This works only if there’s some real benefit from them in F/OSS. If you look at the FSF’s four freedoms, most of them have limited value to typical end users:
“The freedom to run the program as you wish, for any purpose (freedom 0)”. Most proprietary software doesn’t impose particularly annoying conditions on use, though things like ‘may use it only on one computer’ may hit home here.
“The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1)”.
And if you’re not a programmer (or the program is 10MLoC and you have no idea how to even find the bit that you want to work on), that’s not so useful.
“The freedom to redistribute copies so you can help your neighbor (freedom 2).” Nice in theory, but somewhat abstract and altruistic.
“The freedom to distribute copies of your modified versions to others (freedom 3).” Only useful if I can usefully use Freedom 1.
Some freedoms (that you get from these) that users might care about would look more like this:
The freedom to run the software on any computer that is technically capable of doing so.
The freedom for you and your friends and family to run as many copies of the software as they want.
The freedom to keep running the software in perpetuity.
The freedom to get bug fixes from any other supplier if the original provider decides to evolve the software in a way that you don’t like.
These are things that I can explain to end users are of value to them. For talking to managers at companies that are not predominantly software companies, I can dress them up in business jargon and talk about second sources: It’s really valuable to a company that, if one supplier decides to put up their prices or drop a feature that they care about, they can find someone else who will do what they actually want. A huge amount of bespoke software is actually Free Software according to the FSF’s definition because the company that writes it provides the company that paid for it with all of the rights to have someone else maintain it.
If you want people to understand the value of being able to modify the software, then you need to focus on making software easy to modify. That means focusing on extension interfaces, modularity, and so on. The GPL is unhelpful here because it propagates along lines of tight coupling and so anything that is sufficiently loosely coupled to make it easy to extend like this will make it easy to circumvent the GPL. This is part of the reason for LLVM’s success: GCC intentionally avoided this kind of modularity because it would make it easy for companies to avoid the GPL and so intentionally made their software less useful, which made it easy for a competitor to surpass them. For example, GCC didn’t want an ability to export and import GIMPLE because it would enable a model of using GCC to generate GIMPLE, pass it to a proprietary program that optimised it, and then use GCC for code generation of the optimised GIMPLE.
Once you can articulate how end users benefit from software freedom, I’d then take inspiration from the EU energy efficiency labelling. These things had a simple A-F scale for how efficient devices were. When they were introduced, most devices were in the B-D range. After a few years, you couldn’t sell anything below B and even B-rated devices were hard to sell, because people had a direct ‘worse rating is higher operating cost’ idea in their head and so they needed to see much lower sticker prices to compensate for the longer running costs. This worked so well that they recently had to recalibrate the scale so that the new scale is entirely in the range that was an A on the old one. I can imagine producing a similar rating scale, not just on license permissions but also on first-party support lifetimes, that could be applied to software products. Maybe a fully proprietary thing gets a D, an open-core thing gets a C, open source gets B, open source with good packaging and timely updates gets A, open source with multiple companies providing support gets A+ or something.
The other pressures are economic. The Open Source movement has been very good at highlighting these. Proprietary COTS software is an economic oddity. Software is a zero marginal cost good: Once you’ve made one, producing the second is free. Business models that rely on charging people for the second one are inherently flawed. Business models that rely on someone paying for the first one are tricky because no one wants to pay for the cost of developing an entire OS, office suite, or AAA game, knowing that everyone else can then get it for free. Subscription models can work here. For example, you pay for security updates to be developed, everyone who paid gets them on day 1, everyone else gets them later (if they’re lucky, before in-the-wild exploits are floating around). Or pay for getting to vote on which features get added next, everyone gets the next version but the more people who pay and want a particular feature, the more likely that feature will be in the next version.
Perhaps more importantly on the economic side, you shift the power to the people that want the thing, not the people who want to seek rent on the thing. My team recently open sourced an ISA spec (RISC-V extension), an implementation of a production-quality core, and the RTOS that was co-designed with it. We (Microsoft) have some internal uses for this, but we see no competitive value in keeping it proprietary and we want companies like Google (who have a similar need) to collaborate on improving a shared implementation rather than build their own thing, so we each end up paying less than half the cost. Once something open is entrenched in a market, it’s hard for a proprietary offering in the same space to compete.
I think the biggest problem for F/OSS is that software engineering designs and business models are not separate. The kind of software that you want to build if your goal is to ship a single product with no user-serviceable parts inside and the kind of software architecture that you want to use if your goal is to ship something amenable to end-user customisation are totally different. There’s a tendency for F/OSS projects to get a lot of attention because they’re ‘open clone of X’, where X is a popular proprietary thing. A good F/OSS alternative to X would typically be a packaged set of a larger number of modular components that all do one part of what a user wants from X, well. Often they’d actually follow the 90:10 rule and do the 10% that the user really wants that X does plus the other 10% that X doesn’t do but that a particular user wants, because it’s they’re designed to be modular and it was easy to add the extra thing that this user really wanted but which it would not be economically feasible to add in a mass-market application because fewer than 1% of users want that particular feature.
I genuinely had conversations where people were explicitly writing an argument close enough that this description is not a caricature. They didn’t mention corporations, but they did explicitly write that copyleft is not actually free, with the strong implication that it’s therefore morally questionable. Moreover, pointing out that the only freedom copyleft denies¹ is the freedom to further deny freedoms downstream was only met with silence or “lalala I can’t hear you”.
Maybe they were trolling. But I’ve met enough to believe some of them are for real.
[1] Besides licence incompatibilities, which I reckon are a real problem.
I don’t think open source software specifically enabled Amazon and Google to become large companies. Any way in which these companies have used open source software is equally accessible to everyone else, including private individuals, market competitors to these companies, and other firms doing unrelated work. Being able to take advantage of an ecosystem of open source software benefits all software-users equally, not Amazon and Google in particular.
Indeed, most of what makes Google and Amazon powerful companies is their proprietary networks and proprietary software that relies on those networks to function. Even if e.g. AWS uses a lot of free software on its backend, the actual product that its customers are paying for is Amazon’s custody and management of the phsycial hardware - precisely because if the only value add was the free software that let’s you build something like AWS, any institution could just run that same software themselves on their own hardware on their own terms and not pay Amazon any money for it.
For me personally, I open source my work because when I leave my employer, I can take my toolkit with me. I am sure other people have their own motivations, but that’s mine. I hate knowing that I solved a problem before but not being able to access the code because it’s in an old private repo.
I don’t fully understand.
Do you also work on your company computer in your private time?
Or do you have an agreement with your employer that you open source code that is written in company time, but is not directly their core business?
Or is this something with region-specific legals that all code written during employment (also in private time and on private hardware) belongs to the employer? (I think I read something like this can happen in US)
I’m a big fan of open source, don’t get me wrong, but at some point we need to discuss how open source specifically enabled companies like Amazon and google to become as powerful as they are today. This is a job for someone who is way more qualified than me.
My understanding of open source was always anti capitalist, and I explained away the commercial clauses with people needing to eat. Think “if you’re programming open source you’re programming communism” but unironically.
I might be more explicit in this than some people but I’m certainly not alone with this Position. It’s arguably not the majority though, and most definitely not the historically dominant one.
Looking forward to read this once the historians have untangled it.
That’s a huge misunderstanding of the free software movement. FOSS was always about user freedom and the fight against proprietary software, not capitalism.
The movement actually encourages capitalism, albeit within the confines of software freedom (e.g. the Red Hat model). It’s literally in GNU’s definition of free software:
A few paragraphs further:
Source: https://www.gnu.org/philosophy/free-sw.en.html
Yeah, it’s especially a misunderstanding of the term “open source”.
The “open source’ term was explicitly coined in the 1990’s, to make “free software” more friendly to companies. A bunch of people including Bruce Parens and Eric Raymond got together and produced the “Open Source Initiative”, and defined what properties a license must have for it to be called “open source”.
https://en.wikipedia.org/wiki/Open_Source_Initiative
They created the term “open source” in 1998 specifically to make free software more friendly to companies.
Free software was viewed as too hard line – Stallman explicitly said that using and distributing proprietary software is “morally wrong”.
Ideologically, open source was designed to live alongside proprietary software more comfortably. A company could reasonably use open source software to develop proprietary software, whereas Stallman would say that is a moral failing.
The inverse was true too – remember BitKeeper and the Linux kernel . Yes, at one point before git, Linus wanted to use a commercial, closed-source VCS to develop GNU-licensed software, and the FSF and Stallman did not like that one bit.
But neither free software or open source are opposed to making money from your software or entrepreneurship. Open source is definitely not explicitly anti-capitalist (it’s really the opposite), and I’d say free software isn’t anti-capitalist either – it’s just extremely hard line about sharing source. This drastically limits, but doesn’t eliminate, the ability to retain a competitive advantage in a market.
They are about source availability, sharing knowledge, sharing the costs of labor, and end user empowerment. Commercial activity is even encourage, but it can’t interfered with the values.
So I guess I can see where people get “anti-capitalist” from, but then you really mean “free software” and not “open source software”.
The term “free software” comes from 1985, and “open source” comes from 1998. Before that, software was mostly a thing that came with hardware.
Bill Gates “invented” the idea of selling software without hardware in the early 1980’s. Before that, it wasn’t scene as a real thing, and software was MUCH less portable – it was often written in assembly language for particular computers.
I guess another interesting historical thing is that “open source” WAS pitted against monopolies like Microsoft, with their proprietary OS and ecosystem.
But one way they did that is to ALIGN with companies like Netscape (“the underdog”). “Open sourcing” Netscape was supposed to be a move that unleashed the power of the open source community, and the volunteers would beat Microsoft.
It was partially a success, in that it eventually produced Firefox. But then Firefox development ended up being almost entirely funded Google for ~20 years. Mozilla of course sold their big stream of user traffic and their search bar to Google.
Google wasn’t a big bad monopoly when that started – it was a beloved product and company, and it was also viewed as a “foil” to Microsoft.
But then it produced its own browser, and diminished Firefox. Now Google is definitely a big bad monopoly, especially in terms of the web, and sadly web tech.
Again the weird thing to me is how short memories are, and how things have flipped. Because Microsoft gave people VSCode and TypeScript, now developers like Microsoft. I think it shows that people are mostly ignorant of the ideas behind both movements, and they basically like “free stuff” that gets them jobs.
Most “open source” is produced by big tech now – Android, Chrome, Firefox funded by Google, Microsoft’s etc.
So all the terms are kinda messed up, and we probably need new terms.
It in no way encourages hoarding means of production and wage labour. It encourages trade, not capitalism.
Capitalism wants software to be private property and limit its use as much as possible to extract profits. It, for example, sells you software as a service. That’s Github.
Socialist economy would only sell you services and try to make the software as widely available as possible to minimize costs to everyone. That’s Gitlab.
That’s not capitalism, it’s a caricature of capitalism. Someone could similarly caricature socialism, but caricatures don’t beget knowledge or understanding. Even if we use your definition of capitalism, how do you explain the explosive proliferation of FOSS in capitalist countries (including from for-profit companies)—why is there so little FOSS produced outside the capitalist world (on a per-capita basis, anyway)?
Further, GNU text above centers “commerce” which is obviously compatible with capitalism and market socialism (and maybe other kinds of socialism?). It’s not obvious at all to me that GNU/FOSS is anti-capitalist.
With imperialism enabling some of the wealth to go around and since IT people were scarce, they’ve gotten decent wages and some of them just wanted to build cool software do they did?
Then it became a culture thing and is being used to signal virtue, including by those companies that want to attract high quality workers who prefer to cooperate and thus can more easily build larger systems.
Yeah, trading is the cornerstone of civilization, you cannot have a viable system without trade or fully automated luxury communism.
The reason why Libre software is anti-capitalist is specifically in that it tries to prevent alienation of worker (developer) from the means of production (software base) and GNU specifically started by providing the most important means of production, an editor and a compiler for free. Thus effectively taking those means of production and placing them into the public domain, safeguarded by GPL from bring privatized.
Your understanding of the FOSS world is extremely biased to the point of being incorrect.
Try looking at it without your ideological goggles on.
It would be nice if you could point out the incorrect bits. As far as I know:
And because we’re not monsters, of course companies will signal virtue any way they can so we flock to them, either as workers or as customers. I myself work at my current company because the job interview suggested they were more virtuous than what I’m used to — so far they seem to be. Sometimes it translates to some actual virtue, sometimes it’s pure signalling, see oil companies doing green washing.
As for software licensing being pro- or anti- capitalist, it’s a bit of a stretch because intellectual property isn’t a thing to begin with (intellectual monopoly is, that’s how copyright and patent work, they grant monopolies). But instances of software still are means of production, and their licences affect who can benefit from them. If it’s a free licence “everyone” can use it to produce stuff. That’s an obvious analogy to communism. If it’s a trade secret usable by only one company it’s an obvious analogy to capitalism. If it’s a proprietary licence… meh, kind of in-between? The analogy kind of breaks down at that point, but I’d place it closer to capitalism because the copyright holder retains a great deal of control, similar to Uber.
Maybe be aware of your own? Everyone has their ideologies, though by default we tend to be blind to our own. Because what I value isn’t ideology, it’s… valuable, right? And what I believe is not ideology it’s… true, right?
Libre software is not anti-capitalist, and trying to analyze everything through “oppression” is simply incorrect. Also, I have limited time to argue with people spouting an antisemitic worldview.
Flagging this as “troll”. Please be more careful with that kind of accusation. I don’t even know who you’re targetting here, let alone why.
Of course you’ll tag it as a troll instead of introspecting.
You’re part of the group that can’t be wrong, at least on political topics. You’re in the upper class.
Okay, so it looks like “people spouting an antisemitic worldview” was targeting me. We’re making progress.
Now please explain why. I only flagged you because you didn’t. Make a real effort at explaining yourself, and I will remove the flag. I am genuinely interested in learning how what I wrote (here or elsewhere), could come across as antisemitic.
Socialist governments have been some of the most antisemitic regimes in history, just look at the USSR for example, and modern Socialists have a definite antisemitism problem as well. I’m sick of people getting upvoted for spouting such hateful ideologies just because they align with a hivemind, and I will not have my own groups associated with hate, either.
Thanks for the explanation. Flag removed.
Just, for the record, I think, to put it lightly, that your reasoning is a stretch.
I have heard stories about how the USSR used to be antisemitic. I can believe they were. However you need to put that into context: much of the world before WW2 was antisemitic. I haven’t checked, but I’m really not sure the USSR was much more antisemitic than the world at large. And I highly doubt they were as antisemitic as the Nazis themselves.
I have not heard any association between modern socialists and antisemitism. I expect them to be just as antisemitic than the average population (and of course much less antisemitic than modern fascists.)
As far as I am aware, socialists & communist ideologies don’t refer to any specific ethnic group. They’re just about having worker seizing control the means of production. Of course this means seizing it from the people who currently have it (called the “bourgeoisie”), and those people tend to be disproportionately rich and powerful… and criticised.
Is the bourgeoisie disproportionately Jewish? I don’t know, and Socialism doesn’t care: Jews aren’t the target. Their riches aren’t even the target. The target is only the means of production. (Note: private property is a human right, and now has effectively been extended beyond personal property, to lucrative property. So there’s an argument that prepossessing Jeff Bezos from Amazon is a violation of his human rights. But again, I don’t see anything antisemitic about that).
I’m not sure how you came to associate my original comment with socialism. I just built on 4 basic facts, that you have yet to explicitly disagree with. I mean, agreeing that the West is exploiting the South is socialist now?
This was not hard to find.
Another example
Fair enough. Do note however that (anti) Zionism is fraught with nuances, and its associations with anti-Semitism (both real and imagined) are unfortunate. Last time I heard, the current Israeli government’s attitude towards Palestine is quite ironic considered what happened in WW2. There are also several shades of anti-Zionism. I’ve heard one stating that it was a bad idea to found Israel, but now that it’s done it should not be undone. Personally I don’t know enough about the whole issue to have an opinion.
That being said, the fact we can find it even on left-wing movements, which are supposed to be about inclusion, less inequality, meaningful freedom for all… is worrying. (Emphasis on “even”: I don’t believe left wing movement are any more vulnerable to this hate than random people.)
One more thing I forgot: communism has a history of being anti-religion, and did persecute religious people. Jews would obviously fall under that net. Now, I am myself anti-religion, but persecution would just induce reactance and strife and war… I believe the solution there is education and a decent minimum standard of living.
I think it’s mostly because those companies (Google especially) ran a very successful campaign against copyleft. But there was always a division between free software as a countercultural movement with specific political objectives and open source as a software development methodology. I think the free software people had the better argument, but they’re very easy to make fun of, and some influential people have had it in for them from the beginning.
I think the fact that the Linux developers generally consider it fine to build Linux into a product (like a not-AOSP Android image) that’s not itself free is a good example of the problem here. Apparently the only thing that matters is the codebase itself: as long as the big corporations are contributing their code back, it doesn’t matter that they’re generally exploiting a commons for profit. For all the free software enthusiasts that have flocked around it, Linux has no social purpose. It has no eyes for anything beyond its source tree.
Then there are the freedom maximalists (many BSD developers, for instance) who go a step further than simply not caring, and think it’s in some way actively morally offensive that corporations can’t take their code and build it into closed-source, for-profit products.
When I first became interested in free software in the second half of the 2000s, I felt that the free software movement had considerable influence with lots of people, and that its ideological precepts were generally taken as axioms by a lot of the open source public discource. But that has changed. Opinion seems to have shifted a long way to the developer-centric freedom maximalist view. The GPL is designed as a guerrilla tactic: a hack to subvert a capitalist system and use it for a social good. But we seem to have reached a point where pro-capitalist people don’t use copyleft because they disagree with its aims, and anti-capitalist people don’t use copyleft because they’ve been convinced (by a combination of very successful PR and blunders by RMS etc) that it’s pointless bureaucracy.
(as an aside, for why commercial use is allowed: my take is that there are two main reasons. The first is timelessness. A general principle should require minimal context to be applicable, and what “commercial exploitation” means might change with time (which is important because old licences are hard to change). The second is that it’s irrelevant: in a world where commercial users are generally forced to respect user freedom, it doesn’t matter that they’re making money out of it, because their “secret sauce” isn’t secret and they’re trading only on their execution)
The first couple of times it felt somewhat satisfying reading those stories where someone’s permissively licensed code was “stolen” by Amazon or whatever, but it’s become more frustrating than anything.
It’s really hard to constructively engage when someone portrays your opinion with such an insulting and crude caricature.
It wasn’t my intention to insult, although I concede that I wasn’t making any particular effort to avoid it; sorry. I don’t know exactly what your opinion is, but I wasn’t attempting to characterise all anti-copyleft people there. I was just complaining about a subset of them that I find particularly ridiculous.
There are non-ridiculous reasons to be anti-copyleft, although I generally still disagree with them: they seem, for the most part, primarily focused on code and developers, and not much on the world the code exists in. I think this is a mistake.
The anti-GPL voices that have been loudest during the years I’ve been paying attention have belonged to probably Torvalds, ESR, and Bryan Cantrill, all of whom have expressed the views that the GPL is holding open source back, that enforcing it is usually bad, and that open source doesn’t need any legal teeth to succeed. I think this is only even possibly true for a limited subset of software—the subset that it makes sense for companies to work with their competitors on. That might be enough if you just want lots of open source software to hack on, but it’s insufficient if you want the software to be relevant to anything in particular.
And it has the major weakness that any time a corporation’s inclinations or incentives shift they can switch from collaborators to commercial exploiters, and there is not really any effect preventing this except for very large projects. Even if you don’t care about any broader social purpose free software could have, it seems like a pretty clear case of wishful thinking to imagine that companies’ selfish interests will necessarily continue to align with the project’s into the future.
Even if you are more optimistic about that (or have a more convincing line of reasoning than I’ve been able to think of) I don’t really understand the point in being an open source advocate with what seems to me like a very restricted view of its scope. Maybe it’s a very good software development methodology and it’s a good idea for every software company to use it for their software. Does anything change if that happens?
I think that’s a mischaracterisation. I use permissive licenses precisely because of the broader world, specifically that it is made of people. People have a strong tendency to push back on restrictions instinctively. If you say to them that they must do something then their initial mindset will be to work out how to not do something.
If you want Free Software to succeed, you need people to see it as valuable and to demand it. If they see it as something imposing restrictions on them, that’s much harder than if they see it as something granting them freedoms. If you give someone a permissively licensed program, it’s easy to explain: they can do whatever they want with it, if they want to modify it to do something else then they can or they can pay someone else to. If you give them a GPL’d program then you have explain some complex legalese about what they can and can’t do.
Copyleft licenses also end up being complicated to comply with for unforeseen reasons. For example, if I download a portable version of a GPLv2 binary to a USB stick and give it to a friend, I have violated the license (unless I put the source on the USB stick or included a written offer good for three years to provide the exact version of the code used to build that binary). It isn’t worth anyone’s time to take me to court, but that’s the kind of thing that can easily be scaled up. This has even been a problem for some Linux distros: if they’re distributing binary packages of GPLv2 code they need to keep the source snapshot around for three years, which adds a lot of cost to their storage.
In terms of corporate involvement, my goal is to maximise the amount of Free software in the world, not to minimise the amount of proprietary code. When I’ve worked with companies that see a GPL’d thing that they might want as a dependency, their reaction is never to adopt it and contribute back. It’s often to write (or buy, of one exists) a proprietary version, which increases the amount of proprietary software in the world without increasing the amount of Free software. This is a net loss for the Free ecosystem. Sometimes they write a permissively licensed version, which is a technical win but comes with an opportunity cost.
In contrast, if there’s something permissively licensed then they typically contribute to that. Often with a period of keeping a proprietary fork first, but if anything that helps because they then start working upstreaming because they’ve realised that it’s a benefit to them. People who are doing something because they choose to are far more enthusiastic than people doing something because they feel forced to by lawyers. They are far more likely to be enthusiastic F/OSS advocates and push to move away from proprietary suppliers, which increases the demand for Free Software and helps the broader ecosystem.
If a company builds a proprietary product then creating a Free alternative is a lot of effort. If they build a proprietary product where 90% of their code is permissively licensed dependencies, it’s a tenth as much effort. That’s a huge win for the Free Software ecosystem because it means that the Free version has a decent chance of actually existing. That’s much easier to do if people can incrementally adopt F/OSS components, which they can’t do with strong copyleft licenses.
Thank you for this reply, I think it’s very well-argued.
So that makes sense, at least if we pessimistically assume there is no conservation law limiting the total amount of software in the world. But I think it might be more useful to think about one’s aspirations for the scope of free software rather than its quantity. I guess the FSF wants there to be no proprietary software, which implies that anything that can be done with software can be done with free software. But I’m more interested in where you stand on that, because I think the choice to go all-in on convincing companies that free software is in their interest may at some point hit a plateau where there is no economic incentive to free what remains. Would that be a problem for you? If so, how can we avoid it?
To be clear: I completely agree with the FSF’s goals, we parted ways because I believe their strategy is fundamentally flawed and, not only will it never achieve these goals, it is actively harmful in attempting to achieve them.
I think this is happening to a degree. We’re seeing a lot of ‘open core’ things, where companies reach a point where they’re willing to have some parts open but not others. It’s really unclear to me that this is a stable equilibrium point. For example, consider Docker / Moby. Docker Inc. produces Moby, which is open source, and then they package it up with some other stuff and create Docker Desktop, which is proprietary. The fact that a load of the components (e.g. runc) are open source made it much easier for Podman to come along as a completely open-source replacement and I now use Podman instead of Docker to manage containers.
Whether you can convince companies to go fully open or not is a good question, but I believe it’s definitely easier to convince them to go partially open, and easier to convince them to go from partially open to fully open than from fully proprietary to fully open.
I think there are two levers you can use here:
Social pressure means making people demand open products. This works only if there’s some real benefit from them in F/OSS. If you look at the FSF’s four freedoms, most of them have limited value to typical end users:
Some freedoms (that you get from these) that users might care about would look more like this:
These are things that I can explain to end users are of value to them. For talking to managers at companies that are not predominantly software companies, I can dress them up in business jargon and talk about second sources: It’s really valuable to a company that, if one supplier decides to put up their prices or drop a feature that they care about, they can find someone else who will do what they actually want. A huge amount of bespoke software is actually Free Software according to the FSF’s definition because the company that writes it provides the company that paid for it with all of the rights to have someone else maintain it.
If you want people to understand the value of being able to modify the software, then you need to focus on making software easy to modify. That means focusing on extension interfaces, modularity, and so on. The GPL is unhelpful here because it propagates along lines of tight coupling and so anything that is sufficiently loosely coupled to make it easy to extend like this will make it easy to circumvent the GPL. This is part of the reason for LLVM’s success: GCC intentionally avoided this kind of modularity because it would make it easy for companies to avoid the GPL and so intentionally made their software less useful, which made it easy for a competitor to surpass them. For example, GCC didn’t want an ability to export and import GIMPLE because it would enable a model of using GCC to generate GIMPLE, pass it to a proprietary program that optimised it, and then use GCC for code generation of the optimised GIMPLE.
Once you can articulate how end users benefit from software freedom, I’d then take inspiration from the EU energy efficiency labelling. These things had a simple A-F scale for how efficient devices were. When they were introduced, most devices were in the B-D range. After a few years, you couldn’t sell anything below B and even B-rated devices were hard to sell, because people had a direct ‘worse rating is higher operating cost’ idea in their head and so they needed to see much lower sticker prices to compensate for the longer running costs. This worked so well that they recently had to recalibrate the scale so that the new scale is entirely in the range that was an A on the old one. I can imagine producing a similar rating scale, not just on license permissions but also on first-party support lifetimes, that could be applied to software products. Maybe a fully proprietary thing gets a D, an open-core thing gets a C, open source gets B, open source with good packaging and timely updates gets A, open source with multiple companies providing support gets A+ or something.
The other pressures are economic. The Open Source movement has been very good at highlighting these. Proprietary COTS software is an economic oddity. Software is a zero marginal cost good: Once you’ve made one, producing the second is free. Business models that rely on charging people for the second one are inherently flawed. Business models that rely on someone paying for the first one are tricky because no one wants to pay for the cost of developing an entire OS, office suite, or AAA game, knowing that everyone else can then get it for free. Subscription models can work here. For example, you pay for security updates to be developed, everyone who paid gets them on day 1, everyone else gets them later (if they’re lucky, before in-the-wild exploits are floating around). Or pay for getting to vote on which features get added next, everyone gets the next version but the more people who pay and want a particular feature, the more likely that feature will be in the next version.
Perhaps more importantly on the economic side, you shift the power to the people that want the thing, not the people who want to seek rent on the thing. My team recently open sourced an ISA spec (RISC-V extension), an implementation of a production-quality core, and the RTOS that was co-designed with it. We (Microsoft) have some internal uses for this, but we see no competitive value in keeping it proprietary and we want companies like Google (who have a similar need) to collaborate on improving a shared implementation rather than build their own thing, so we each end up paying less than half the cost. Once something open is entrenched in a market, it’s hard for a proprietary offering in the same space to compete.
I think the biggest problem for F/OSS is that software engineering designs and business models are not separate. The kind of software that you want to build if your goal is to ship a single product with no user-serviceable parts inside and the kind of software architecture that you want to use if your goal is to ship something amenable to end-user customisation are totally different. There’s a tendency for F/OSS projects to get a lot of attention because they’re ‘open clone of X’, where X is a popular proprietary thing. A good F/OSS alternative to X would typically be a packaged set of a larger number of modular components that all do one part of what a user wants from X, well. Often they’d actually follow the 90:10 rule and do the 10% that the user really wants that X does plus the other 10% that X doesn’t do but that a particular user wants, because it’s they’re designed to be modular and it was easy to add the extra thing that this user really wanted but which it would not be economically feasible to add in a mass-market application because fewer than 1% of users want that particular feature.
I genuinely had conversations where people were explicitly writing an argument close enough that this description is not a caricature. They didn’t mention corporations, but they did explicitly write that copyleft is not actually free, with the strong implication that it’s therefore morally questionable. Moreover, pointing out that the only freedom copyleft denies¹ is the freedom to further deny freedoms downstream was only met with silence or “lalala I can’t hear you”.
Maybe they were trolling. But I’ve met enough to believe some of them are for real.
[1] Besides licence incompatibilities, which I reckon are a real problem.
I don’t think open source software specifically enabled Amazon and Google to become large companies. Any way in which these companies have used open source software is equally accessible to everyone else, including private individuals, market competitors to these companies, and other firms doing unrelated work. Being able to take advantage of an ecosystem of open source software benefits all software-users equally, not Amazon and Google in particular.
Indeed, most of what makes Google and Amazon powerful companies is their proprietary networks and proprietary software that relies on those networks to function. Even if e.g. AWS uses a lot of free software on its backend, the actual product that its customers are paying for is Amazon’s custody and management of the phsycial hardware - precisely because if the only value add was the free software that let’s you build something like AWS, any institution could just run that same software themselves on their own hardware on their own terms and not pay Amazon any money for it.
For me personally, I open source my work because when I leave my employer, I can take my toolkit with me. I am sure other people have their own motivations, but that’s mine. I hate knowing that I solved a problem before but not being able to access the code because it’s in an old private repo.
I don’t fully understand. Do you also work on your company computer in your private time? Or do you have an agreement with your employer that you open source code that is written in company time, but is not directly their core business? Or is this something with region-specific legals that all code written during employment (also in private time and on private hardware) belongs to the employer? (I think I read something like this can happen in US)
I open source all of the code that I write for work. We’re not really a software company, so they don’t care.