Comment by pyeri
4 months ago
This situation would have been avoided if we, as community of engineers, had insisted on full and uncompromised open source (Stallmanist or GPL way) right from the start instead of going the ESR way of half-hearted open source where it's technically open but corporates get to have a free lunch and make abuses.
Like most coders, I also prefer the permissive MIT/Apache/BSD licensing for most software projects but incidents like these make me question the direction we are heading towards. They raise fundamental questions about freedom itself - looking at the broader picture, is having a restrictive kind of freedom (GPL) often more beneficial than having full permissive freedom (MIT/Apache)?
But Linux is GPL. That didn't stop Google from using it as a basis for something that is not GPL and in fact not even open source (Google Play Services).
What leverage does a community of engineers have to insist on anything? Android could be entirely closed source. So could Chrome.
It would be naive to assume that the power dynamics in our society can be fundamentally altered by a 10 line software license.
The Linux kernel is a separate system layer here, it's the AOSP parts like the Dalvik Runtime (equivalent of JRE) and components built on top of it (such as Play Store) which are being subject to permissive licensing abuse. If AOSP itself was GPL licensed, it'd have been difficult for Google to create something closed like Play Store as it'd have been considered derivative work.
You're right that broadly speaking, there is very little that could be done to stop this but having a culture of "everything GPL" in an organization definitely helps. For example, Sun was farsighted enough, though they couldn't stop Oracle from acquiring MySql, Oracle was still forced to keep MySql under GPL and they were able to salvage MariaDB too.
Similar was the case with Java. Oracle tried everything in its power to control its use and direction including legal means, it's only thanks to GPL that alternative implementations like OpenJDK and Amazon Corretto still exist. We can't even imagine the state of these software today if Sun hadn't licensed them under GPL originally but used some other permissive license instead!
Dalvik was used up until Android 4.4. Since Android 5 Lollipop the Java Runtime Environment is called the 'Android Runtime' or just ART.
https://en.wikipedia.org/wiki/Android_Runtime
https://en.wikipedia.org/wiki/Dalvik_(software)
Java and MySQL were already out in the open as open source projects when Oracle acquired Sun though.
I don't know much about Android's history but if Dalvik was created exclusively by Google and they had no intention of open sourcing it fully... it'd be akin to a closed source Java app on top of the open source OpenJDK... which would be allowed.
Not that it would help in this particular scenario, but Linux did not embrace the GPL development from about 20 years ago.
But they are!!
I have a "weakly held strong opinion" on this subject. I think open source has been a disaster for the state of software for normal people. On the one hand exploited developers making peanuts or nothing for their hard work. On the other hand exploited users losing control of their devices and social networks.
The era when people paid an affordable fee for software they could use however they wanted was much better. But it got squeezed out by free software on the one side and serf-ware on the other.
The proof is in the pudding and the pudding is rotten.
Edit: then again maybe it's unfair of me to blame the decline in paid for software on open source.
> The era when people paid an affordable fee for software they could use however they wanted was much better. But it got squeezed out by free software on the one side and serf-ware on the other.
Charging for free and open-source software is not only possible, but encouraged Stallman himself.
Yes but how do you build a consumer software business on top of a licensing scheme that legally allows anyone to share their copy of the software with anyone else, and allows other businesses to resell your software at half the price?
17 replies →
It seems like B2B consumers pay a lot of money to get rid of that pesky "as is, without warranty" clause. It seems like almost every business that is paying for something they could do in-house for free, is basically paying for it because of this. They don't want to outsource the actual labour, per se - they want to outsource the blame when it goes wrong, even if the actual uptime percentage is identical or worse. Centralization is an advantage here - if we say "we're down because five other websites are down, sorry" it looks worse than "we're down because half the internet is down, sorry"
More generally, they want to have a contract for services with someone. That's what's really meant by "support". Not merely being able to call tech support, but having people backing their services. The really big places have their own engineers, and the really small places can't afford it, but the middle-sized places would rather pay you to support them as needed, than hire someone on their side dedicated to managing your product.
The illusion of support can also sell just as well as actual support. Just see Oracle vs Postgres...
Charging for open source software is possible but improbable, and I respectfully say it is naive to think otherwise.
Every open source product that takes in real money sells services and support, or they sell closed "premium" features. Oh, and the third bucket, philanthropy.
the people saying gpl cannot sell software is always bsd users, who always work for some company contracting with Boz allen Hamilton and such. It's never an honest opinion.
I have been involved in open source projects with various structures and sustainability models. Open-core Enterprise software startups, unfunded or underfunded middleware/libraries and underfunded end-consumer software/apps. A real problem that I have with lots of open source is a mismatch between technical talent to produce software, an open ethos/philosophy (finding true believers in a much more open future), AND the most important often missing piece, a product mindset and willingness to do work that isn't just software dev. So many FOSS projects I have seen, with capable engineers spending years of their lives working on them, are lacking product management, a willingness to let users actually push the project in a direction that is more approachable to a mass audience, and the willingness to do the hard boring work of making software run everywhere. Lots of stuff falls into this general gripe, and a bunch of it isn't news to anyone. Lots of open source has shitty design/UX, every damn one of us that lives with desktop Linux knows exactly why it's not the year of the Linux desktop. The sleep function on the laptop I am writing this comment on doesn't work right (when booted into Linux), and every few months you have to find terminal wizardry to fix normal shit that should have a GUI config interface to un-fuck it, but "real software people don't touch their mouse unless they absolutely must". This comment got a bit off the rails, anyway, long live FOSS!
People developing software for free will never compete with thousands of engineers employed at corporations working every day. Who has time for that except those that are rich and retired?
We need a non corporate model of software development, something like worker owned coops.
Disclaimer: I really like Open source.
I think without open source something similar might have happened to a lot of software, but instead of becoming Open, they'd become gratis (free/zero cost), or almost so. The heart of the matter is that software has near-0 cost of distribution, so making 1 trillion is basically the same cost (to the developer) as making 1 unit. So since developers have free economies of scale, they are highly incentivized to lower the price to capture most of the market, I think. Software also requires relatively little maintenance, it doesn't rot[1] -- good software basically lasts forever with some minor up-keeping. Add in competition, and the tendency is for cost to go to near 0, at least for relatively popular software. But then there are two problems:
(1) If the company goes under, the software is lost, or rather it could be reverse engineered with huge difficulty and some information loss about the actual code.
(2) The incentives are still not well aligned with users. The makers are incentivized to rely on advertisements, get (and sell) user data, make their software addictive, and more.
On (1), FOSS software guarantees the source will be available and can be ported to new systems, basically becoming a common good. On (2), the incentives are very well aligned for FOSS, development can become a community effort, and in the rare case a developer would turn to collecting and selling user data or dark patterns, the software can be forked for example. In particular Open source funded by grants, donations and community/voluntary work is very aligned with public interest.
I get the downside that it could be unfair that developers aren't being paid as much, but I believe it wouldn't be much of a difference in income (for those kinds of software), and we can and should as a community donate to open source efforts (and since it's clearly in the public benefit I think governments, companies and all sorts of organizations would be wise to do so).
Finally, you're basically still free to create and sell closed source software, you just have to compete with community and volunteer efforts. I think it's well within your right (and it might make sense in some cases, say niche software). But I think it's worth considering carefully wether it's best for the product, for you and for the community to have it closed or open.
(also, indeed you can sell FOSS, but to be honest I don't know of many success stories in this regard (anyone share some examples?); I know arduino which is open software/hardware was very successful selling their genuine boards/having a pay request on download that you can dismiss. On Linux package managers make this difficult, although Flathub recently added donation buttons!).
[1] There are some issues popularly called "software rot", but it's basically some relatively minor (compared to the rot of many physical goods) compatibility issues when interacting systems change.
Sounds a bit like victim blaming, how is it the fault of open source software that corporations are exploiting them?
Because they went "open source" and not "free software" to appease corporations.
The trap was there all along and developers fell right into it.
> ... uncompromised open source (Stallmanist ...
Of course, Stallman strongly eschews the ambiguity and misdirection inherent in the phrase open source, and in this particular instance the considered use of 'free' or 'freedom' is precisely what we're now all upset about the impending loss of.
GPL doesn't help you one bit in this particular situation, because "regular users" would still be using the locked-down stock Android that came with their device. So they still can't install your app.
Anyone who is already running a rooted Android or otherwise customized OS isn't affected by this, only developers who want to distribute their app to users.
AFAIK GPLv3 requires to allow user to run modified software (so essentially device must be unlockable). Android is not GPLv3, unfortunately.
Many Android devices are unlockable, you can run your own software, and yet we still have a problem. This problem exists irrespective of what you can technically do with the hardware due to the vote by corporations to favour device "security" over user freedom. A phone is useless to most people without the apps they depend on.
1 reply →
I can't root or otherwise customize my OS on my device because Linux is not GPLv3.
Correct. And the reason GPLv3 exists is because TiVo did the same thing eons ago.
Would that have really stoped google having its own cloud/app layer on top of the base system? OEM could still lock the bootloaders.
Unless, maybe the EU, enforce a right to repair and tinker we'll be at the mercy of these companies with their walled gardens.
Google is the modern Microsoft spiritual successor to Embrace, Extend, Extinguish. Look at all the people who use gmail, youtube, etc all from a web app that Google wholly controls.
> This situation would have been avoided if we, as community of engineers, had insisted on full and uncompromised open source (Stallmanist or GPL way) right from the start instead of going the ESR way of half-hearted open source where it's technically open but corporates get to have a free lunch and make abuses.
And we would have been in a better position to lobby for this if unions were widespread in the tech industry, which they are not.
[flagged]
> We accept everyone who accepts everyone.
If we were to accept and enforce this rule, billions of followers of some major religions would not be eligible to be part of a free and open society.
"Tolerate" might be a better word to use for their analogy. I can hate you and all you stand for, but I can still tolerate you. Meaning, I let you be and don't try to curtail your actions according to my personal beliefs.
2 replies →
Good.
What you quoted is just the person restating the paradox of tolerance. It's totally nonsensical once you get past "one-dimensonal evil" cases (or perhaps cases like software, a category is more narrowly and cleanly delineated).
He's right that freedom requires restriction. The problem with the paradox of tolerance is that it masquerades as a meaningful principle while leaving the actual restrictions unnamed.
P.S. it also is worth noting that, to the extent that the GPL works, it's precisely because it doesn't rely on vague principles. It's specific about what's restricted, when, and how.
1 reply →
Yeah, this is pretty much the rationale behind the Paradox of Tolerance, which you alluded to. Just as a tolerant society cannot tolerate intolerance without eventually just becoming intolerant, this clearly demonstrates that the same is true for Free Software. If we tolerate the use of Free Software for the use of the non-free software, eventually one loses the freedom in Free Software.
It's of course not a perfect analogy since the original Free Software still exists, but since in practice the dependency was from free towards non-free, like in this instance, it still works. Google and its anti-freedom practices are still in effective control of the Android ecosystem even though it's still technically free by way of AOSP.
And just as how some people argue that intolerance of the intolerant by a tolerant society is bad, so do some people argue that things like the GPL is bad because it prevents downstream modifications etc. going from free to non-free. Maybe this will help re-evaluate the culture around this stuff.
> Paradox of Tolerance, which you alluded to. Just as a tolerant society cannot tolerate intolerance without eventually just becoming intolerant
I’ve always thought this was hand wavy nonsense. Tolerance and tolerating is so ill defined in these discussions that they end up pointless.
I’m also not sure game theory supports that intolerance wins out if you view it as repeated instances of the prisoner’s dilemma.
Can you explain how you mean this in the context of software?
What you describe sounds like the paradox of intolerance but I fail to see how that can be applied to free software.
Freedom in general: You can't have absolute freedom because that includes the freedom to take the freedom from others.
In software: You can't have absolutely free software because ... ? I fail to see how free software might infringe on the freedom of others.
Sure.
If you MIT license a critical piece of software instead of GPL it, what happens is someone will have a business idea on top of it. They implement their idea, then close source the new implementation.
They then bring in revenue. That revenue then enables them to amplify and accelerate their modifications. Eventually, they start patenting and commodifying their changes. More resources accelerate their closed-source implementation that quickly obsoletes the open source implementation.
Now, people are forced to use the closed source implementation or be left behind with an inferior tech. Because these things tend to optimize or otherwise accelerate them, they have no choice but to pay or trust this closed source implementation, and that creates a feedback loop.
They get more resources, build more closed source stuff, and rarely contribute back to the open backbone that enabled them to begin with.
You an extrapolate the pattern from here.
I hate that you’re being downvoted. You are absolutely right here.
Being right does not equate to being popular. If popular was also right, we would be living in a golden age.
I've been ridiculed all my life for speaking my truth, even when it is difficult or harmful to me.
It's okay.
Just because we “allow nazis” doesn’t mean society will turn into an authoritarian dictatorship.
People are not stupid.
In this case, it was precisely the act of "allow nazis" that led Google to its current situation.
People aren't stupid, but the fact that Google is in this situation proves that we should have been less naive.
1 reply →
They don't need to be stupid. They could be complacent, afraid or morally corrupt.
1 reply →
Bold move, arguing against yourself like that.
I think a better critique is that these cold-war political basis vectors don't adequately describe today's political landscape (and neither do the revolution-era idea of the left wing vs the right wing; arguably they didn't back in 1950 either).
Best example of how the communist/fascist/liberal democracy triad completely falls is looking at China, which has facets of all three and none at the same time.
This makes it difficult nigh on impossible to have a real political discussion, as they fail to amount to more than connotative terms to be applied to outgroups, and do not map to political reality in any meaningful sense. Anyone can turn into the fuzzy outline of a nazi if you squint really hard.
Nuances needed to make any sort of sense of 21st century politics, especially its newer entries, are the tensions between cosmopolitarianism vs communitarianism and technocracy vs populism.
The problem with using such an outdated political map is that many of our contemporary problems are missing from it, and go unresolved until enough frustration builds that there is an ill-conceived popular upheaval that forces the issue. Rather than addressing the technocratic European Union's lack of accountability to its citizens, we get Brexit instead, which could likely have been avoided if the political map wasn't so out of touch.
2 replies →
> People are not stupid.
There are plenty of stupid people around.
We interact with them every day.
2 replies →
That's literally how the Nazis happened though? We know what happens if Nazis are tolerated: they grow in numbers, seize the government, and commit the holocaust. We know this because it already happened once.
Hmmm. The rise of nazis to power from time to time is evidence to the contrary.
Most people, might not be 'stupid'; but complacency in the population is enough to drop the guard down.
5 replies →
> half-hearted open source where it's technically open but corporates get to have a free lunch and make abuses.
I'd argue what you describe as "half-hearted" is actually more true to open source and libre software than restrictive licensing.