Here's my dumb question of the day as someone who enjoys retro technology, but knows very little about how code works. I like the classic Mac OS, specifically 9.2, which was actually designed to be an internet OS. These days nearly 3 decades later, that's far from the truth and to be expected, as the latest browser that will run on it is Classilla which will load barely anything anymore due to lack of modern security like TLS 1.2 and 1.3.
But something unexpected happened this year and that was the fully modern Powerfox browser ported over to 10.5 Leopard. That alone was no easy feat at all, and OS 9 is worlds apart from Leopard. But I can't help but wonder what if we could get something like Powerfox or Aquafox running on OS 9?
It sounds utterly ridiculous and impossible and I'm sure it is, but I'd love to learn more about the technical hurdles of what it would take to bring a modern web browser to an ancient operating system abandoned by Apple in 2002. Also, theoretically could a massive corporation like Google or Microsoft port their latest browsers over? *if they absolutely wanted too for whatever insane reason*.
Technical hurdles include, but are not limited to:
1. Lack of a modern compiler. The most recent GCC for OS 9 appears to be 2.3.3 - see
https://macintoshgarden.org/apps/gnu-c-compiler
For comparison, here is what the following browsers want
Aquafox/TenFourFox - gcc 4.8
PowerFox/White Star/UXP - gcc13 (or 14 if you don't mind having no altivec)
Ladybird/Firefox/Chromium/Webkit - recent clang/llvm or at least gcc14
Cross-compiling will be of less help than on OS X, because OS 9 is not considered a valid target for modern gcc or clang/llvm.
For Firefox and Chromium, and possibly Ladybird going forward, you need rust. Ladybird only added rust a few days ago, and only into one part of their browser, so it still may be possible to get a decent experience without rust for a while.
Rust is a very difficult language to port, because it is written in rust. Therefore, if you don't have rust, you normally can't get rust on your platform. Luckily, the mrustc project exists, which in theory can allow you to bootstrap rust from c. In practice, this is not easy on obscure platforms.
2. You need some sort of GUI. Cocoa/Appkit doesn't exist on OS 9. No modern browser uses Carbon. SDL has been ported to OS 9, but no browser seems to use that either.
Realistically, you would have to port GTK or QT to have a GUI browser. QT would be better, but we don't even have that on OS X PowerPC, so it can be assumed to be difficult. With gtk, you need an X server, and eXodus is going to really struggle with handling even GTK 2, much less modern GTK.
On the plus side, if money is no object, QT is run by a for-profit company that I am sure would port QT6 wherever you wanted for enough money.
3. As pointed out above, OS 9 is not Unix or Unix-like. So many things will need to be completely rewritten by people who have lots of experience porting open source software to OS 9. It may be to the point writing a new browser from scratch would be easier. The issue with not being a major browser is that the modern internet is designed for Chromium, Webkit, and Firefox. If you aren't close to those codebases, websites may just not work. User agent spoofing helps to an extent.
4. You are also running on Big Endian PowerPC 32 bit, many things which are problematic.
Could Google or Microsoft port a chromium fork to OS 9? Probably. Those are companies with massive resources. It would still take years and many developers who have extensive OS 9 experience.
More realistically for hobbyists, Netsurf has been made to run on a lot of operating systems, and is in C89, which helps with portability. It will not give a comparable experience to Aquafox or more modern browsers.
If Classzilla could be updated to be more like TenFourFox or UXP, Cameron Kaiser probably would have done it. I am sure he would have preferred two similar codebases were it possible.
OS 9 also is ram limited to 1.612 GB, which isn't actually that bad, as MorphOS is similarly limited. And it actually has better multiprocessor support than MorphOS. So in theory you could get a browsing experience as good as is possible on MorphOS if you had enough talented and dedicated developers.
If I were to do a cost estimate of getting a modern browser (main cost is skilled developers):
OS 9: 1-2 million minimum (based on what the Ladybird team has spent already). MorphOS probably hasn't spent as much on Wayfarer though, so maybe it could be less.
10.3: Maybe for $100,000 you could get someone to pull this off.
10.4: Some of us are trying, like myself and
@danupsher, and we are not charging anything. We also haven't had major success thus far, but some visible progress has been made.