HN.zip

John Carmack's arguments against building a custom XR OS at Meta

https://xcancel.com/ID_AA_Carmack/status/1961172409920491849

171 points by OlympicMarmoto - 158 comments

158 Comments

Aurornis [3 hidden]5 mins ago
> They also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad

I've only seen John Carmack's public interactions, but they've all been professional and kind.

It's depressing to imagine HR getting involved because someone's feelings had been hurt by an objective discussion from a person like John Carmack.

I'm having flashbacks to the times in my career when coworkers tried to weaponize HR to push their agenda. Every effort was eventually dismissed by HR, but there is a chilling effect on everyone when you realize that someone at the company is trying to put your job at stake because they didn't like something you said. The next time around, the people targeted are much more hesitant to speak up.

randall [3 hidden]5 mins ago
meta was a weird place for a while. because of psc (the performance rating stuff) being so important… a public post could totally demoralize a team because if a legend like carmack thinks that your project is a waste of resources, how is that going to look on your performance review?

impact is facebook for “how useful is this to the company” and its an explicit axis of judgement.

markus_zhang [3 hidden]5 mins ago
I have mixed feelings about this. In one part, JC is someone I look up to, at least from the perspective of engineering. On the other hand, putting myself in the shoes in someone who got the once in life chance to build a new OS with corp support for a new shiny device…I for hell would want to do this.
shortrounddev2 [3 hidden]5 mins ago
Masters of doom portrays carmack as a total dictator of a boss. Doom Guy by John Romero seems to back this up
howdyhowdy123 [3 hidden]5 mins ago
Hehehe. I have talked to John Carmack a few times. He's super harsh and has zero filter or social niceties (Azperger's level, not that he is, but just sayin'). If you are not used to it or understand where it's coming from, it can be quite a shock. Or at least he was, many years ago. Maybe he's changed.
zoeysmithe [3 hidden]5 mins ago
Sorry but if you know his story, seen candid videos of him, or talked to the people around him, he's a Linus-level "I'll say what I want" type.

There weird hagiographies need to go. Carmack is absolutely not known to be kind. I have no idea what happened here but the idea that's he's this kindly old grandpa who could never, ever be rude or unprofessional is really out there.

jnwatson [3 hidden]5 mins ago
I've written a lot of low level software, BSPs, and most of an OS, and the main reason to not write your own OS these days is silicon vendors. Back in the day, they would provide you a spec detailed enough that you could feasibly write your own drivers.

These days, you get a medium-level description and a Linux driver of questionable quality. Part of this is just laziness, but mostly this is a function of complexity. Modern hardware is just so complicated it would take a long time to completely document, and even longer to write a driver for.

mbac32768 [3 hidden]5 mins ago
Yeah this. I tried to modify a hobby OS recently so it would process the "soft reboot" button (to speed up being rebooted in GCP) and it was so unbelievably hard to figure out how to support it. I tried following the instructions on the OS Dev Wiki and straight up reading what both Linux and FreeBSD do and still couldn't make progress. Yes. The thing that happens when you tell Windows or Linux to "restart". Gave up on this after spending days on it.

The people who develop OSes are cut from a different cloth and are not under the usual economic pressures.

sitkack [3 hidden]5 mins ago
The VMM on GCP has only really been tested with Linux. You are kinda wasting your time, the only way to make it work is to make the hobby OS Linux.
toast0 [3 hidden]5 mins ago
> You are kinda wasting your time, the only way to make it work is to make the hobby OS Linux.

Not the parent, but of course they're wasting their time... That's the point of a hobby OS.

I'm working on a hobby OS, and I have no illusions that it's most likely fewer than 10 people will ever run it, and less than 100 will hear about it, but it lets me explore some interesting (to me) ideas, and forces me to learn a little more about random pieces of computing. If I ran on GCP, I'd want the reboot button to work. That sounds useful.

On the topic, I don't see why anyone would want to build a general purpose OS. There's enough already and even with the shrinking of hardware variety, there's a lot of stuff to support to make a general purpose OS work on enough hardware for people to consider using it. You can take Linux or a BSD and hack it up pretty good to explore a lot of OS ideas. Chances are you're going to borrow some of their drivers anyway, and then you'll end up with at least some similarity... may as well start there and save a lot of time. (My hobby OS has a custom kernel and custom drivers, but I only support a bare minimum of devices... (pc) console i/o, one real NIC, and virtio-net... that's all I need; I might add support for more NICs and more consoles later)

gmueckl [3 hidden]5 mins ago
I also think that they have access to more helpful resources than people outside the field do, e.g. being able to contact people working on the lower layers to get the missing info. These channels exist in the professional world, but they are hard to access.
bbarnett [3 hidden]5 mins ago
Modern hardware is just so complicated it would take a long time to completely document, and even longer to write a driver for.

That's what's claimed. That's what people say, yet it's just an excuse. I've heard the same sort of excuse people have, after they write a massive codebase, then say "Oops, sorry, didn't get around to documenting it".

And no, hardware is not more difficult than software to document.

If the system is complex, there's more need to document, just as with a huge codebase. On their end, they have new employees to train up, and they have to manage testing. So any excuse that silicon vendors have to deal with such immense complexity? My violin plays for them.

supermatt [3 hidden]5 mins ago
> If the system is complex, there's more need to document

It’s not first party documentation that’s the problem. The problem is that they don’t share that documentation, so in order to get documentation for an “unsupported” OS a 3rd party needs to reverse engineer it.

MontyCarloHall [3 hidden]5 mins ago
>Part of this is just laziness, but mostly this is a function of complexity. Modern hardware is just so complicated it would take a long time to completely document

