this post was submitted on 31 Dec 2023
171 points (90.5% liked)
Open Source
29862 readers
239 users here now
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon from opensource.org, but we are not affiliated with them.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.