Remix.run Logo
SubiculumCode 4 hours ago

Why was it that in the early PC days, IBM was unable to keep a lid on 'IBM compatible', allowing for the PC interoperability explosion, yet today, almost every phone has closed drivers, closed and locked bootloaders, and almost complete corporate control over our devices? Why are there not yet a plethora of phones on the market that allow anyone to install their OS of choice?

flomo 2 hours ago | parent | next [-]

Nobody gave you the actual answer. IBM was under an antitrust decree and had to openly license their technology for a nominal fee. (Supposedly about $5/PC.) So yes, they were in a hurry and used generic parts, but they still had tons of patents on it. When they got out from under this, they came up with Microchannel.

cons0le 3 hours ago | parent | prev | next [-]

You're getting a lot of indirect responses. If you've ever tried to mod your android phone the answer is simple. Its google play services and hardware attestation for things like banking websites.

Its really easy to make a custom rom but hard to do serious "real life" stuff; companies don't want to make it easy. To most regular users, if they cant download apps from the google play store, and they can't use venmo\cashapp, then the OS is dead in the water from day 1

charcircuit 15 minutes ago | parent | next [-]

This just shows that the barrier of entry of a new phone OS is more than $0. You can pay app developers to port their apps off of play services, you can pay developers to add support for your attestation keys. Considering how many billions of dollars Android makes for Google, there is a room for a return on investment for an alternate OS to enable investments into a new OS.

SubiculumCode 3 hours ago | parent | prev [-]

Yeah but lots of phones you can't get ROMs for from a reputable source, and I sure as heck don't have the know how or time to build one, even if possible, which a lot of times is not due to locking down bootloaders, drivers, etc.

AnthonyMouse 2 hours ago | parent [-]

But that has the same cause.

When you buy a Windows PC, the first thing a lot of tech people will do is format it and put on a clean install of Windows without all of the OEM crapware, or in these days install Linux if grandma is just using email and Facebook anyway.

If you try to do that on your Android device, your bank app is broken, most importantly not because of anything the alternate OS is doing wrong, which causes the vast majority of people to not want to do it even if it means suffering the OEM crapware, with no way for the alternative OS to fix it. And that in turn allows the OEMs to get away with locked bootloaders etc., because then they're not losing sales to a competitor that lets you remove the crapware when nobody can do it either way.

wafflemaker 2 hours ago | parent [-]

For me the bank app was working, but the electric scooter app didn't and that was it for me :( Damn e-scooters, can't live without them.

But I still haven't contacted the support to ask them to verify phones in another way.

idle_zealot 4 hours ago | parent | prev | next [-]

> Why are there not yet a plethora of phones on the market that allow anyone to install their OS of choice?

There are technical reasons, but as ever the real underlying causes are incentives. Companies realized that the OS is a profit center, something they can use to influence user behavior to their benefit. Before the goal was to be a hardware company and offer the best hardware possible for cost. Now the goal is to own as large a slice of your life as possible. It's more of a social shift than a technological one. So why would a company, in this new environment, invest resources in making their hardware compatible with competing software environments? They'd be undercutting themselves.

That's not to say that attempts to build interoperability don't exist, just that they happen due to what are essentially activist efforts, the human factor, acting in spite of and against market forces. That doesn't tend to win out, except (rarely) in the political realm.

i.e. if you want interoperable mobile hardware you need a law, the market's not going to save you one this one.

fmajid 4 hours ago | parent | next [-]

Most ARM devices don't have UEFI or a standardized hardware abstraction layer as x86/x64 does, a prerequisite for having a choice of OSes.

vbezhenar 3 hours ago | parent [-]

I don't believe that's the true problem. Booting operating system is not a problem. There's no standardized hardware abstraction layer in PC either, every OS brings their own set of drivers.

My guess is that modern hardware is too complicated for one hacker to write reliable drivers. That wasn't the case back in the 90-s, when Linux matured. So we are at mercy of hardware manufacturers and they happened to not be interested in open upstreamed drivers.

matheusmoreira an hour ago | parent | next [-]

> My guess is that modern hardware is too complicated for one hacker to write reliable drivers.

Modern hardware has turned our operating systems into isolated "user OS" nodes in the schematics, completely sandboxed away from the real action. Our operating systems don't really operate systems anymore.

https://youtu.be/36myc8wQhLo

dizhn an hour ago | parent [-]

Excellent and scary video that I share myself all the time.

immibis 2 hours ago | parent | prev [-]

In the ARM world, there isn't even a standard way to boot, and there are no standard hardware interfaces - except maybe the interrupt controller, since it's part of the CPU and only ARM designs the CPUs.

On any PC, you can still use BIOS/UEFI services to get a basic framebuffer and keyboard input. You cannot do that on embedded ARM devices - you need to get several layers into the graphics stack to have a framebuffer. I tried it on the PinePhone, using existing source code as a reference, and the furthest I got was sending commands from the video port to the LCD controller and then not having an oscilloscope to see if the LCD controller replied back.

vbezhenar 2 hours ago | parent [-]

I worked with ARM boards, I know a bit about it. Booting into Linux is never hard, it's all about using uboot, sometimes with tiny patches on top. I think it's actually even easier with android phones, as you don't have access to the low level bootloader, you just use fastboot stuff.

Having basic framebuffer in BIOS/UEFI is neat for toy OSes, but not very relevant for something practical. You gotta need proper driver for GPU. And if you're just starting, UART console is actually more preferable way to interact with board, IMO.

photochemsyn 4 hours ago | parent | prev | next [-]

I generally agree, but as a caveat sometimes it's cheaper, more robust and more efficient to build an integrated system without having to worry about interoperability. BYD's electric vehicle chasis for example, seems to greatly cut manufacturing costs, even if it makes swap-in repairs harder down the road.

But, I'd guess this accounts for a relatively small fraction of corporate decision on lock-in strategies for rent extraction - advanced users should be able to treat their cell phones OS like laptops, with the same basic concepts, eg just lock down the firmware for the radio output, to keep the carriers happy, and open everything else, maybe with a warranty void if you swap out your OS. Laws are needed for that, certainly.

AnthonyMouse 2 hours ago | parent | prev [-]

> So why would a company, in this new environment, invest resources in making their hardware compatible with competing software environments?

Because that's what customers want to buy. People are paying premium iPhone prices for hardware with mediocre specs and then the hardware sells out when someone like Purism or Fairphone actually makes an open one. How many sales would you get if you did the same thing on a phone that was actually price/performance competitive with the closed ones?

Meanwhile all of that "profit center" talk is MBA hopium. Nobody is actually using the Xiaomi App Store, least of all the people who would put a different OS on their phone.

The real problem here is Google. Hardware attestation needs to be an antitrust violation the same as Microsoft intentionally breaking software when you tried to run it on a competing version of DOS and for exactly the same reason.

matheusmoreira an hour ago | parent | next [-]

> Hardware attestation needs to be an antitrust violation

Yes!! Absolutely agree. This needs to be made illegal.

sroussey 2 hours ago | parent | prev [-]

Some of the funnest work, if you could get it, was swapping ssds out of laptops coming through customs for high value targets.

mattmaroon 4 hours ago | parent | prev | next [-]

The only thing proprietary in the early PC architecture was the BIOS. Everything else was pre-existing architecture from third parties, there was nothing to keep a lid on.

Since a PC was a big box of parts anyone could manufacture one. A modern phone is much more complicated.

As to why there aren’t a plethora: the market doesn’t demand it that much. The people doing it aren’t wildly successful. Perhaps that’s changing (I hope so) but I know very few people outside this community who have ever thought “I wish I could have a third party version of Android”.

mcny 3 hours ago | parent [-]

Even the batteries are not interchangeable on phones. You'd think all phones should have the same exact battery, that this kind of standardization is beneficial for phone manufacturers as it helps them bargain with their parts suppliers but no for whatever reason we can't have that.

Edit: I am not saying just user replaceable. I mean standardized so the same cells in a 2024 phone also works on 2025...

masklinn 3 hours ago | parent | prev | next [-]

> Why was it that in the early PC days, IBM was unable to keep a lid on 'IBM compatible', allowing for the PC interoperability explosion

IBM didn't think to lock it down, the BIOS was the main blocker and was relatively quickly reverse-engineered (properly, not by copying over the BIOS source IBM had included in the reference manual). They tried to fix some with the MCA bus of the PS/2 but that flopped.

> almost every phone has closed drivers

Lots of hardware manufacturers refuse to provide anything else and balk at the idea of open drivers. And reverse engineering drivers is either not worth the hassle for the manufacturer or a risk of being sued.

> Why are there not yet a plethora of phones on the market that allow anyone to install their OS of choice?

Incentive. Specifically its complete lack of existence.

acomjean 2 hours ago | parent [-]

IBM was in a hurry.