If this is true, it will be interesting if/how this changes due to AI. Even AI's staunchest detractors agree that AI is quite good at writing at least passable documentation, which is infinitely better than zero documentation.

boredatoms [3 hidden]5 mins ago
Presumably if you’re meta you could pay the vendors enough to write drivers for any arbitrary OS
rwmj [3 hidden]5 mins ago
But is that a good use of Meta's money? Compared to making a few patches to Linux to fix any performance problems they find.

(And I feel bad saying this since Meta obviously did waste eleventy billion on their ridiculous Second Life recreation project ...)

bbarnett [3 hidden]5 mins ago
I don't like Meta, but there used to be a time where big corp used to spend 30% of its budget on R&D. It's how we got all the toys we have now, R&D labs of big Bell and others.

So please don't mock the spend. Big spends fail sometimes, and at least people were paid to do the work.

crote [3 hidden]5 mins ago
The difference is that organisations like Bell Labs and Xerox PARC were primarily tech-first: innovations were the result of very clever and creative people doing blue skies research. The most groundbreaking stuff shocked the world while it was still a hacked-together demo, and similarly the cost of failure was quite low.

On the other hand, Meta's experiment is primarily CEO-driven. The outcome is predetermined, changing direction is not possible. Sure, clever engineers get to draw the rest of the owl, but that's not very useful when it turns out that everyone needs a horse instead.

They are spending a fortune, but rather than getting 900 crappy ideas to throw away and 100 great ones to pick from for continued development, they are developing 1 technological marvel nobody is interested in.

throwway120385 [3 hidden]5 mins ago
It was also pretty obvious how the VR glasses would support Meta's existing goals. It would give Meta total power over what you see and who you can speak with through their system. It's a natural extension of their total control over how people interact with on the Internet. And I think the only reason it failed is because it was expensive and dumb-looking.
ForHackernews [3 hidden]5 mins ago
Arguably the distinction you're pointing at is macroinvention (the transistor) vs microinvention (a better VR headset): one is a refinement of something that exists, another is transformative opening up whole new worlds of possibility. https://www.antonhowes.com/blog/macroinvention-vs-microinven...
rwmj [3 hidden]5 mins ago
It's just that it was so obviously going to fail, because there's no mass market for a product that you have to strap onto your face. You didn't need to spend billions to learn that.

If they'd spent the money researching nuclear fusion or space flight or a new way to develop microprocessors, I would be cheering their efforts even if they had failed in the end.

silvestrov [3 hidden]5 mins ago
Vendors might say that they don't have the resources (man hours) and don't want to hand over documentation to external developers.
tanvach [3 hidden]5 mins ago
Yeah reverse engineering all the drivers is going to be a huge headache.
markus_zhang [3 hidden]5 mins ago
Sounds like super fun if I could be paid a bit for it.

What is an easy gate task to get into “reverse engineering some drivers for some OS”?

Second thought: I don’t even know how to write a driver or a kernel, so I better start from there.

wmf [3 hidden]5 mins ago
Asahi Linux.
tanvach [3 hidden]5 mins ago
Was at Oculus post acquisition and can say that the whole XROS was an annoyance and distraction the core technology teams didn’t need. There were so many issues with multiple tech stacks that needed fixing first.

Mind you, this XROS idea came after Oculus reorged into FB proper. It felt to me like there were FB teams (or individuals) that wanted get on the ARVR train. Carmack was absolutely right, and after the reorg his influence slowly waned for the worse.

labrador [3 hidden]5 mins ago
> my old internal posts... got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad

That jives with my sense that META is a mediocre company

gmueckl [3 hidden]5 mins ago
It matters who you communicate concerns to. Something as fundamental as "I think that your team shouldn't even exist" should go to the team leads and their managers exclusively at first. Writing that to the entire affected team is counterproductive in any organization because it unnecessarily raises anxiety and reduces team productivity and focus. Comments like this from influential people can have big mental and physical health impacts on people.
1718627440 [3 hidden]5 mins ago
Not when this is his personal opinion he thought nothing should follow from.

"I think that your team shouldn't even exist" doesn't mean "I want your team to no longer exist.".

sesm [3 hidden]5 mins ago
This entire situation looks very suspicious. Was Carmack even responsible for triaging research projects and allocating resources for them? If yes, then he should have fought that battle earlier. If no, then the best he could do is to refuse to use that OS in projects he controls.
cma [3 hidden]5 mins ago
It should be fine to give your opinion on efforts.
labrador [3 hidden]5 mins ago
If I was on that team I'd welcome the opportunity to tell John Carmac why he was wrong or if I agreed start looking for another project to work on.

When I was on nuclear submarines we'd call what you are advocating "keep us in the dark and feed us bullshit."

tejohnso [3 hidden]5 mins ago
I'm sure that kind of crap helped nudge JC out of there. He mentions (accurate and relevant) reasons why something is probably a bad idea, and the person in charge of doing it complains that JC brought up the critiques, rather than addressing the critiques themselves. What a pathetic, whiny thing to do.
crote [3 hidden]5 mins ago
You've got to remember that context is critical with stuff like this.

There's nothing wrong with well-founded and thoughtful criticism. On the other hand, it is very easy for this to turn into personal attacks or bullying - even if it wasn't intended to be.

If you're not careful you'll end up with juniors copying the style and phrasing of less-carefully-worded messages of their tech demigod, and you end up with a huge hostile workplace behaviour cesspit.

It's the same reason why Linus Torvalds took a break to reflect on his communication style: no matter how strongly you feel about a topic, you can't let your emotions end up harming the community.

So yes, I can totally see poorly-worded critiques leading to HR complaints. Having to think twice about the impact of the things you write is an essential part of being at a high level in a company, you simply can't afford to be careless anymore.

It's of course impossible to conclude that this is what happened in this specific case without further details, but it definitely wouldn't be the first time something like this happened with a tech legend.

pklausler [3 hidden]5 mins ago
Ugly people like to blame the mirrors.
danielodievich [3 hidden]5 mins ago
Back in mmm like 2002 or 2003 or 2004 while at Microsoft I read an internal paper from a few OS guys who hackathoned something for Bill Gates's Think Week (which is when he used to go to some island in San Juans or somewhere similar and just read curated papers and think, it was a huge prestige to get such a paper to him) and that something was an OS written from scratch with GC and memory management on top of something very .NET framework'y (which was released a couple of years ago. They had it booting on all kinds of hardware and doing various neato things. One of explicitly called design principles was 0 compatibility with anything Windows before. Which is why it didn't go anywhere I assume. I remember it was just a handful of engineers (presumably OS folks) hacking for like a month. . It was awesome to read about.
modeless [3 hidden]5 mins ago
Singularity was cool. I'm sad that it was abandoned. The concept of using software isolation instead of hardware memory protection was really interesting.
adastra22 [3 hidden]5 mins ago
It was a multi-year project at Microsoft Research with a team of >100 developers.

https://www.zdnet.com/article/whatever-happened-to-microsoft...

danielodievich [3 hidden]5 mins ago
I am very certain in my recollection that this was started much earlier than this as hackathon skunkworks before something like this happened at MSR. It didn't do anything beyond kernel and command line, there was no browser. I don't know if those two shared roots either. Anyhow, but yeah, still both were intellectual feats!
gorset [3 hidden]5 mins ago
Mechanisms for getting the linux kernel out of the way is pretty decent these days, and CPUs with a lot of cores are common. That means you can isolate a bunch of cores and pin threads the way you want, and then use some kernel-bypass to access hardware directly. Communicate between cores using ring buffers.

This gives you best of both worlds - carefully designed system for the hardware with near optimal performance, and still with the ability to take advantage of the full linux kernel for management, monitoring, debugging, etc.

ronsor [3 hidden]5 mins ago
> use some kernel-bypass to access hardware directly

You can always mmap /dev/mem to get at physical memory.

armchairhacker [3 hidden]5 mins ago
What would be the real advantage of a custom OS over a Linux distribution?

The OS does process scheduling, program management, etc. Ok, you don’t want a VR headset to run certain things slowly or crash. But some Linux distributions are battle-tested and stable, and fast, so can’t you write ordinary programs that are fast and reliable (e.g. the camera movement and passthrough use RTLinux and have a failsafe that has been formally verified or extensively tested) and that’s enough?

mikepurvis [3 hidden]5 mins ago
I think the proper comparison point here is probably what game consoles have done since the Xbox 360, which is basically run a hypervisor on the metal with the app/game and management planes in separate VMs. That gives the game a bare metal-ish experience and doesn't throw away resources on true multitasking where it isn't really needed. At the same time it still lets the console run a dashboard plus background tasks like downloading and so on.
Nuthen [3 hidden]5 mins ago
Based on the latter tweet in the chain, I'm wondering if Carmack is hinting that Foveated Rendering (more processing power is diverted towards the specific part of the screen you're looking at) was one advantage envisioned for it. But perhaps he's saying that he's not so sure if the performance gains from it actually justify building a custom OS instead of just overclocking the GPU along with an existing OS?
mook [3 hidden]5 mins ago
Wouldn't that be an application (or at most system library) concern though? The OS is just there to sling pixels, it wouldn't have any idea whether those pixels are blurry… well for VR it would all be OpenGL or equivalent so the OS just did hardware access permissions.
jamboca [3 hidden]5 mins ago
Think you answered your own question. No real differences except more articles, $, and hype
const_cast [3 hidden]5 mins ago
And, let's be real here: engineering prestige.

Everyone wants to make an OS because that's super cool and technical and hard. I mean, that's just resume gold.

Using Linux is boring and easy. Yawwwwn. But nobody makes an OS from scratch, only crazy greybeard developers do that!

The problem is, you're not crazy greybeard developers working out of your basement for the advancement of humanity. No. Youre paid employees of a mega corporation. You have no principles, no vision. You're not Linus Trovalds.

v9v [3 hidden]5 mins ago
Maybe not applicable for the XR platform here, but you could add introspection capabilities not present in Linux, a la Genera letting the developer hotpatch driver-level code, or get all processes running on a shared address space which lets processes pass pointers around instead of the Unix model of serializing/deserializing data for communication (http://metamodular.com/Common-Lisp/lispos.html)
tanvach [3 hidden]5 mins ago
I think people have forgotten about Google Fuchsia which I guess is a good sign for a new OS. They’ve done quite well in deploying it seamlessly to their consumer devices.
modeless [3 hidden]5 mins ago
"Quite well" by what metric? It shipped on one device. That's pretty much the lowest bar you can imagine! Did it provide any tangible benefit to anyone? Let alone a benefit commensurate with the enormous cost of developing it and continuing to maintain it?

I think it was insane to start a new OS effort written in C/C++. We have plenty of OSes written in C/C++! We know how that story ends. If you're going to spend the effort, at least try a new language that could enable a better security model.

asadotzler [3 hidden]5 mins ago
It was so good Google cancelled plans to use it in meaningful products and instead delegated it to the bottom shelf products.
klipklop [3 hidden]5 mins ago
Fuchsia is pretty much a dead product at this point. For things like Phones and Laptops google is using only Android going forward.
tanvach [3 hidden]5 mins ago
Fun rumor: Google shut down the AR effort and transferred the team to project Fuchsia as a way to retain highly skilled employees. So essentially they didn’t have any real technical needs for a new OS.
belval [3 hidden]5 mins ago
Isn't that somewhat debatable? Originally they were aiming at much more (chromebook OS for example) but seems like they settled for Google Home only as their scope.

Still a very interesting project, but that feels like a similar story, for limited use cases (a smart thermostat/speaker with specific hardware) it works, but for wider use cases with heterogeneus hardware and complex interfaces (actual screen, peripherals) it didn't work.

blkhp19 [3 hidden]5 mins ago
I thought they rolled back all of those efforts. What devices shipping today come with Fuchsia installed?
aschla [3 hidden]5 mins ago
According to Wikipedia, looks like only the Nest Nub.
kyle-rb [3 hidden]5 mins ago
I think some of the Nest audio devices now run it as well.
AceJohnny2 [3 hidden]5 mins ago
Google Nest Hub
koolala [3 hidden]5 mins ago
The reviews I've seen of its stability and usefulness have not been good.
3eb7988a1663 [3 hidden]5 mins ago
That was also frustrating in that sel4 was right there. Why not invest efforts in the existing thing?
tanvach [3 hidden]5 mins ago
Yup it’s because they had to rewrite the drivers I presume. Always going to be the biggest issue with any new OS.
GeekyBear [3 hidden]5 mins ago
My objection is that there is no universe in which Meta can be trusted with direct access to your raw gaze tracking data.

The only thing I can imagine that would be more invasive would require a brain implant.

qiine [3 hidden]5 mins ago
sadly they are working on it
agsnu [3 hidden]5 mins ago
Huawei seem pretty committed to building their own OS and uncoupling from the Western technology stack in total

https://en.wikipedia.org/wiki/HarmonyOS_NEXT https://www.usenix.org/conference/osdi24/presentation/chen-h...

jambutters [3 hidden]5 mins ago
They actually reuse Linux driver stack for hardware compatibility
ronsor [3 hidden]5 mins ago
The only reason Chinese companies can even get away with these big projects is because of state backing and state objectives. By itself, the market doesn't support a new general-purpose OS at this point.
const_cast [3 hidden]5 mins ago
You're downvoted but you're 100% correct.

It makes absolutely zero financial sense to create a new general purpose operating system.

That's billions of lines of code. With a B. And that's just the code - getting it to work with hardware?

Do YOU want to talk to 10,000 hardware vendors and get them on board? No! Nobody does! That's just money burning!

But, there are valid political reasons for creating a new general purpose OS.

betaby [3 hidden]5 mins ago
> because of state backing and state objectives

MS is a state backed company. Very natural that China went the same path.

howdyhowdy123 [3 hidden]5 mins ago
No it isn't
SgtBastard [3 hidden]5 mins ago
Technically you are correct but the commenter you’re responding to means that with the amount of Western Governments spend on MS products and services, the are a d facto (if not de jure) state backed enterprise.
klik99 [3 hidden]5 mins ago
You could write a book on why it's practically impossible to create a new OS these days. Love Carmack for stating it so clearly. I also love that called out TempleOS, I also have a weird respect for it. Plan 9 is the probably the best example of a totally new OS and I hope someday it becomes viable because it's really a joy to use.

But ultimately it just makes sense to adapt existing kernels / OS (say, arch) and adapt it to your needs. It can be hair wrenchingly frustrating, and requires the company to be willing to upstream changes and it still takes years, but the alternative is decades, because what sounds good and well designed on paper just melts when it hits the real world, and linux has already gone through those decades of pain.

EGreg [3 hidden]5 mins ago
OS isnt the hard part.

The driver ecosystem is the moat. Linux finally overcame it decades later

bri3d [3 hidden]5 mins ago
Android built a new, giant moat for Linux (or "Linux" depending on your opinions about Android) in the embedded application processor space - now the "standard" board support package target for new embedded AP hardware is almost always some random point-in-time snapshot of Android. Running "mainline" Linux is hard (because the GPU and media peripheral drivers are usually half-userspace Android flavored stuff and rely on ION and other Androidisms) and bare-metal is even worse (where previously, you'd get register-level documentation, now, you get some Android libXYZ.so library).
saulpw [3 hidden]5 mins ago
Yeah, the Linux kernel has ~12m lines of code. <1m are the core, the rest are drivers.
CodeArtisan [3 hidden]5 mins ago
29 Millions according to https://www.phoronix.com/news/Linux-6.16-AMDGPU-Driver-Size

5 Millions alone for the AMD graphic driver.

ForHackernews [3 hidden]5 mins ago
What an inefficient disaster to carry around all those drivers to run hardware that isn't on the device you're running on.
ch33zer [3 hidden]5 mins ago
* The vast majority aren't compiled into any given kernel

* Those that are are only loaded when needed

It's not that bad

wmf [3 hidden]5 mins ago
It's modular so you don't have to compile drivers you don't need.
LaffertyDev [3 hidden]5 mins ago
I would read that book.
numpad0 [3 hidden]5 mins ago
Is the difficulty in theoretical complexity of operating systems, or in project scoping/scope creep?

It's probably not that hard to write bare metal code for a modern CPU that runs and crashes. It's obviously insurmountably hard to compete with Android in features with scratch built bare metal code. An "OS" can be anything between the two. But it's very easy to imagine an "XR OS" project snowballing quickly into the latter, and Carmack's concerns would be spot on(as always is, and as proven). Is it then an inherent difficulty in "designing a new operating system", or is it technically something else?

ironman1478 [3 hidden]5 mins ago
I worked on a completely different hardware project within meta and while they didn't want a custom OS, they used an off the shelf rtos with the intention of modifying it and it was a shit show. They had a million justifications for why they needed it, but they had no performance tests or metrics to verify to actually justify it. They incurred a huge development overhead for no verifiable performance improvements.

None of the code they wrote couldn't have just been written as a kernel module in Linux. It would've also been so much easier due to all the documentation and general knowledge people have about Linux both within the company and outside the company.

jamesgeck0 [3 hidden]5 mins ago
> To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers.

I mean, I'd give a fair shake to an OS from the SQLite team [1].

1. https://sqlite.org/codeofethics.html

dwaltrip [3 hidden]5 mins ago
Where do I apply to join this monastic order of OS programmers?
tgbugs [3 hidden]5 mins ago
Just walk up to the gate of your nearest Concent next Apert and they will take you right in!

Actually, I don't know how you join the Ita now that you mention it.

lukev [3 hidden]5 mins ago
This is completely right from a product point of view, which is Carmack's argument.

But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative. Yes, there wouldn't be any ROI for years, and yes, the first several products on the platform would probably be better off on something more traditional.

But the long term value could potentially be astronomical.

Just another case of quarterly-report-driven decision making, I suppose. Sigh.

Aurornis [3 hidden]5 mins ago
> But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative.

See Google's Fuschia: https://en.wikipedia.org/wiki/Fuchsia_(operating_system)

> But the long term value could potentially be astronomical.

Such as what?

crote [3 hidden]5 mins ago
> Such as what?

Historically? The internet, the concept of a graphical user interface, the mouse, the smartphone, the LCD display, the laser printer...

It's about clever people trying weird stuff, and occasionally ending up with a world-changing idea. Asking for examples of to-be-discovered innovations is, by definition, an impossibility.

twelvedogs [3 hidden]5 mins ago
How would that be better than just grabbing a bsd and starting with that, PlayStation and Apple did it and actually ended up with functional products
throwway120385 [3 hidden]5 mins ago
Hell, if you're Meta you could just by QNX from RIM.
Keyframe [3 hidden]5 mins ago
While I appreciate Carmack and all, I'd love to hear from someone like Dave Cutler who's been over that bridge at least a couple of times successfully about if and what he'd do if he had resources to create whatever the hell he wants.
jmull [3 hidden]5 mins ago
How does it pay off in the long run?

If you're competing against nothing, then I see it: it opens up a wide variety of product possibilities. But linux exists. Why not spend 1/1000th the time to adapt linux?

That's not even counting the rather substantial risk that your new OS will never approach the capabilities of linux, and may very well never become generally usable at all.

Option A: spend years and millions on a project that may never be as good as existing solutions, diverting attention and resources from actual products, or...

Option B: work on products now, using an existing, high-quality, extensible, adaptable OS, with very friendly licensing terms, for which numerous experts exist, with a proven track record of maintenance, a working plan for sustainability, a large & healthy developer community exists, etc.

It's hard to imagine how it wouldn't be a complete waste of time.

spankalee [3 hidden]5 mins ago
This is what Google has been trying to do with Fuchsia and the fact is that you can't escape the product point of view because the products exist, already have an OS stack, and get pretty defensive when another team tells them they're going to replace their OS, or their core if the product team is Android or Chrome OS.
philistine [3 hidden]5 mins ago
Apple bought one of those in the 90s, and they are still reaping the benefits of that strategic initiative. But the thing is, NeXt allowed Apple to think up new, differentiated products. If you come at the problem of the OS from a purely technical perspective, you'll waste time for no gain.
TiredOfLife [3 hidden]5 mins ago
Microsoft had Singularity - canceled after 12 years in development

Google has Fuchsia - is about 10 years in development. Recently was a target for layoffs

CamperBob2 [3 hidden]5 mins ago
But I have wondered why one of these companies with billions of dollars to burn hasn't tried to create something new as a strategic initiative.

They have; Taligent comes to mind. You may not have heard of that -- or more likely, you have but just forgot about it -- but it's a good object lesson (no pun intended) in why a successful new OS is hard to just conjure into existence. There has to be a crying, desperate need for it, not just a vague sense that This Time We'll Get It Right.

You could probably cite OS/2 Warp as a less-obscure example of the same phenomenon.

busymom0 [3 hidden]5 mins ago
> I wish I could drop (so many of) my old internal posts publicly, since I don’t really have the incentive to relitigate the arguments today – they were carefully considered and prescient. They also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad, but I expect many of them would acknowledge in hindsight that the Meta products would not be in a better place today if the new OS effort had been rammed into them.

So someone at Meta was so sensitive that being told their behemoth of a project was ill advised ended up getting reported to HR?

rezmason [3 hidden]5 mins ago
> To make something really different, and not get drawn into the gravity well of existing solutions, you practically need an isolated monastic order of computer engineers. Which was sort of Plan 9…

Roll call!

anthem2025 [3 hidden]5 mins ago
Did they have people who have built an OS before?

I’ve seen this firsthand. These giant tech companies try to just jump into a massive new project thinking that because they have built such an impressive website and have so much experience at scale they should just be able to handle building a new OS.

In my case it wasn’t even a new OS it was just building around an existing platform and even that was massively problematic.

The companies that build them from scratch have had it as one of their core competencies pretty much from the start.

I’m unsurprised meta had issues like this.

Skunkleton [3 hidden]5 mins ago
> Did they have people who have built an OS before?

Yes.

Jyaif [3 hidden]5 mins ago
They have contributors to the linux kernel. Pretty sure all the big tech companies have the right people to create a new OS that is better than Linux, the hard part is getting that new OS to be adopted.
scared_together [3 hidden]5 mins ago
What if instead of writing the entire OS, a company were to pick up an existing “hobby” OS and refine it?

For example any of the systems listed in Carmack’s post. Or perhaps Serenity OS, RedoxOS, etc.

dmurray [3 hidden]5 mins ago
In that case, why wouldn't they "just" fork Linux? Or 10-years-ago-Linux?

The technical justification for Meta writing their own OS is that they'd get to make design decisions that suited them at a very deep level, not that they could do the work equivalent of contributing a few drivers to an existing choice.

pipeline_peak [3 hidden]5 mins ago
Jonathan Blow is the world’s most successful hobbyist programmer. His whole thing is doing projects from scratch. Every game he made could be done in Unity with far less effort.

Most opinions of this man exists in a vacuum space isolated from the real world software industry. Building an OS from scratch is one of those examples.

It’s never seems like there’s a significant reason behind them other than………”I made dat :P”

savanaly [3 hidden]5 mins ago
As an outsider...his games just look and feel different. They feel like bones-deep art, in a way that even the best of the best games (say, Hades) don't. Since Blow's games are puzzle games they're not even my favorite games! But the effort spent on making them exactly the way he wants them pays off.
0xb0565e486 [3 hidden]5 mins ago
I'd love a truly new OS, but I just don’t know what it would look like at this point? "New OS" ideas tend to converge on the same trunk.

Building a hobby OS taught me how little is just "software". The CPU sets the rules. Page tables exist because the MMU says so. Syscalls are privilege flips. Task switches are register loads and TLB churn. Drivers are interrupt choreography. The OS to me is just policy wrapped around fixed machinery.

SirMaster [3 hidden]5 mins ago
How about ReactOS?
greggman65 [3 hidden]5 mins ago
And yet, Sony did it, Nintendo did it, both have been pretty succeesful.

We also need to be clear what an OS is. Is it "darwin" or "macOS" - they have different scopes.

Things I'd want from an OS for an XR device.

1. Fast boot. I don't want to have to wait 2-3-4-5 minutes to reboot for those times I need to reboot.

I feel like Nintendo figured this out? It updates the OS in the background somehow and reboot is nearly instant.

2. Zero jank. I'm on XR, if the OS janks in any way people will get sick AND perceive the product as sucking. At least I do. iOS is smooth, Androind is jank AF.

Do any of the existing OSes provide this? Sure, maybe take an existing OS an modify it, assuming you can.

erk__ [3 hidden]5 mins ago
You mean for the PlayStation? That is a FreeBSD fork, probably chosen over Linux because of the license.
amarant [3 hidden]5 mins ago
Nintendo is an interesting example though. According to Wikipedia they actually use a proprietary microkernel, which, if I'm reading this right, I think they developed themselves. Looks like the only open source components they have is some networking code which is published under the BSD license.

https://en.m.wikipedia.org/wiki/Nintendo_Switch_system_softw...

numpad0 [3 hidden]5 mins ago
PS4/5 was BSD. Only Nintendo and Microsoft runs own corporate proprietary OS.
mschuster91 [3 hidden]5 mins ago
Sony and Nintendo both forked off of either NetBSD or FreeBSD. Sony's cameras at least up until the A7S2 run Linux (there's jailbreaks for these), although I never found any kernel / bootloader dump like it would be required.

Android suffers from being Java at the core, with all the baggage that brings with it.

mwkaufma [3 hidden]5 mins ago
Sony forked FreeBSD, but Nintendo didn't. They have BSD license headers because of some BSD socket code they include.
numpad0 [3 hidden]5 mins ago
Sony cameras all run Linux. Models with "PlayMemories Camera Apps" feature like A7M2 support runs Android userland on top. It's probably easier to count the cameras that don't(like old Olympus).
thrance [3 hidden]5 mins ago
He's acting like their VR UX is top notch when it's as bad as it gets. Just yesterday I dusted off my Meta Quest 2 to play a bit, and spent around an hour trying to pair up my left controller to the helmet after replacing the battery.

You can't do it without going through their fucking app, that asks for every permissions under the sun, including GPS positioning for some reason. After finally getting this app working and pairing it with my headset, I could finally realize the controller was just dead and their was nothing to do.

FirmwareBurner [3 hidden]5 mins ago
I like that the top reply to Carmack's wall of text is a screenshot of TempleOS with a doodle of an elephant lmao. And ironically, that meme reply is on topic and it says a thousand words with just one photo.

Another point I would add in support of that meme comment, is Google's recent rug-pull of Android not allowing sideloading apps from unsigned developers anymore starting this autumn, after over a decade of conquering the market with their "go with us, we're the open alternative to iOS" marketing.

The conclusion is to just never EVER trust big-tech/VC/PE companies, even when they do nice things, since they're 100% just playing the long game, getting buddy-buddy with you waiting till they smothered the competition with their warchest, and then the inevitable rug-pull comes once you're tied to their ecosystem and you have nowhere else to go.

Avoid these scumbags, go FOSS form the start, go TempleOS. /s but not really

nine_k [3 hidden]5 mins ago
In other words, unless God has specifically called upon you to build an OS, and maybe provided divine inspiration and assistance, you should avoid doing that. Seems to support Carmack's point!
thevillagechief [3 hidden]5 mins ago
I'm not sure Carmack's point disagrees with you. Meta is still big tech, and if your goal is to monetize at scale, rolling out your own isn't the most efficient way to do it. I don't think he'd discourage you rolling out your own OS if it's your hobby FOSS project.
doctorpangloss [3 hidden]5 mins ago
The problem with this guy is that it’s hard to criticize him, whether at work or in this forum. For example, I am going to be downvoted for mocking the fact that this guy thinks it’s some genius move to say “No” to making an operating system, whatever making an operating system means.
geodel [3 hidden]5 mins ago
You can prove him wrong by doing thing what he claims should not be done.
cobertos [3 hidden]5 mins ago
Didn't even realize this was a thread and not a single tweet until you posted this link. Guess that's the downsides of not having a Twitter acct anymore.
dang [3 hidden]5 mins ago
We'll put that link in the top text too. Thanks!
c54 [3 hidden]5 mins ago
Neat website, thanks for posting. Basically necessary to avoid the twitter “paywall”
ypeterholmes [3 hidden]5 mins ago
[flagged]
radialstub [3 hidden]5 mins ago
The platform is still usable, just block anyone who posts politics in your timeline, eventually it all becomes technical stuff.
saubeidl [3 hidden]5 mins ago
It still normalizes use of what has effectively become a far-right propaganda machine and thus the purposeful destruction of democratic institutions.
worthless-trash [3 hidden]5 mins ago
Thats how conservatives feel on many other online platforms with far left views.
saubeidl [3 hidden]5 mins ago
Which big platform has far left views?

I'm not familiar of any platform that calls for collective ownership of the means of production, land redistribution and other far left positions.

numpad0 [3 hidden]5 mins ago
You can't easily give voices to people who'd be just persistently wrong and angry. I've had enough of pointless online fights with "conservatives" types people, they just can't think straight. They can't ever be more correct than more averager people (put aside progressivism for once) for that reason, and they naturally don't like to be intellectually inferior existences subservient to smarter people(as nobody wants to or deserves to be). This leaves them only one strategy to choose in any discussions to gain any favorable feedback at all, which is to pick whatever fringe theories that look the most wrong thus unique and cling on it.

The world they live in is also a place where the majority group consists of those unlike themselves is always smarter and correcter than them. They are not used to the world where smart minorities are more correct than the mainstream. This makes them very confused and unresponsive when that situation manifests before them.

One could argue that such wrong-ist people deserve representations and joy of expressions as anybody else do. But it would be so hard to do so without turning the whole thing into an all-loser mud throwing festivals. Even LLMs might not be of substantial help.

cubefox [3 hidden]5 mins ago
The Twitter algorithm is open source, unlike the algorithm for Facebook, Instagram, TikTok etc. I'm not aware of any evidence for bias in the algorithm.
thrance [3 hidden]5 mins ago
It's not though. The GitHub repo was never updated once. Here's an experiment for you: open X in a new private tab and count political posts, see how many of them are far right. Bias is evident.
numpad0 [3 hidden]5 mins ago
There's been a lot of anecdotal reports circulating that retweets don't work anymore, likes slightly better, quote tweets do best, links should be in replies, etc. They're hiding a lot of quote tweets as "unavailable" and shuffling thread orders as well. Twitter right now is not just biased, but they have been struggling for a long while to disrupt its resilient emergent meritocracy that don't favor Musk.
cubefox [3 hidden]5 mins ago
> The GitHub repo was never updated once.

Pretty sure that's false: I remember seeing the recent commit that made Grok misbehave.

> Here's an experiment for you: open X in a new private tab and count political posts, see how many of them are far right. Bias is evident.

Go to Bluesky and count far left posts. The result will be similar, because political bubbles form by themselves.

thrance [3 hidden]5 mins ago
https://github.com/twitter/the-algorithm

Not updated in two years.

> Go to Bluesky...

At least people are not fantasizing about "race wars" or discussing the "jewsish question" there. Two subjects I saw multiple times on X's front page.

wredcoll [3 hidden]5 mins ago
This attempted equivalence is wild. I'm not sure if you're uninformed or malicious, but "far right posts" means posts talking about "the jews taking over" or some other racist drivel and discussing which minority to attack next.

"Far left posts" are like, what, people should have access to healthcare? People should pay more taxes?

actionfromafar [3 hidden]5 mins ago
Nazi bubbles form naturally around nazi owners.
BiteCode_dev [3 hidden]5 mins ago
> they also got me reported to HR by the manager of the XROS effort for supposedly making his team members feel bad

This is madness. The safe space culture has really gone too far.

Inityx [3 hidden]5 mins ago
I'll offer a different interpretation:

If a professional can't give critical feedback in a professional setting without being rude or belittling others, then they need to improve their communication skills.

amarant [3 hidden]5 mins ago
This is not that though. This is just developers being unable to handle constructive criticism, and when they can't win the argument on merits, went for the HR option. It happens.

I've had it happen to me too, but my response was to resign on the spot (I was already not satisfied with the company).

The "toxic behaviour" I had done? I reverted a commit on the master branch that didn't compile, and sent a slack to the Dev who had committed it saying "hi! There appears to have been a mistake in your latest commit, could you please check it out and fix it? I've reverted it in the meantime since I need to deploy this other feature"

The dev responded by force pushing the code that did not compile to master and contacted HR.

I decided there was greener grass on other pastures. I was right.

cjbgkagh [3 hidden]5 mins ago
When I started breaking the build would end up with the person who did it having to wear the dunce hat for the day. This was before git so there are now fewer excuses for breaking the build today.
mariusor [3 hidden]5 mins ago
From what you know of Carmack, does "can't give critical feedback in a professional setting without being rude or belittling others" sound like him to you? It does not to me, though granted maybe he's different in his non public persona than what you can see in presentations and talks.
fatbird [3 hidden]5 mins ago
This.

Being "reported to HR" doesn't mean "almost got fired". It likely meant a meeting where someone explained "hey, the way you communicated that caused some upset, let's discuss better ways to handle that situation next time." Very often in larger companies, complaints about things like "this bigwig from this other group jumped all over us" are automatically sent through HR because HR has staff whose job just is resolving conflicts between people and keeping things peaceful.

BiteCode_dev [3 hidden]5 mins ago
Having worked in the valley, I've seen what critical feedback meant in many companies there, and it removes all usefulness of the info because there is a ceiling of what is socially acceptable to say; therefore, you can't know how bad or urgent things are.

Everything is ASAP. They are super excited about everything. And nothing you do is wrong, it just could be improved or they like it but don't love it.

You don't know if something is important, basically.

Just like Louis CK said, "if you used 'amazing' on chicken nuggets, what are you going to say when your first child is born?". But in reverse.

Personally, I'd rather work with someone who would tell me my work is terrible if it is.

In Germany, you can't even legally say somebody did a bad job at your company in a recommendation letter. Companies created a whole subtext to workaround that, it's crazy.

Some things are just bad. You should be able to say it is. Not by saying it could be better. Not by using euphemism. It's just something that needs to go to the trash.

In fact, I don't trust people who can't receive this information, even if not packaged with tact (which you should attempt to, but life happens). If you can't handle people not being perfectly polite every time, I can't help but feel I won't be able to count on you when things get hard.

That must be the French in me talking.

drewbeck [3 hidden]5 mins ago
People have been getting mad at being made to feel bad at work for much longer than “safe space culture” has existed. If someone or some team had more power than you at an organization you for sure will get reprimanded for making them feel bad.
dfxm12 [3 hidden]5 mins ago
You've concluded this from a single, brief, throwaway line? Any madness you perceive about this situation has been fabricated by you, based on the details we have.
dmbche [3 hidden]5 mins ago
A meeting with HR is not madness. No one got maimed or died, or even lost work, seemingly. Some people exchanged words.

Cool off.

rectang [3 hidden]5 mins ago
Something tells me that if we heard the other side of the story it might hit different. There's a lot of wiggle room in what "making his team members feel bad" could mean, and I would be surprised if constructively voiced criticism would have gotten someone written up.
cjbgkagh [3 hidden]5 mins ago
With my experience of being written up for constructive criticism the reasoning was that I didn’t give constructive criticism to others and they felt singled out. I only give such criticism in private so of course they were not there to see the others. Apparently that wasn’t a sufficient explanation.
foldr [3 hidden]5 mins ago
Reading between the lines, it sounds like he got reported for giving a lot of what might kindly be described as unsolicited advice. The guy left Meta ages ago, but he apparently still can't let this one go.

If you're in the middle of trying to write a new operating system, then it's probably not helpful to have John Carmack standing over you repeatedly telling you that you shouldn't be doing it. In this case Carmack gets the last laugh. Then again, it is easy to get the last laugh by predicting that a project will fail, given that most projects do.

Strom [3 hidden]5 mins ago
> unsolicited advice

He was the CTO of Oculus. Surely it is appropriate for the CTO to give advice on any big technical decisions, if not outright have veto power.

foldr [3 hidden]5 mins ago
Clearly he didn't have veto power on the project he's talking about.
aPoCoMiLogin [3 hidden]5 mins ago
it is madness, you would be surprised how many ppl take things too serious. been there, had talk with HR cause i've said that the solution is mediocre and we have to do something better than that.
webdevver [3 hidden]5 mins ago
tbh linux has quite a bit of cruft in it these days at the syscall and interface layer.

if youre apple, it does make sense to do stuff from scratch. i think in a way, software guys wind up building their own prisons. an api is created to solve problem X given world Y, but world Y+1 has a different set of problems - problems that may no longer be adequately addressed given the api invented for X.

people talk about "rewrite everything in rust" - I say, why stop there? lets go down to the metal. make every byte, every instruction, every syscall a commodity. imagine if we could go all the way back to bare metal programming, simply by virtue of the LLM auto-coding the bootloader, scheduler, process manager, all in-situ.

the software world is full of circularities like that. we went from Mainframe -> local -> mainframe, why not baremetal -> hosted -> baremetal?

xantronix [3 hidden]5 mins ago
Apple doesn't do a lot of baremetal development from scratch that I'm aware of. The Lightning to HDMI dongle bootstraps an XNU kernel with an AirPlay decoder into 256MB RAM, for instance.
trollied [3 hidden]5 mins ago
You can still do “unsafe” stuff in rust, and people do. It’s perfectly possible to write safe C and C++ these days. And you don’t have to deal with a borrow checker, and a very small pool of developers available to hire.
webdevver [3 hidden]5 mins ago
oh, i didnt mean to invoke rust in any technical sense - i brought up rust to introduce an example of the attitude that rust people are known for, namely "why not rewrite everything?", which a lot of people have a kneejerk rejection of.
AceJohnny2 [3 hidden]5 mins ago
> It’s perfectly possible to write safe C and C++ these days.

It's also very hard to do so.