I wonder what he'd say today, if he were to give his updated opinions on modern operating systems. I didn't even exist when this was written, but as far I know, OSes are extremely different today. This was still before MS was even hinting at having NT take over as the mainline Windows OS. And then, the macOS of today probably has a lot more in common with NeXTSTEP than classic MacOS, so I'm curious if he changed his opinion on it after OS X came out.
The most timeless thing here is Linux retaining its "highest hacker to user ratio".
If anything the "highest hacker to user ratio" has diminished since then.
Hardware compatibility was a major issue. Even if hardware was compatible with Linux it often wouldn't work out of the box. Most homes had only a single internet connected device so if you borked your system you had to have friends that would know how to guide you to fix it over the phone or you had to travel to someone else house to check the internet then come back and try what you wrote down. Users who had no patience for this would get filtered out of the userbase.
There are far more mainstream Linux users (and "serious" business users) today than back in the day, but it still has the highest ratio among all modern-day systems. The statement still holds.
That too can be swayed if you define it realistically. The modern Playstation operating system is based on FreeBSD, which isn't entirely pure but feels like fair game considering the BSD license.
Right, so how did the "highest hacker to user ratio" diminish then? You or I are probably misunderstanding something.
If they just meant "the hacker to user ratio" diminished, they should've said that, but it seems like a weird way/phrasing to acknowledge that linux-using-hackers sell to non-hackers (and is a no duh).
Carmack's point was that linux was a good place to get hackers, so it's good for him to target as a business, but maybe it's better to get them on mac now (in 2025). I don't know: I use a mac laptop outside of my office, but I mostly just use it to browse the web and remote to my linux desktop inside my office. I wonder sometimes if it is important to target mac to get smarter users, and so I might believe mac has the "highest hacker to user ratio" now when in 1997 Linux definitely did. Depending on what I'm doing the bsds might be a better focus.
That is, I suspect that Linux might not actually have the "highest hacker to user ratio" anymore, which is what I think the person I am replying to meant as well. I don't know; and I don't have good reasons for believing such a thing that beyond my own experiences, but I'm curious and willing to be convinced, and so I ask questions.
My point was that computing in general hit the mainstream and running Linux became much more accessible and practical. So this influx of people now using computers diluted the ratio. Also non Linux based OS's became much more friendly to hackers or would be hackers.
Windows stuck as the id tooling platform. I'm guessing by the time OS X was relevant, id Software had grown and all the tooling that would've benefited from Interface Builder was maintained by different folks. And Carmack was focused on getting the most out of various graphics cards, where Win32 drivers were both the cutting edge and what consumers had.
Are they though? Except for Windows everything else has become a UNIX (even on game consoles, Xbox runs a Windows derivate and PlayStation runs on a BSD kernel, only Nintendo is still doing their own thing).
The OS diversity in the 90s was much bigger than today, AmigaOS, RiscOS, AtariTOS, BeOS and the original MacOS were all siginificantly different from each other, much more different than Linux vs macOS vs Android vs iOS.
Doesn't the dramatic decrease in diversity and the general streamlining/convergence of the remaining options also qualify as being "extremely different" when compared to the 90s?
Knowing Carmack, and the market, not much would change about this.
Windows still rules the roost, though it wouldn’t be referred to as Win32 today for various reasons. Linux is even more important today, given the Steam Deck and Proton; but still a smaller market than Windows. And macOS is even more of the third-option today given their antagonistic support to OpenGL/Vulkan and non-Apple-first developers (in general).
If anything, Linux would probably be switched to first since Carmack was always a hardline supporter and it seems to have the most capture velocity; but that’s still quite unlikely. And obviously all the other platforms would be missing from the list altogether given the triopoly/triculture that the modern desktop OS sphere has evolved into.
What you’re referring to as “Win32” is WinAPI and its derivative/wrapper technologies. Which can include WinRT, WinUI3, MFC, etc.
And “Win32” as a reference to the platform is well gone, as it’s exclusively “Win64” on the x86 side these days.
Thus why I said it would be unlikely he would refer to it as “Win32” specifically today. But yes, if you conflate “Win32” to “native Windows API” (even that term will be controversial, so replace “native” with “legacy” at your preference), it’s all the same today as then.
Nah, in the gamedev world Win32 has a pretty focused meaning: the subset of Windows system DLLs that are needed for game development, and that subset is pretty small, just enough to get an empty window, DXGI swapchain, D3D device, audio output, input and maybe networking, e.g. kernel32, user32, ole32, gdi32, dxgi, d3d11/d3d12 is pretty much all you need.
Except for the 3D API, the requirements for game development on the OS haven't changed much since around WinXP, and the fact that Win32 hasn't changed much since WinXP is still the greatest quality of Windows (since anything that came after the classic Win32 APIs was pretty much a shitshow - with the notable exception of DirectX).
Win32 will be preserved forever in a glass museum case with life support bolted on -- just like how in Valve’s Source Engine, the Quake physics component (Qphysics) is treated as a ancient artifact to be called upon when its power needs to be channeled, but kept isolated from the "normal" VPhysics lest its Eldritch power corrupt the rest of the codebase.
Though judging from how CS2 is going, it seems that the quarantine measures aren’t particularly airtight.
> Win32 will be preserved forever in a glass museum case with life support bolted on
And that's a good thing because for game development you don't need much more from the OS, just enough to get a window, input events, audio and networking. All the interesting stuff all happens in the 3D APIs, and those have changed a lot since the early 2000s.
Win32 as pure C API has stagnated in Windows XP view of the world.
Since Windows Vista, most new APIs have been introduced as COM libraries, exception being DDK and extending versions of existing ones with new nummeric or Ex suffixes.
Besides COM, other ones have been based on WinRT, which is COM upgraded to use .NET metadata instead of type libraries, and an additional base interface for reflection, IInspectable.
> There is a running joke that Win32 is the Linux's most stable API.
It's genuinely true. With the exception of the Linux ABI, everything else is in constant flux. I think systemd has slowly taken over the world to the point that it's not going anywhere but beyond that it gets really thin.
BSD was much less desktop oriented then, and there wasn't newbie friendly documentation around.
Whereas it was a niche but still relatively common for teenage hobbyists to install Linux, get X11 running, read the HOWTOs and surf the web with Netscape for Linux[1] on the home (or school) PC and geeking out on all the Unix things that you heard the older kids got to use at the university lab workstations.
You could argue those users had the hacker spirit of course and many of them did learn programming as well after a while since you still ended up building stuff from source half the time when you wanted to install something.
It helped that you could easily get your hands on cheap Linux install CDs in bookstores and computer shops.
[1] Netscape seems to have been at version 4.0 by 1997. WP thinks version 2 was already available for Linux.
Honestly, I didn't even think of BSD. I actually don't know anyone who uses it on a personal level, I assumed it was more of an OS that you had to use for your job. But I guess, given how niche it is for individual use, you'd be right. But to be pedantic, if you took something really obscure (like hobbyist OSes that have little practical use), you'd probably get to a 100% "hacker" user base.
I know many OSes are based on FreeBSD, I assumed that OP implied people who used the actual standard distribution of it, not highly-customized embedded or similar versions. Also, using Netflix wouldn't make one a BSD user just because it's what they run on their servers.
The most timeless thing here is Linux retaining its "highest hacker to user ratio".