From triumph of the nerds part 2 ( worth a watch.. they also explain how IBM ended up getting and operating system from Microsoft)

https://www.pbs.org/nerds/part2.html

https://youtu.be/_cMtZFwqPHc

“In business, as in comedy, timing is everything, and time looked like it might be running out for an IBM PC. I'm visiting an IBMer who took up the challenge. In August 1979, as IBM's top management met to discuss their PC crisis, Bill Lowe ran a small lab in Boca Raton Florida.

Bill Lowe:

Hello Bob nice to see you. BOB: Nice to see you again. I tried to match the IBM dress code how did I do? BILL: That's terrific, that's terrific.

He knew the company was in a quandary. Wait another year and the PC industry would be too big even for IBM to take on. Chairman Frank Carey turned to the department heads and said HELP!!!

Bill Lowe Head, IBM IBM PC Development Team 1980:

He kind of said well, what should we do, and I said well, we think we know what we would like to do if we were going to proceed with our own product and he said no, he said at IBM it would take four years and three hundred people to do anything, I mean it's just a fact of life. And I said no sir, we can provide with product in a year. And he abruptly ended the meeting, he said you're on Lowe, come back in two weeks and tell me what you need.

An IBM product in a year! Ridiculous! Down in the basement Bill still has the plan. To save time, instead of building a computer from scratch, they would buy components off the shelf and assemble them -- what in IBM speak was called 'open architecture.' IBM never did this. Two weeks later Bill proposed his heresy to the Chairman.

Bill Lowe:

And frankly this is it. The key decisions were to go with an open architecture, non IBM technology, non IBM software, non IBM sales and non IBM service. And we probably spent a full half of the presentation carrying the corporate management committee into this concept. Because this was a new concept for IBM at that point. BOB: Was it a hard sell? BILL: Mr. Carey bought it. And as result of him buying it, we got through it.

piyuv 4 hours ago | parent | prev | next [-]

Cory Doctorow answers this in his book “The Internet Con”. IBM fought with DoJ for years. Today, it’s a felony to mess with anything locked down (anti circumvention)

subscribed 4 hours ago | parent [-]

I don't think it's a felony to root/jailbreak one's own phone.

Yokolos 3 hours ago | parent | next [-]

The problem is doing it as a company. IBM wasn't defeated by hobbyists building their own PCs. They were defeated by other companies reverse engineering their BIOS and selling their own IBM compatible systems. This isn't possible anymore. It just means you get buried in lawsuits until you go bankrupt.

matheusmoreira an hour ago | parent | prev | next [-]

https://www.eff.org/deeplinks/2019/06/felony-contempt-busine...

It's not your phone, it's theirs. They're just letting you use it, and only if you're a good boy who follows all their policies and terms and conditions. Subvert this in any way and it's a felony.

immibis 2 hours ago | parent | prev [-]

It is. 17 U.S. Code § 1201 - Circumvention of copyright protection systems

aspenmayer an hour ago | parent [-]

Well actually, it isn’t for individuals and certain groups, technically.

Rooting/jailbreaking have had exemptions for many years now, on a three year basis which has seemingly been continually renewed, by the Librarian of Congress.

Exemption to Prohibition on Circumvention of Copyright Protection Systems for Access Control Technologies (2024)

https://www.federalregister.gov/documents/2024/10/28/2024-24...

https://www.eff.org/issues/dmca-rulemaking

fpoling an hour ago | parent | prev | next [-]

The hardware was evolving way faster 40 years ago and in much consequent ways than these days. Plus number of users grew exponentially. So a company spending too much efforts on software could loose its edge on the hardware side. And locking hardware would be counterproductive since as it would limit new users.

These days things are way slower and the are no exponential growth in users. Plus fast cellular networks made the speed of local hardware much less relevant. So the software became way more important and so its control.

jabl 3 hours ago | parent | prev | next [-]

Other companies saw that IBM effectively lost control over their platform (and thus lost a large revenue stream), and are determined to not make the same mistake.

That's a long running effort, going all the way from lobbying (DMCA and their ilk), to all kinds of hardware root-of-trust, encrypted and signed firmware, OS kernels and drivers etc etc. And yes, today we have the transistor budgets to spend on things like this, which wasn't an option back when the PC architecture was devised.

chasil 3 hours ago | parent | prev | next [-]

The systems and software were vastly less complex and powerful in the 8088 days.

Very little of it was open, including the headliner apps of WordPerfect and 123.

Google had the benefit of three decades to study IBM's loss of control to prevent it with Android. Aside from China, they have been largely successful.

