Hacker News new | past | comments | ask | show | jobs | submit login

I have to say, I don't entirely understand Apple's approach here.

Apple spent significant engineering effort modifying their iOS bootloader to support third-party OSs—then neglected to tell anyone how to actually make a third-party OS. Whoops! Have fun!

And to be clear, this is absolutely preferable to Apple selling fully locked-down Macs. And, I realize that macOS will always be Apple's first priority, and that writing documentation takes effort.

But would it really kill Apple to connect Marcan to an engineer, who could allocate 30 minutes a week to answering questions? Is there some sort of legal liability involved? Security concerns? Brand safety?

The Asahi team is comprised of people who clearly enjoy reverse-engineering, and if everyone is having fun (and creating an awesome Linux port in the process), perhaps that's all that matters. But I still find Apple's choices confusing.




> And, I also realize that writing documentation requires effort.

For Apple's hardware, the documentation exists. It's comprehensive. It's just not being released. (This is not the case for software.)

Source: Apple employee.

But this attitude is common in the hardware industry. This particular situation is a bit unusual because most of the time, Linux drivers either are developed with no support from the hardware vendor (something which wouldn't have been possible here due to secure boot) or are developed by the hardware vendor itself. But in the second case, it's common for no documentation to be released along with the driver, leaving independent parties to glean what they can from register names and other definitions in the source code. Or if documentation is released, it only covers the parts that drivers are supposed to access, excluding what would be needed to, say, write a custom firmware to replace the included blob.


But that doesn't really explain anything, or if anything makes it more confusing. So Apple goes out of their way to enable running non-Darwin OSs, writes good docs on how to use the hardware... and then never releases any docs or does anything to actually help people run non-Darwin OSs, after putting in all that effort to make it possible in the first place? Having the docs exist but not release them is more confusing, not less.


The documentation is for internal usage, it's not confusing. Of course their hardware behavior is documented in detail.


> Apple spent significant engineering effort modifying their iOS bootloader to support for third-party OSs—then neglected to tell anyone how to actually make a third-party OS. Whoops! Have fun!

This tend to be the usual practice for much of what Apple does, release things with minimal documentation and let others figure out how it works.

Maybe it's just a sadist corporation who wants to see how far people are willing to go in order to get stuff working with their own hardware/software? Sometimes it certainly seems that way.


I think we are ascribing too much to this as some corporate apple policy when the reality is closer to a single engineer or engineering lead believes the hardware would be open, but Apple is not going to spend any resources behind that.

So you have engineering teams with hacker ethos building "open" hardware, but Apple the company doesn't really give a shit and is not going to spend money on documentation for a feature the company doesn't care about.


I take your point, but I have to imagine Tim Cook (or someone just under him) signed off on opening the bootloader. It's not like the executive team doesn't know about it.

Allowing an engineer to answer questions for half an hour a week would be practically a rounding error in terms of resources, and certainly less of a commitment than rewriting iBoot policy, which they already did.


We're not really privy to how it got through (I could imagine some engineer/manager somewhere arguing that allowing it open would change some obscure tax/import filing somewhere).


I’m fairly sure that it is not as easy from a legal standpoint. Apple does manufacture some of their own components, but they still have plenty of third-party ones, where the usual licensing applies - so the same reason why it’s hard to run third-party OS on android phones.


It's mostly frustrating that this is still the rhetoric from Apple now that they are the largest company in modern existence. They have the faculties to release their Unix drivers and even provide world-class Linux support while still profiting heavily from their hardware sales. Yet, they don't. Every time they're given an opportunity to err on the side of freedom or choice, they shrug.

This is an ongoing problem that has prevented me from daily-driving MacOS since Catalina. Really a stance I wish Apple would revert, even Microsoft does a better job here than Apple.


> "it's mostly frustrating that this is still the rhetoric from Apple now that they are the largest company in modern existence."

But why should it change? They've become the most profitable for sure, but they became that while ignoring docs etc. Why should they now change, considering it's been unquestionable proven that it doesn't matter for their financial success?

PS: i still don't understand how people some people call it largest, doesn't that adjective describe size...? It doesn't have the most employees, it doesn't have the most locations etc. It definitely has the largest pile of money, but that's still a very unfitting description for that, at least in my opinion, as that's usually called richest.


> But why should it change?

Because I'm not buying Macbooks anymore. In fact, over the past 5 years I've increasingly seen people develop on a dedicated Linux box or Linux VM. Apple's appeal is shrinking to developers, and it has been on a steady decline for the past 10 years. For all of MacOS' POSIX certification, it hasn't stopped people from trying to implement Linux just so they can run privacy-respecting software and benign GPU libraries that Apple refuses to officially support.

Their plan here isn't working. It might placate the 80% of users who don't care about this stuff, but the technical sentiment towards Apple's technologies is waning. I'm frustrated with WebKit, I'm frustrated with Swift, and everyone is frustrated with their 30% tax. Something has to give, and it's probably going to be Apple's facade of benevolence.

> It definitely has the largest pile of money, but that's still a very unfitting description for that, at least in my opinion.

All businesses are constrained by a set of limiting factors. The most important factor will always be capital, since you can trade it for any one of the lesser factors. Apple uses their 200 billion USD cash reserve to buy goodwill in the form of advertising, first-in-line tickets to TSMC and the finest lobbyists in the nation. They have every protection that lesser companies do not, which is why their valuation supersedes any other publicly or privately traded organization.

I'll stop calling them the biggest company when business stops revolving around money.


> Because I'm not buying Macbooks anymore.

You're not but many people still are [0]. Many people started to see Apple's developer experience wane in previous years, true, but their Apple Silicon changed that. Their price/performance/battery life ratio is simply unbeatable for devs and anecdotally many people I know bought AS Macs where before they would've bought or used a Windows or Linux computer, including me.

There are some things I will agree with you on though, such as their 30% tax, as a mobile developer myself.

[0] 2021 Mac shipments grew twice as fast as overall PC shipments - https://9to5mac.com/2022/01/12/2021-mac-shipments-growth/


With all due respect, if you're a mobile developer you don't get much of a choice which laptop you buy. A Macbook is the only machine that lets you meaningfully deploy to iOS, so I'm not sure if I agree that Windows/Linux machines were competing products.

Apple Silicon only reverses their hardware quality (which was truly awful 2015-2018). Their software quality has still been in rapid decline since Mojave, and it's developer experience out-of-the-box is still marred with coreutils older than dinosaurs and increased restrictions around running software. I know a lot of developers that are happy with Apple Silicon, but I know exactly 0 developers that don't complain MacOS.


You're right, I do complain about macOS. I guess the stuff I'm doing isn't as dependent on the OS itself (web, mobile dev) so I don't see the same problems as others might who are working on lower level stuff.

I used to use tools like Codemagic which ran macOS in the cloud for deploying mobile apps, so buying a MacBook wasn't necessarily a blocker for me.


> I used to use tools like Codemagic which ran macOS in the cloud for deploying mobile apps, so buying a MacBook wasn't necessarily a blocker for me.

Codemagic, from my understanding just does code-signing and deployment. I don't know how you did it, but a Mac would still be necessary for access to Xcode libraries, Objective-C, and iOS simulators.


Codemagic and Bitrise allow connecting to a Mac in their cloud via VNC where you have full graphical access to XCode and iOS stimulators. I believe both have free plans that support this.


I've sworn off Macbooks three times now but after I'm disappointed (again) by Dell/Lenovo, I just end up buying another Mac.


> Something has to give, and it's probably going to be Apple's facade of benevolence.

Honestly speaking, Apples main success vector has always been it's marketing. It's never been benevolent, and if you ever thought it was... I'm afraid you've only witnessed first hand how effective they are at their job.

> I'll stop calling them the biggest company when business stops revolving around money.

I admit that I'm not a native speaker, but that's exactly the reason why that adjective confuses me so much.

Bigger/largest directly translates over but nobody would consider bigger to be better in a financial context. Profitability is the thing that's interesting, and to a lesser extend how rich is is.

Calling it biggest/largest doesn't (to me) say anything particularly interesting about it


Lol Apple doesn’t care about users like you. You and your like not buying MacBooks has virtually zero impact on them.


Yeah, it does kinda suck. That being said, I save a lot of money not paying for AppleCare, iCloud and my Developer License anymore.


> [...] even Microsoft does a better job here than Apple.

How so?


For one, they helped build Linux drivers for NTFS. Despite Apple promising to document and open-source APFS, they still have not gotten around to it (which makes interop with Macs really frustrating). There are lots of little things, too - Microsoft packages desktop apps for Linux and made pretty great OSS contributions like the Monaco editor. The list could go on, but this really shouldn't be surprising. Apple doesn't even treat upstream BSD with respect, it's insane to think that they would respect Linux.


> Apple doesn't even treat upstream BSD with respect, it's insane to think that they would respect Linux.

Meanwhile from Microsoft:

* https://wiki.netbsd.org/ports/emips/

* https://www.netbsd.org/ports/emips/index.html



yes, microsoft is truly amazing, where is their patent free exfat implementation?

that is the only true modern interop fs and they keep it hostage.


Been in the kernel for long enough to trickle out to recent distributions. Is there something missing?


i see i was out of date on this, thanks for the heads up. better late than never.


They certainly have a penchant for randomly crapping on people that don't do things the Officially Supported Way(TM). For example, one rev of MacOS changed the ABI for the gettimeofday() kernel system call. That broke Golang (and Virgil). Apple didn't care. They want you go through libc for some reason. Uh, no, don't break userspace.


Microsoft also changes the kernel syscalls between releases. It's not unusual for operating systems to specify ABI at the libc level, in fact I believe Linux is the odd one out to specify ABI at the syscall level.

https://j00ru.vexillium.org/syscalls/nt/64/


I know. Solaris has/had a stable ABI.


Apple has been crystal clear since 1999 that syscalls are not ABI on Darwin. Linus chose to draw that line differently, which is fine; Linux is a different environment.


> I don't entirely understand Apple's approach here.

They've just decided they don't want to be in the business of supporting Linux on Apple hardware.

Short of fully supporting Linux, the "Whoops! Have fun!" part would happen somewhere, no matter where the line was drawn.

Of course they could do more. But you and I shouldn't really expect to be able to tell Apple how to spend their money.


> You and I shouldn't really expect to be able to tell Apple how to spend their money.

I don't, I just think Apple chose to draw the line in a perplexing location. I'd love to know what they were thinking.


Pure speculation on my part

Perhaps it was "targeted" for some internal skunkworks project to get Windows running on ARM Macs? Linux/BSD obviously got there first (at least in the open) and Microsoft is under a Qualcomm only contract for now

Microsoft can't directly request that Apple allow booting their OS, or work with them directly. But "leaving a spare key under the doormat" is a bit more innocent looking


Almost certainly. I remember hearing Apple saying that they asked for Windows on ARM and were told no.

That being said, ARM hardware is nowhere close to being cross-vendor interoperable[0] and going from Qualcomm to Apple Silicon would require a significant reverse-engineering effort on Microsoft's part. The "spare key under the doormat" is running Windows on ARM in a VM under macOS.

[0] Hell, most vendors don't even bother with generational interoperability. Each chip is it's own island. Apple Silicon is a very unique exception.


I think it's precisely this. Even just providing specs or engineering time can be seen as "support" on some level and Apple doesn't want any responsibility whatsoever associated with that. They're avoiding external dependency at all costs.


> Is there some sort of legal liability involved?

I would say, definitely. Apple does use third-party components as well, with presumably closed firmware/drivers.


My understanding is that Apple as a company doesn’t officially support this effort for whatever reason (be that legal or whatever), but their hardware team does (I’ve heard they use Linux themselves when bringing up new hardware), and have done what they can under the limits of secrecy imposed by corporate Apple.


Apple's entire business model heavily depends on vertical integration. They use their software to attract customers to their hardware, and viceversa. Users running alternative OSs on their hardware doesn't tie them into their software ecosystem.

That, and they don't give a crap about the open source community, unless it directly benefits them. They have zero incentive to help a group of hackers run Linux on their hardware that will only benefit a niche of a niche of users. Allocating any of their engineers' time to this project would ultimately result in a negative ROI.

TBH I'm surprised Asahi Linux hasn't received a C&D notice yet. Apple hasn't been this tolerant of hackintosh projects before, so at least they're turning a blind eye to this.

Why anyone would want to spend their free time working in such a hostile environment is beyond me, but hats off to the Asahi team for the dedication. The patience and talent required must be extraordinary.


This is exactly the opposite of hackintosh. A hackintosh is "pirated" Apple software running on non-Apple hardware.

These are people who have bought genuine Apple hardware - putting money in Apple's pocket. Then they want to write some custom software for their computer.

I don't see how this threatens Apple in any way. The intersection between general Apple users and those who want to run "a remix of Arch Linux ARM" on their $1000 hardware has to be pretty small anyway.

Actually it could open up a new market for Apple. I for one am quite impressed by Apple hardware, but have minimal interest in running their software. If Asahi becomes stable enough, I would seriously consider buying Apple.

Your second point is a good one, however.


True, doing this doesn't threaten them, and it could result in a negligible amount of devices sold for this purpose, but I wouldn't be surprised if they saw this as equivalent to jailbreaking, and thus as some kind of breach of the ToS you implicitly agree on purchase.

Though Apple hasn't historically prosecuted individuals for such things, so this likely won't happen.

But it's even less likely they'll officially support, advertise, or even recognize this project in any way.


> I wouldn't be surprised if they saw this as equivalent to jailbreaking

The difference is that jailbreaking compromises the security of iOS. Whereas some clever apple engineer has setup the M1 MacBooks such that each OS is completely isolated from each other (enforced by dis encryption and the Secure Enclave). The only thing a rogue linux install could do is delete macOS entirely. But there would be little incentive to do so. Installing malware or stealing data is completely blocked.


It would be the equivalent of Jailbreaking if Apple explicitly built checkm8 into the iPhone.


i'm not saying this can't be true, but why leave the boot loader open then?


Perhaps that work is an escape hatch should anyone threaten some kind of antitrust action or similar. They want it theoretically able to boot something else for legal reasons.


Maybe the approach is to do the minimum to avoid being successfully prosecuted as a monopoly. “It’s not locked down; there are alternatives freely available!”


This is my slightly-conspiracy guess: Apple has oodles of old hardware lying around that they would like to keep using but is either too old for macOS or they want to use it for backend services (prod or non-prod, doesn't matter). Think capital expense budget. So if Apple can run Linux on all that hardware, that's a lot of computing power still available for years to come. And if you can get the OSS community to do it for you for free - even better!


I would struggle to believe that Apple had an easier time getting someone else to support Linux on their hardware, than just... supporting their own hardware with their own OS with their own drivers that they already have using internal developers who already know how to write Darwin code for Apple hardware.


Machines too old to run that latest version of macOS can probably be replaced with commodity hardware in the cloud for a few dollars a month. Doesn’t seem worth bring a bunch of decade-old hardware online for this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: