Frustrated? Yes. Annoyed? Never. (updated)

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. =)

(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.