cwyers 3 hours ago | parent | prev | next [-]

Because the original IBM PC was designed to be cheap and built in a hurry. IBM had a mandate for the original PC to use off the shelf components as much as possible. They also neglected to secure an exclusive license from Microsoft for DOS. 95% of building an IBM PC clone was buying the same parts and getting a DOS license from Microsoft (which they were very happy to sell you). Everyone saw what happened to IBM and just didn't do it that way again.

cwyers 3 hours ago | parent [-]

You can actually look at history and see what happens when IBM tries to wrest control of the PC platform back with the PS/2, which was a flop with consumers because it wasn't backwards compatible enough with IBM's own previous PCs or the wider PC market that developed. A bunch of PC clone manufacturers got together and came up with the EISA bus standard so they wouldn't have to pay IBM license fees for MCA, and made it backwards-compatible with ISA cards people already had. It was successful enough that IBM ended up adopting EISA for some of their PCs.

The other notable thing about the situation is that three companies ended up simultaneously responsible for a large part of the PC platform, originally -- IBM, Microsoft and Intel. They all worked in various ways to encourage competition to each other -- the reason we see OS competition on the PC platform is that IBM and Intel both found it in their interests to allow other OSes on the platform to reduce Microsoft's leverage over them. IBM in fact created one of the competing PC OSes out the gate, OS/2, which was originally an IBM/Microsoft joint project until they started feuding. Now, OS/2 is dead, but IBM's interest in being able to support their own OS instead of Microsoft's is a big reason the PC platform was built in an OS agnostic way. People criticize UEFI for locking down the PC platform more than the previous BIOS implementations, but UEFI is still _way_ more open than basically any other platform, most of which don't have a standard for bootloaders at all. It's really the absense of a standard for bootloaders that keeps most Android phones locked down. Two Android phones from the same OEM might have different bootloaders, much less two phones from different manufacturers. We've yet to see an alternate OS with the resources to support implementing their own bootloaders for a majority of Android phones.

HPsquared 2 hours ago | parent | prev | next [-]

The business world learned from their mistake.

shagie 4 hours ago | parent | prev [-]

The company making a device that is licensed by the FCC has to do everything that they can to mitigate the risk of an unlicensed broadcast on their devices.

https://www.fcc.gov/oet/ea/rfdevice

> INTENTIONAL RADIATORS (Part 15, Subparts C through F and H)

> An intentional radiator (defined in Section 15.3 (o)) is a device that intentionally generates and emits radio frequency energy by radiation or induction that may be operated without an individual license.

> Examples include: wireless garage door openers, wireless microphones, RF universal remote control devices, cordless telephones, wireless alarm systems, Wi-Fi transmitters, and Bluetooth radio devices.

https://www.ecfr.gov/current/title-47/chapter-I/subchapter-A...

Other countries have similar regulations.

PCs don't have that restriction.

You might be able to get to the point where you have a broadcast license and can get approved to transmit in the cellphone radio spectrum and get FCC approval for doing so with your device... but if you were to distribute it and someone else was easily able to modify it who wasn't licensed and made it into a jammer you would also be liable.

The scale that the cellphone companies work at such liability is not something that they are comfortable with. So the devices they sell are locked down as hard as they can to make it clear that if someone was to modify a device they were selling it wasn't something that they intended or made easy.

TheCraiggers an hour ago | parent | next [-]

> The company making a device that is licensed by the FCC has to do everything that they can to mitigate the risk of an unlicensed broadcast on their devices.

Where do you see this in the rules? The only thing I see that even comes close is the following sentence:

"Manufacturers and importers should use good engineering judgment before they market and sell these products, to minimize possible interference"

Maybe it's because I don't routinely deal with the FCC but to me, that language doesn't imply anything close to your ironclad rule you posted.

I'll also point out there are plenty of other devices that get sold that seemingly break your rule. SDRs, walkie talkies with the power to transmit for miles, basically every computer motherboard made since the year 2010, the Flipper, etc. At most, they simply have some fine print in the manual saying "you should probably have an FCC license to use this".

AnthonyMouse 2 hours ago | parent | prev [-]

I see people saying things like this all the time and then when I ask them for the specific text requiring them not to e.g. publish source code, nobody has been able to show me.

And a huge reason it seems like BS is this:

> PCs don't have that restriction.

There are obviously PCs with Wi-Fi and even cellular modems, so this can't be an excuse for a phone to not be at least as open as a PC.