My previous laptop was an age-old Compaq thingy that somehow started refusing to start up in the end of November, around the time I was completing my NaNoWriMo. Fortunately, my sister kindly lent me her old laptop - a 1 GHz PowerBook G4 with a memory upgrade and OS X 10.5.

My opinion has always been that a 1 GHz processor should be damn well enough for all writing tasks. Heck the Compaq laptop with WinXP had less than a gigahertz of processor speed, and I survived the NaNoWriMo just fine. All I needed was TextRoom, Storybook and Msysgit.

I’m henceforth threatening to do the NaNoWriMo one beautiful year with a Commodore 64. I’ve still got my copy of MiniOffice II. (Probably need to run the app in an emulator, because my transfer cable won’t work on modern systems.)

And I’m sure that right now, I can do pretty much all of my ordinary tasks with this PowerBook.

The software support is eroding a little bit, however.

I have admiration for people like LibreOffice, VLC, Celtx and Adium developers who keep the Universal Binary support (or specific PPC builds) available. The only really big segment of software that keeps giving me headaches are the Java apps; PPC is frozen at Java 5, and that was ridiculous in itself when Java 6 was (as far as I can remember) already available when Apple Java 5 came out.

But like many others, I’m a little bit baffled by the fact that Mozilla withdrew support for PPC in Firefox 4.0. They keep supporting Windows XP, and just about the only reason people still cling to Windows XP is that they have perfectly usable hardware that runs Firefox perfectly fine. And likewise, it’s a demonstrable fact that Firefox runs just fine on PPC Macs; the previous versions ran just fine on PPC, and so does Firefox 4.0 when other people get their claws on it. Meet TenFourFox.

TenFourFox’s developers make a good case by pointing out that there’s still a lot of people who would like to run Firefox on PPC - and to demonstrate that it’s possible to do so, they actually produced ports. This is all well and proper.

Now: Is this a good thing or a bad thing?

This is a slightly bad thing for only one reason, and that reason is Mozilla’s fault. And surprisingly, this is not Mozilla’s fault for not officially supporting PPC.

It’s Mozilla’s fault for being overly holy and high and mighty for maintaining the purity of official builds.

Here’s the thing: I’m using Firefox on two computers. On neither of those computers, the browser is actually called Firefox. It’s still the same browser. I give the Mozilla project greatest regards and highest thanks for developing an absolutely kick-ass web browser.

But the fact that they keep the trademark so jealously that they don’t let anyone to help them maintain the obscure platforms is a bit silly. Debian’s Iceweasel folks don’t make big patches to the Firefox; they just fix security problems before the upstream developers get around to do that. TenFourFox folks don’t make big patches to Firefox; they just compile Firefox for the targeted architecture and make sure the previously provided PPC stuff still works nice and clean. Why not let these unofficial builds be called Firefox?

(Update, 2011-06-01: It turns out that TenFourFox guys are actually making substantial changes to the Firefox codebase, because getting the thing to run on an increasingly obsolescent toolchain is a hell of a fight. Read up on their plans to get Fx5 running on Tiger - these are pretty substantial code sacrifices they need to make to do to maintain feature parity. Still, I maintain my point: As long as the software maintains feature parity and there are no real user-visible differences, and higher layers of the software like add-ons still work 1:1, what’s the harm?)

The open source branding is a pretty complex legal topic, and we’re only making some compromises so far. We’re seeing same sort of things in, say, Wikipedia, where the trademark issues make the life a little bit interesting; everyone associates the puzzle ball with Wikipedia, but you can’t use the puzzle ball openly because it’s copyrighted by WMF. Debian is in same boat, except their “open use” logo is probably more famous than the “official” logo.

But either way, I’m not blaming the Mozilla developers, just their legal team for not coming up with an elegant solution to this conundrum.

The beauty of open source is that software can be supported as long as there are developers willing to maintain the software for the specific needs. It’s perfectly understandable if the software is only officially supported on platforms that majority of the users are using it on, as long as the minorities don’t get entirely left out. So tip of the hat to the TenFourFox guys - you’re serving the increasingly smaller segment of people who need modern Firefox on obsolescent but still usable hardware. And tip of the hat to the Mozilla folks - Fx4 is a damn amazing browser.

