Executive summary for the terminally impatient
Microsoft is complaining that "the Linux desktop including OpenOffice" infringes some 235 Microsoft patents. An objective comparison between the whole Linux desktop and Microsoft's Windows desktop shows that it has a good point; there are many resemblances, from trivial to profound. However, there are plentiful other non-Windows-like models of desktop to follow instead. At least two are already there: implemented, working and ready to use, complete with accessories. Two complete Free, open source desktops, radically different from anything Microsoft has patented. They're just not being used by any distributions.
The ridiculous saga of SCO, with its claims that Linux contained its proprietary code, is all over bar the shouting. But what happened is important. The resolution was not that Linux didn't contain the code: it was that the disputed code wasn't SCO's in the first place. In the world of free and open source software, nobody much took the lawsuit seriously in the first place. Someone who did, though, is Microsoft, who despite not using Unix - indeed, being Unix's biggest and only serious opposition - paid SCO's ridiculous licence fees very early on. There were also significant investments in SCO from a Microsoft-backed investment company.
So, with this effort undermined, Microsoft itself is making threatening noises towards Linux world. This time, it's its vague and thus far unsubstantiated grumbling that "the Linux desktop, including OpenOffice" infringes some 235 Microsoft patents. And once again, the FOSS community isn't taking it very seriously. Its reaction could reasonably be typified as amusement and an an attitude of "bring it on". But it's never wise to taunt someone bigger , stronger and richer than you.
At the same time, of course, it's signing patent-exchange treaties with some Linux vendors, such as Novell, Xandros, Linspire and TurboLinux. Unless these get tested in court, it's hard to say exactly how much they're worth, apart from letting the companies that have signed offer slightly better Microsoft integration in their products. The big thing is that the Vole promises not to bite these companies' customers if or when it finally start gnawing away at those it reckons have infringed its patents. There's little actual protection for the developers of "the Linux desktop" or for the products themselves.
The wording of the threat is very important. The great Vole isn't saying that Linux infringes. Linux, after all, is just the kernel, analogous to NTKRNLPA.EXE on your XP machine, and when was the last time you had anything whatsoever to do with that? It doesn't even show up in Task Manager!
No, it's "the Linux desktop". This means the core OS plus all the infrastructure to display a GUI, and then on top of that, a desktop.
Today, for a lot of people, what "the desktop" really means is ancient history, so a little background is in order.
First, let's define some terms. Most IT types know what "GUI" and "WIMP" mean, and many would consider "desktop" to be broadly equivalent - but it's not.
This is going to sound weird to anyone young enough not to have used anything before Windows 95, but not all of the many dozens of GUIs for Linux have a desktop. But in fact, Windows 3, 2 and 1 didn't, either; nor did NT 3.
The whole idea of a "desktop" was pretty much invented at Apple in the 1980s and, arguably, refined by Microsoft in the 1990s. Apple was inspired to create the $10,000 Lisa and then cut it down to make the $2,500 Mac by some early graphical workstations at Xerox PARC, but Xerox's Alto machine didn't have anything a modern user would recognise as a desktop either. What it did have was a GUI with the essential ingredients of windows, icons, a mouse and a pointer.
Apple's innovations were taking the previously-disregarded background, the blank part of the screen [i]behind[/i] all the windows, and making it represent an office work-surface, populating it with things like icons and menus symbolising familiar real-life objects like wastebins, folders, and blank documents, rather than computer-science concepts like filesystems, directories, and executable files. This may not sound like a big deal today, when we've learned to take such things for granted, but quarter of a century ago, this was radical stuff. It's why Apple is still around today, when contemporaries such as Digital, Osborne and Commodore are long dead.
Daddy, what did you do in the War?
Microsoft didn't come up with anything like this; indeed, it took it eleven years to produce a desktop-based GUI to rival the Mac's. In the early days, there were lawsuits aplenty between Apple, Microsoft, Digital Research and other companies developing and refining the idea of the "graphical desktop". These were settled when companies came up with their own takes on the idea; for example, Apple put drive icons on the desktop and menus at the top of the screen, while Microsoft put drive icons inside a virtual "My Computer" folder and menus inside each window. Small differences, but enough to satisfy the p atent lawyers.
But that was more than a decade ago now. Apple staked its claims in the mid-80s, Microsoft ten years later. Since then, Linux has acquired several desktops. First KDE, originally a German project, written in C++ and based on a Norwegian tool, Trolltech's Qt, that at first was free but not open source. In response to this came GNOME, started by a Mexican developer, but in a Unix-crowd-pleasing move, written in plain old C and based on the GIMP Toolkit (Gtk+), an all-Free tool.
Both were a bit ropey at first, but they've come a long way. They're both quite mature, polished and boast extensive suites of native applications - although this being Linux, they can run each others', too.
Of course, an operating system is more than just a desktop. Something the Windows evangelists generally forget in their comparisons is that a modern Linux distribution comes preloaded with dozens of major applications, too, plus a selection of thousands more - stuff that would add a couple of zeros onto the price of bare Windows. Most distros sport the Firefox web browser and the OpenOffice.org package, comprising half a dozen MS-Office-2003-compatible programs: a Word-alike, Excel-alike, Powerpoint-alike and so on. And, of course, chat, email and diary/address-book programs, games and so on.
This is what's generally referred to as "the Linux desktop": KDE or GNOME with all their accessories, plus OpenOffice or an equivalent such as KDE's KOffice, plus Firefox and associated Internet apps. It's a big bundle: a couple of gig of software from dozens of different suppliers, covering most of the functions provided by Windows plus Office plus additional apps. It's [i]way[/i] more than Apple supplies unless you buy iLife and iWork and possibly MS Office too - again, with a substantial pricetag.
So what? Isn't that irrelevant today?
And the thing is that if you take a hard look at a KDE or GNOME desktop and all its apps, it's painfully obvious where the inspiration for almost all of it came - and it's not Mac OS X. Indeed, OS X's GUI is younger than either KDE or GNOME.
KDE is sometimes painfully like Windows: for instance, its developers long ago mimicked Microsoft's move with "Active Desktop", as bundled with Internet Explorer 4 and used by every version of Windows since, by reusing their web browser to also browse the PC's files and folders.
Let's look at what KDE and GNOME have in common.
Both have task bars with text buttons for each running app, a clock in one corner and an application launch menu in the other, next to which sits a row of icons for frequently-used apps. By default this is across the bottom of the screen, but it can be respositioned, resized, set to auto-hide or always topmost. In this bar near the clock, both have a notification area where resident programs can display icons to tell the user about the system status, and both come with resident applets such as network monitors and auto-update tools that use this area. Both have file browsers with an optional column of command buttons or popular locations down the left hand side. Outside of the file browser, in both, all windows have a control menu at the top left of each window and maximise, minimise and close buttons at top right, and both let you resize windows from all sides. Windows contain a menu bar arranged horizontally across the top, and below that, tend to have a customisable bar of command buttons; if these are unlabelled, temporary labels appear on mouse hover.
For user interaction, on both, most apps pop up dialog boxes, which tend to sport "OK", "Apply" and "Cancel" buttons. To load or save files, a special type of dialog appears with a miniature file browser and a box into which you can type a path or name or combination of both.
You not only can but are encouraged to interact with objects by pointing at them and pressing the right mouse button, which summons a contextual menu at the current mouse position. This is the primary interface for some programs.
Now, bearing this list in mind, think: how much of this description also applies perfectly to Windows? Compare it to the GUIs of Mac OS X, a Palm PDA, a Symbian smartphone or even a high-end photocopier.
To be fair, since version 2, GNOME has gone slightly more Mac-like, moving some functions to the top of the screen instead, and it shows drive icons in a "Computer" menu rather than a folder, but the Windows influence remains plain. It even uses most of Windows' keystrokes, like Alt-F4 to close a window, which, oddly, the slightly more Windows-like KDE doesn't.
This is the target Microsoft is levelling its legal guns at. Even counting minor FOSS contenders like Xfce, all the well-known Linux desktops are unmistakably Windows-like in both look and feel, and when you come to apps like OpenOffice Writer or Calc, the influence is even more plain - in fact, they're nearly identical to MS Office, far closer than even Microsoft's own Office 2007.
This isn't coincidence. You could look at it as a simple evolutionary imperative. The world's main desktop OS and applications are Microsoft's, so it's the GUI the Linux desktops' programmers are most familiar with. What's more, if you're designing a new desktop, aping the market leader is an easy way to make your product comfortable and familiar for most computer users. It's also what they ask for! You could almost say they'd be mad to do anything else.
The trouble is, Microsoft has noticed the resemblance and it's not happy. It's been saying so, clearly and distinctly, for months on end now. And mimicking a massive, extremely rich and highly litigious company like Microsoft is not a good survival tactic.
The Interface Wars
Many people in the IT community are too young to remember the epic "look and feel" battles of the 1980s, when major companies spent millions defending their own arrangements of menus and controls. For countless thousands of people in the software business today, at the time when Lotus 1-2-3 was [i]the[/i] definitive business application and Lotus sued rivals like AsEasyAs into oblivion, they were too busy with learning to talk, use a lavatory and eat solid food to pay attention.
This sort of thing sounds trivial today, but it's anything but. These lawsuits cost millions, took years and were viciously fought. Successful companies struggled and died; fortunes were lost. When Windows came along, the Interface Wars petered out; by 1980s standards, all Windows applications looked almost identical compared to the user-interface chaos of DOS.
Today, for many people in computing, including highly-trained professionals, Windows is all that they know or have ever seen. The details of how it works seem to be obvious, universal ideas, too trivial to notice - but they are not.
This is the core of the problem. There is a lot of common ground between KDE and GNOME, and even between them and smaller players such as Xfce or Enlightenment. The ways that most of the Linux GUIs resemble one another - their lowest common denominator - is, pretty much, the Microsoft Windows way of doing things.
The influences run very deep: for instance, the idea of toolbars across the top of windows is something Microsoft pioneered. Sure, MacPaint had an icon toolbox in 1984 or whenever, but the notion of a row of buttons to supplement or even duplicate the most often-used functions that are already to be found in the menus was brought to the masses by Microsoft, mostly in what was then called " Word for Windows" version 2, more than fifteen years ago. Others tried their own versions, such as Lotus' "SmartIcons", but in the end, they gave up. Some, like Visio Inc. (before they were bought out) and Corel, even paid Microsoft to licence the Microsoft look and feel, so their applications could be marketed as "Office Compatible".
Today, near-identical toolbars adorn Firefox, OpenOffice, all GNOME and KDE apps and so on. Except these implementations are not licensed.
In many cases, whatever the idea was, the great Vole probably didn't invent it, but it was the first to bring it to prime time, and you can bet it was the first to patent it - or it hired the guy who did and bought the rights off him.*
Let's look at a few of these now-obvious and natural seeming ideas. We've mentioned menus across the top of windows and customisable command toolbars. We've described the similarity between GNOME's and KDE's default panels to Windows' taskbar, the layout of their window controls and file browser windows and so on.
Dragging any edge or corner of a window to resize it, for instance. Try playing with a Mac and you'll find that OS X doesn't do that - and there's a good reason it doesn't, because that's a [i]Microsoft[/i] GUI feature. Jobs' and Gates' mobs faced off twenty years ago, painfully and expensively. They know where they stand. But edge and corner resizing works on Linux, though.
Save and load dialogue boxes - Apple pioneered them, but Apple never let you type in a path, because that sort of thing went against the original Mac interaction model. Instead, there was a button for cycling through mounted drives and an eject button for changing disks. You browsed through folders in the main list. What everyone uses today is the Microsoft style: a list you can click on and a box in which you can type a path.
Recent documents lists. "OK", "Apply" and "Cancel" buttons. Right-click cont ext menus. Double-clicking the title bar to minimize to the taskbar.
This comment is going to go down like a lead balloon in open source circles, but it needs to be said, because nobody is talking about it. Compare Windows and the leading Linux desktops and the Free offerings look like [i]direct clones[/i]. Mac OS X is [i]dramatically[/i] different. Even Windows' long-lost cousin, OS/2 - still around in the guise of Serenity System's eComStation - is unrecognisably different by comparison. OS/2 and Windows share a single ancestry and a lot of code; you needed a trained eye to tell OS/2 1.2 and Windows 3.0 apart, they were so similar. By OS/2 2 and Windows 95, there was no visible relation. Put all of these mugs in an identity parade, even their parents would pick Windows and Linux out as twins.
The Great Vole is not yet specifying what patents on this sort of stuff it owns; all it's saying is that there are about 235 of them. Software patents are a pain in the neck; all they do is allow big rich companies to beat up small poor ones. That's why so many big rich software companies are campaigning for them. For now, though, there are patents on technology ideas, even bleedin' obvious ones, and Microsoft has lots of them, plus supertanker-sized shiploads of cash to pay lawyers to enforce them. Those Linux companies who've made patent-sharing pacts with Microsoft might be safe, but the others are not, and they can't out-pay Microsoft in court.
Following other roads
If the Vole bites and this does go to court then judging from the previous times the same battles have been fought it will be a long, expensive and bitter battle, and whoever came first and has the most cash will win. And the Vole is holding all the cards here; the FOSS guys haven't got a leg to stand on.
The really ironic thing is that it's all so unnecessary. Sure, the obvious thing to do was ape the way the market leader works, but that's not a good plan when it means making products that are uncomfortably similar to those of the biggest, baddest, richest, meanest competitor around. Windows isn't the only role model around.
Companies have "borrowed" the Windows look before. OS/2 3's Launcher, inspired by the Unix Common Desktop Environment - back when anyone still cared about commercial Unix - mutated into a taskbar and launch menu in OS/2 4. However, OS/2 was already beaten then, nothing to worry about, and anyway IBM and Microsoft still had technology-sharing deals in place. Indeed, speaking of Unix, the commercial versions were all constantly at war, but towards the end, the CDE desktop and Motif widget set were widespread. The window furniture of Motif was taken directly from Windows - but that was about all. CDE was so primitive that a modern viewer wouldn't recognise it as a desktop and Solaris has now replaced it with GNOME. Again, though, Unix was an enemy already on the retreat.
But way back when, there were lots of non-Windows-like desktops. BeOS' default task switcher could be rearranged to look like Windows 95, but it wasn't by default and its folder views were more like classic MacOS. Its windows' frames were unlike anything else. Digital Research's GEM and Amiga's Workbench were more Mac-like; in the early days, that was the look to emulate, not the ugly and kludgy MS DOS Executive of Windows 1 and 2. GEM was too Mac-like: Apple's lawyers forced DR to castrate and cripple it, although oddly, the lawsuit didn't affect the Atari ST version. Even the document-and-application-driven Mac was Apple's second stab at a desktop: before it came the Lisa, which used templates and tear-off pads instead of programs that saved files onto disk. A vaguely similar template model drove the OS/2 Workplace Shell, which is still unique today. OS/2's dialog boxes didn't even have an "OK" button; selecting an option made the change instantly. To make it permanent, you just closed the dialog with the close box in the title bar; to undo the changes, you clicked "Cancel". It may not be as readily guessable as Windows, but it's logical - and Windows' "Apply" button confuses people today. How many times have you seen someone click "Apply" then " OK"? Completely unnecessary, but millions do it daily.
But it's not all historical. Today, there are two actively-maintained Free Software desktop environments which are nothing whatsoever like Windows or indeed the Mac - but even most Linux aficionados probably have never heard of them. No current distributions are based on them. If you install one of the myriad of desktop-centric distros - Ubuntu, SUSE, Red Hat, Mandriva, whatever you like - you won't find these in the profusion of software available to install. Both hearken back to much-loved desktops of the 1980s, whose determined fans have kept them alive.
A step in the right direction
When Apple bought NeXT, it did so for Next's operating system, a graphical desktop Unix. Nextstep was the state of the art in the late 1980s, with an elegant greyscaled desktop. Applications could be launched from a Dock down one side of the screen, whereas minimised windows became icons in a separate dock at the bottom. The file manager arranged folders in columns, unlike the Mac's cascading windows or Microsoft's tree structures, and featured a what Web designers would call a breadcrumb trail for navigating up and down the hierarchy, plus a Shelf for stashing frequently-used directories. There was no menu bar at all # neither at the top of the screen nor inside windows. Menus appeared only when you clicked the relevant mouse button, but they cascaded down from the top left of the screen, and oft-needed menus could be torn off and turned into floating tool palettes. There was a recycle bin, long before Windows gained one, but it was in the Dock, not on the desktop, which in line with the minimalistic design was kept bare. Scrollbars were on the left side of windows, because most alphabets read from left to right so that's where your eye begins. Both the arrows were at the same end, so you could fine-tune scroll with little mouse movement, while windows could only be resized using a relatively thick frame across the bottom with handles in the bottom left and right corners.
Sadly for Nextstep's admirers, Apple's was the better-known interface, familiar to millions and specifically designed to be easy for beginners - for example, restricting the mouse to a single button. So over the next few years, Next's developers gave Nextstep a complete makeover to turn it into a modern version of MacOS - now called "Mac OS X". The columns remain as an option in the Finder and the Docks survived in a single merged form, but OS X is otherwise more like the Mac than its own ancestor, with a single permanent menu bar, drives on the desktop, right-mounted scrollbars and windows resized from the bottom right corner only.
The original look and feel of Nextstep lives on, though. Many Unix types admired Next's elegant black window frames and the look was widely imitated on Linux - the BlackBox, OpenBox, FluxBox and WindowMaker window managers all copy the Next look, but - erm - "enhance" it with themes and colour. WindowMaker has another role, though, as the official window manager of GNUstep, a complete Free reimplementation of Next's entire user interface. The GUI is almost incidental to the real project, though, which is a Free rewrite of Next's comprehensive class library framework, including equivalents of Next's feted Interface Builder GUI design tool. This was the original inspiration behind Visual Basic and NeXT's version lives on in Apple's XCode, now given away free with Mac OS X. The key difference is that while GNUstep apps can also be compiled to run under OS X, they work on any Linux machine and most other Unixes too - as does GNUstep itself.
Long before the Windows Explorer was a gleam in any Microsoft programmer's eye, the British creator of the BBC Micro, Acorn, created its own 32-bit RISC-based desktop PC, the Archimedes. INQUIRER sister title Personal Computer World gave the Archie a rave review in 1987, agog at the machine's raw speed. Acorn's Californian research lab had planned a complex, Unix-like OS for the new machine, but it didn't happen in time, so the Cambridge head office adapted the BBC Micro's minimal DOS, "MOS", to create an OS for the first machines to hit the market. It was dubbed with the very British name of Arthur, but quickly revised into the more professional-sounding RISC OS 2.
RISC OS comes with an idiosyncratic graphical desktop. The big innovation for the time was a bar across the bottom of the screen that displayed icons for each running application. (Sound familiar at all?) The "icon bar" also contains drive icons, though, and tools for adjusting screen resolution, managing memory and so on. There's no button or menu for launching applications, but this was recognisably the birth of what would, nearly a decade later, become the Windows Taskbar.
RISC OS uses a three-button mouse. Back then, the extremely rare PC mouse had two, but the right one didn't do anything in particular. For instance, in Pagemaker, it was the zoom control. Acorn gave each button distinct functions and even named them to remind you: from left to right, they're called "Select", "Menu" and "Adjust".
There's no menu bar, neither in windows nor across the top of the screen. Applications' main menus appear when you click the "Menu" button over any of that program's windows. Mac fans like to proclaim that the single menu bar is best, because "Fitt's Law" says that one of the screen's long edges is the biggest target to hit when moving the mouse. This entirely fails to notice that it's even easier to hit a target when you don't have to move the mouse at all.
It's like the context menus, as seen today on Windows, Linux and OS X, but RISC OS apps' menus contain all the usual options found in those systems' other menu bars - File, Edit, View and so on. All in one place, with no need for duplication.
The left Select button does what you'd expect - selecting, opening, scrolling and so on. The Adjust button, meanwhile, subtly altered the action of Select. It's hard to explain if you're never used RISC OS, but, for example, right-click on a dialog box's "OK" button and the changes were applied but the dialog stayed open - removing any need for an "Apply" button. Right-click the arrow on a scrollbar and the window scrolled in the opposite direction to the one you got if you clicked with Select. This kept the arrows nicely separated and therefore easier targets to hit, but made precision adjustment easy, so there was no need for a scroll wheel on Acorn mice.
There are other oddities. Window frames have a handy control to push that window behind all the others and you can drag windows without automatically bringing them to the front. An often-confusing feature is constraining the pointer. If you can't meaningfully drag something beyond its window, or if a mandatory dialog is open, then suddenly the mouse pointer can't leave that window or dialog box, so you must do whatever's needed of you.
RISC OS' file manager is clean, simple, elegant and very, very fast, with auto-arranged icons and auto-sizing windows, but RISC OS conceals another strange but brilliantly clever feature when it came to loading and saving files. The environment heavily favours drag and drop, more than any other GUI. To open a file, you drag its icon onto the application's icon in the icon bar. So far, so superficially Mac-like, but icons in the bar represent running apps, as opposed to files on disk. On classic MacOS, you dragged a document onto the icon representing the program binary somewhere on disk, or an alias to the binary. Because the iconbar only contains running programs, you also use those icons to manipulate the program - getting version info, quitting or creating a new document. No need for Mac OS X's distinctive but odd " Application name menu" - the first one after the Apple.
Perhaps RISC OS' most unique and powerful aspect is most visible when you save a file, though. First, open the folder where you want to put it, then click Menu and choose File|Save. The dialog box appears, containing a file icon whose name you can edit. You then just drag this icon into the target folder. There's no need to click a separate "Save" button, nor to use a file selector inside the dialog box to navigate the filesystem - after all, that's what the desktop is for, so why duplicate the functionality? You can also drag a file's icon straight into another program, allowing data flow like the Unix shell's pipe and redirect symbols. However, unlike Unix GUIs on Linux or Mac OS X, let alone Windows, the user doesn't have to worry about saving temporary working copies anywhere.
RISC OS lives on and you can still buy new Acorn-compatible hardware today, but the range of both hardware and software is restricted and rather expensive. If you're running Linux on commodity hardware, though, you can enjoy the benefits of Acorn's elegant desktop with ROX.
Like GNUstep, ROX is a Free desktop that seeks to recreate a classic 1980s GUI. It comes in two parts: the ROX Filer is a lightweight Acorn-style file manager that can be used with any other environment. For the full experience, though, you can replace your desktop with the ROX Panel and ROX Session. This gives Linux an icon bar, a desktop (or "pinboard") and the other features of RISC OS, including drag-and-drop load and save. The modifications to a standard Linux app to make it work with ROX's RISC OS-style loading and saving are small and simple. It requires a little more work to make apps appear on the iconbar rather than opening a Microsoft-style blank document, but it's straightforward and lots of demonstration applets are supplied or available.
Salvation or irrelevance?
GNUstep and ROX show two completely different, utterly non-Windows-like ways to operate a Linux desktop. Both are simple and elegant to use, borrow little or nothing from the Mac or anything else, and have designs that long predate Microsoft's current interface, first seen in 1995. Both have suites of apps of their own and work with existing Linux apps from Firefox to OpenOffice, and in both cases, existing apps could be fairly trivially modified to follow the GNUstep or ROX models instead of the Windows one. Couple these desktops under a suitably non-Windows-like window manager - naturally, both have their own suggestions in this department, but they're not mandatory - and the result would be a complete desktop environment that bore little to no resemblance to Windows and which the Vole therefore couldn't sue.
There are plentiful other ways to go, too. Psion has invented multiple GUIs - the Series 3 and Series 5 were totally different, both from each other or anything else, and both had hundreds of thousands of happy users. Back in the mists of time, Sun's OpenLook and the NeWS GUIs also had different takes on how a desktop works.
Linux isn't Windows. It's a modern Unix, one that's grown up in a world dominated by Windows. It runs on Windows hardware, reads and writes Windows' disks, partitions, filesystems and files, it networks with Windows, it opens documents from Windows applications and prints to Windows printers and works with other devices solely intended for Windows, and it does all these things without actually resembling Windows in any way. It can be coaxed into running Windows applications and even some device drivers, if you must.
But it's not Windows and it's not trying to be. So why do all the main Linux GUIs look and work just like their biggest rival?
The Mac doesn't, and yet people adapt to it quickly and easily and find it a rewarding and pleasant experience. It's kept Apple afloat and competitive in a world dominated by a hostile competitor.
The Mac, GNUstep and the ROX Desktop all show that a general-purpose PC desktop doesn't need to look or work like Windows to be attractive, easy and fun to use. And whereas being Windows-like has aided Windows adoption to some degree, it's also attracted the attention of Windows' parent, and that is never a good thing. It's time to dodge out of Redmond's sights, take a step sideways and follow an independent path. µ
Imitation is the sincerest form of twattery
It's basically open source without the sharing
Firm teases a standalone event for 26 March
FileSystem API loophole is getting patched out