Bog Roll ::

It's Not Magic, It's Work!

14 May 2006

Fork Phobia

While we can't all agree what the perfect operating system is, it's fair to say it's a *nix. The problem is UNIX™ forked into a whole collection of slightly different and slightly incompatible proprietary versions. These versions had to compete in the market place against both each other and non-UNIX operating systems.

If vendor "A" had a good idea, vendor "B" could only copy it after in was in the market place, and any ideas that vendor B was working on could not take into account A's innovations until after the fact. This made developing Unix expensive and slower than it should have been. It also created a whole raft of variants, non of which were perfect.

Over time many weaker Unixen died and with them died millions of dollars of wasted investments and some brilliant ideas. Eventually only a handful of Unixen survived, but alas the non-Unix had gained a strangle hold on everything that wasn't Unix and was slowly and inexorably eating into the Unix ecosystem.

Quietly out of nowhere GNU/Linux and open source arrived. It looks like UNIX, it tastes like UNIX, but it isn't UNIX. The non-Unix world said it would fork just like Unix had, and this would kill it. GNU/Linux didn't fork and now after more than a decade, open-source software is inexorably eating up the proprietary software ecosystem.

Unlike closed source UNIX, open source Linux and open source projects in general don't fork. People disagree, projects split, but because the source of every splinter is open, good ideas from one project/splinter can still easily cross over to another project. Open source projects breed like sexually reproducing organisms, whereas closed source projects are more akin to asexual organisms, this gives open source projects a significant evolutionary advantage - open source is faster as good ideas are easily exchanged. While there is a short term advantage to asexual reproduction, just as there is a short term advantage to proprietary development, ultimately there is a longer term advantage to sex and open source development.

There is No such thing as forward-slash

I do wish people would stop saying “forward-slash” on tv when they read out a URL (sic.).

The slash (aka solidus, oblique, virgule, or stroke) is a perfectly normal English punctuation mark with a long history, probably dating back to Roman times.

On sane computer operating systems, the slash is the directory separator in path structures. As the world wide web is based on Unix, the path separators in URIs also uses a slash.

The “backslash” is a modern invention, dating back to 1960. It was created by taking a slash and reversing it, hence the name backslash or reverse solidus. On a sane operating system the symbol has various minor uses, most notably to escape the following character. Annoyingly Microsoft chose to use it as the directory separator symbol in a path statement.

Though Microsoft's various broken operating systems are of minor importance in the scheme of things, they are the dominant client operating system that most people have used. Microsoft's illogical use of back-slash, has no doubt contributed confusion in their generally poorly skilled user base. For some reason people have started to call the slash forward-slash, especially in the context of a URI. What's really strange is that it doesn't help, people still need to be told which way the stroke goes...