But I have to give a small piece of advice to TenFourFox guys: don’t burn the bloody bridges, dammit.

The home page currently has some minor bile against Mozilla and Apple. Yes, I’m well aware that all this bile is quite understandable under the circumstances. Still, I wouldn’t sling too much mud against Mozilla; they’re the ones who build the browser, have done a good job so far, and haven’t completely broken things just to mess with the 10.4Fx developers. I wouldn’t sling too much mud against Apple; they’re… oh, wait, they’re Apple, the kings of dumbing-down, hating the environment and increasing lockdown - Carry on with the mud-slinging. =)

I’m further objecting to this on the grounds that this sort of mudslinging can cause a violent, misguided reaction from fanboys. Oops, a correction: it has caused a violent, misguided reaction from fanboys. I rest my case.

(Note: the site appears to be misconfigured; I’m receiving 403 but the site appears to show up in Google Reader properly. A friend of mine received a 403 without having never visited the site previously. Probably some IP ban gone haywire. I consider the IP blocks a bit daft unless they are short term and apply to a single address, just to curb spammers; they have almost no place in user control, because they’re so ridiculously easily avoided. I’m sure everyone is familiar with how Conservapedia pretty much killed itself and declared victory.)

(Update, 2011-06-01: The person who wrote the article told me the permalink to the article is now broken. Due to complications to maintain some integrity in this blog, I cannot visit the site to find out the new permalink. Sorry for linkrot, readers. It happens.)

The rage is aimed at the wrong things. The obvious target of rage is Apple, who has been stabbing PPC support while the users still need it. The second obvious targets are all of the software vendors, who are dropping PPC support because Apple is making their life too hard and the PPC user base is shrinking, anyway.

But the obvious targets are wrong. Software that has no users doesn’t need to be supported. We should be thankful for the fact that Firefox is open source, and that there is a dedicated team of people who keep Firefox working in these hostile conditions.

There is absolutely no need to say “fuck Mozilla for not supporting PPC”. Mozilla builds good code. Their trademark policy is weird, and they would do well to just invite the TenFourFox developers to the team to keep maintaining the Mac PPC port, something they didn’t spare resources for and something the TenFourFox guys seem to do out of love. But aside of these small miscalculations, the fact remains that they built the whole Firefox browser. Without them, TenFourFox wouldn’t get too far: getting Firefox 4 running on PPC is a matter of fixing up incompatibilities and recompiling the 99% of source code that doesn’t need touching. TenFourFox guys certainly didn’t rewrite the whole browser any more than Debian developers did with Iceweasel.

A side note: The blog post also makes a rather tired and naive comment about the differences between RISC and CISC. Yes, I agree that x86 instruction set is a mess and will stand as a shining schoolbook example of how not to do design and extend an instruction set. But the “RISC is speedier!11!!!1!” meme has to die. No one writes assembly any more. We have compilers that produce better-optimised code than humans. And in that race, all that matters is that the compiler can make the processor process the stuff most efficiently given the peculiarities of the hardware. We’re past the age when we were measuring number of instructions vs. time. These days, we should be measuring how well we can manage to solve a specific task, given the amount of money and resources - a much broader picture with no easy, simplistic solutions, because we have very different tasks to solve. Still, for most of my tasks, my desktop computer, an Athlon XP 3000+, beats the everliving snot out of the 1GHz PPC on this laptop, and no amount of PPC assembly is going to make things otherwise. But the PPC laptop is damn good too - I can use it on the couch and bed, which means it’s much better for my back; another of those peculiar costs that are hard to factor in the calculations. Then again, I can just ssh into my desktop computer anyway. (Is this starting to look like a complicated calculation with a meaningless result? It should.) And whether Apple made the right choice taking up x86 processors is another matter altogether; the processor market is fairly diverse, but the fact is that x86 is a begrudgingly good choice. x86 may suck, but at least it is a well-supported piece of crap that is currently living a long, glorious afterlife.

But that raises another point: processors live and die based on their features and their compiler support - and, incidentally, the latter is a rather important thing. If people want the PPC software to live on, the modern compilers should keep supporting PPC.