Hacker News new | ask | show | jobs
by pyeri 228 days 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)?

8 comments

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?
I charge for copies of free software I wrote, an AGPLv3+ desktop application, and earn about $2k MRR from it. Most people don't care about your choice of license, they just want software that conveniently solves their problem(s). If they want to share it, that's fine. They're giving it to people who wouldn't have bought it anyway. If those grantees ever want an official copy, with updates and support, they come back to me.

You see the same effect mirrored in illicit distribution of copyrighted works. Sharing movies increases box office revenue. Sharing albums increases music sales.

The people who get a copy for no charge weren't going to buy a copy in the first place. When you expose them to the product, some percent go on to become fans, advertising the work, and perhaps giving money to support it.

Read through my past comments from last year to find more info.

Hey, I recognize your username, I bought RCU this year because I wanted to encrypt my reMarkable without losing data. I could have used the cloud or whatever, but I found your software and chose it because it is local-only and FOSS. Also reasonably priced.

Thanks for your work! I have enjoyed RCU and now use it regularly for backups, file transfer, etc. I'm glad to hear that it seems to be sustainable.

The problem is with someone taking your whole software, branding and marketing it as their own and undercutting your service for half the price, not individual using it for personal reasons.
So what? That sounds like competition, which is healthy in a free market.

And it's not a service, it's a copy. Customers are explicitly allowed to resell it, and they have. And I still earn enough cash to continue developing it.

And I have the search engine top hits. And I have thousands of social media comments linking to my website. Copying a business isn't just about copying the product. They have to copy my reputation, too. And my sales channels.

Stop being so afraid. Selling free software is good, and sustainable, and those who think otherwise are extremely naive, ignorant, or with ulterior motives.

Few companies have done it successfully like Red Hat, Odoo ERP and Sensio Labs (the company that builds Symfony framework).
Yes but notice how all of those are B2B? I was responding in the context of B2C, on one hand we know that people are willing to pay for convenience - Steam has largely beaten piracy by simply offering a better service.

But that wouldn't hold up if games were released under a FOSS license. There would be nothing stopping me (maybe trademark law? I'm sure there are workarounds) from setting up "SteamForFree", rehosting every game with the same user experience as Steam, and offering access for a small monthly fee to cover hosting costs and make a tidy profit.

I'd like to offer source code, allow modifications for personal use, while prohibiting redistribution and certain types of commercial use (e.g. companies over $x million in revenue). That's a pretty fundamental mismatch between what I feel comfortable with in order to protect my income and what FOSS licenses allow.

Fully agree with this sentiment.

I do think though that disallowing "certain types of commercial use" is a poison pill that would prevent your project from getting any significant adoption.

I think a better option would be something like GPL but with the "you can redistribute copies of this to anyone you like without paying me" part stripped out. (Maybe replaced with a provision that allows transferring your license to someone else, but then you're not allowed to use it afterwards.) The goal being to protect consumer freedom to exercise ownership rights over their software (including the ability to modify it) without simultaneously trying to abolish the copyright system and killing your own funding mechanism in the process.

I still think you'd get the part of the market that cares about creators. The part that doesn't would pirate anyway. Now, this is assuming they can determine that you are the original creator, but IMO this is what trademarks are for.
Notice all three of those companies make their money selling support contracts to businesses, not selling software to consumers.
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.
I literally can't unlock my device (Xiaomi) because there's no way to, despite that it's apparently the law in Germany that GPLv2 software cannot be Tivoized because "corresponding source" was interpreted to include everything you need to install modified software on the device. (AVM vs I don't remember, regarding fritz!box home routers)
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.

> 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.