- cross-posted to:
- foss@beehaw.org
- cross-posted to:
- foss@beehaw.org
TLDR: Companies should be required to pay developers for any open source software they use.
He imagines a simple yearly compliance process that gets companies all the rights they need to use Post-Open software. And they’d fund developers who would be encouraged to write software that’s usable by the common person, as opposed to technical experts.
It’s an interesting concept, but I don’t really see any feasible means to get this to kick off.
What are your thoughts on it?
Can you elaborate on this? I would have said exactly the opposite. That the GPL’s copyleft scheme and requirement of providing source code was very intentionally meant to be a way to prevent big corporations from taking advantage of users via software. I’ll admit that vision hasn’t born the fruit (that I’d’ve said) it was intended to. But wasn’t the intention there?
Meanwhile, BSD doesn’t have any provisions intended to keep some big company from distributing compiled binaries sans source code with lots of antifeatures added.
The terms of the GPL specifically require that you be able to specifically demand all source code of any GPL’d code on your smartphone (or smart TV or toaster or garage door opener or whatever) so that you can build at least the GPL parts of the firmware for your own devices. If the courts would just back that up, you would be able to recompile all the GPL’d parts of your smartphone’s firmware and run that on your phone. That was the intention of the GPL. And the terms of the GPL have been used to bear fruit in that direction. OpenWRT wouldn’t exist if Free Software advocates didn’t threaten legal action if… who was it… Broadcom?.. didn’t comply with the GPL and release its source code.
There is still Tivoization to contend with. (Locked bootloaders, basically.) Some (like Bradley Kuhn) think the GPL’s terms are sufficient to prevent that from being a problem already.
I think we’re saying the same thing; maybe I worded it confusingly. BSD is supposed to allow proprietary-ization, and GPL is supposed to prevent it. Apple is within both the letter and spirit of the BSD license with what they’re doing with iOS. Google is technically within the letter of the GPL with how they distribute Android, just as Redhat is technically within it in how they distribute RHEL, and honestly maybe both cases are fine, but it’s far from the intent. The spirit of the GPL is that people who would receive an Android phone would know that the relevant parts of their phone’s software are open source and have a realistic ability to modify them, which I’d argue is true for pretty much 0% of even tech-savvy users today.
Firmware? You mean kernel, right? (in addition to whatever low-level userland tools are GPLd, which I’m sure is a bunch.)
I don’t think Google really did anything wrong here. The letter of the law is being upheld pretty well in what they’re doing. I think the issue is the cell phone manufacturers making it de facto impossible to modify your cell phone. I don’t think the GPL actually makes any requirement for modifying the software in-place being a requirement (nor should it IMO), and providing the source code is done carefully in accordance with the license. It’s very different from the “fuck you I take your stuff, sue me hippie” stance that Broadcom took. Broadcom very clearly broke the law.
In my opinion, the issue is that a cell phone is such a free-software-hostile environment that arguably GPL software shouldn’t “be allowed to” come into contact with it in any capacity if the spirit of the GPL were being upheld. IDK how you can write something like that into a license though. And I think that’s what Perens is saying – that we need a new model that comes closer to the spirit in terms of what the actual result is.
(Edit: Actually, maybe making it a realistic possibility to drop in a recompiled replacement should be a part of the GPL. I remember people were talking about this decades ago with signed bootloaders and things, so that a recompiled kernel wouldn’t boot on particular machines unless you broke the DMCA by doing something to your hardware. I said I wouldn’t like any attempt in the license to forbid that, but on reflection, it sounds like maybe a pretty good way to better uphold the spirit of the GPL with particular legal language.)
Ok, yeah. I think I misinterpreted the bit of your post that I quoted.
About Google, it’s not necessarily Google who manufactured your phone. It is if you have a Pixel, but it might be Samsung or LG or ZTE phone or whatever. And it’s not necessarily them who sold you your phone. It might be T-Mobile or Mint Mobile or AT&T. Whoever conveyed GPL’d code in object form (as the GPL puts it “embodied in, a physical product”) has the responsibility of ensuring you can get from them the source of all GPL’d code on your device. Including all derivative works and modifications.
Derivative works includes kernel modules. Which includes device drivers for, say, 5G modems and fingerprint readers. And those are the kinds of things (aside maybe from tivoization) that are the biggest hurtles for making a fully free firmware for a given device.
So, yes, I mean the kernel and derivative works of the kernel like drivers. And of course anything else on the device that is GPL’d.
Plus, the GPL also includes what is necessary to compile and install GPL’d code as part of the source code. Some of the implications are pretty cool. See this article by Bradley Kuhn of the Software Freedom Conservancy for more info.
I think if companies did comply with all this, FOSS could benefit ordinary users who don’t even know what FOSS is a lot more than it does now.
How are phones free-software-hostile? I know IOS is, but Android not really. There’s a list of open source Android distributions. Although not very good, they are viable.
It does feel out of place how that isn’t in the GPL.
Yeah, I get that. This is why I’m not fully in agreement with Perens that this is an urgent problem.
Because the whole idea of the GPL was to usher in a future that was like the environment RMS grew up in, where you always had the source code to all your stuff and you could examine or modify or build on it. Linux machines are in actual practice that way, which is super cool. Android phones are basically not, from the viewpoint of almost any mortal human. I think the argument is that the efforts that the manufacturers make to close off modifications to the phones, and then put software on them that’s sometimes hostile to the best interests of the phone owner, means they shouldn’t be able to use all this GPL-licensed software for free in order to build the phones they’re selling.