Usability and Open Source Software
Martin Soto writes "This article by two user interaction researchers, discusses many of the usability problems in current open source projects. The nice part is that, unlike many /. readers, it doesn't stop there, but goes into suggesting novel (at least for the OSS community) approaches to cope with those problems in an open source compatible way. Worth a read to those that, like me, still think that OSS should find its way to every desktop computer."
To change the configuration of Program X simply use your favourite text editor and add the line "-option [-adst] [--h] refnumber columnnum -g --system"
Full details are available by reading the source code.
Thank you.
Mastery of such a product is difficult and so legitimates membership of an elite who can then distinguish itself from so-called 'lusers' (Raymond and Steele, 1991, p. 364)
Eric S. Raymond and Guy L. Steele, 1991. The New Hacker's Dictionary. Cambridge, MA: MIT Press.
For any of you writing a paper (not an article as the story says), you can actually refer to 'lusers' and sound learned.
On the other hand, the general trend of open source is to follow the leader in the most positive way possible. If someone builds the perfect UI, open source folks will copy it sooner or later.
In the open source world, programming ability is king. If you're a hot coder, you're desired and you can be seen as a philanthropist by developing free software.
However, when it comes to interface design, usability, documentation, and any of the 101 other skills related to developing applications, there just isn't the same level of acceptance.
How many open source apps have good documentation, easy to use interfaces, and professional Web sites? One or two.
There's some darn fine software out there (Apache comes to mind) but where is the demand for good documentation, design, art, QA people in the open source world?
I think that those few writers, artists, and interface people working on open source projects are extremely underrated and aren't getting the credit they deserve.. while someone who comes up with a clever hack in C++ gets their name in lights.
mogorific carpentry experiments
Keep out the riff-raff -- stick with command line interfaces!
Roving Web-Teleoperated Robot
http://www106.pair.com/rhp/free-software-ui.html
The man makes some good points about usability and free software. I think that Havoc sometimes takes these ideas to the nth degree and borders on almost RMS style dogma sometimes. Still, it is a very good read.
The other side of the coin that these folks do not take into account is the fact that OSS application developers for all the desktop adoption talk are not coding for the masses. They might think they are but they are not.
They are coding for the select few geeks that decide to install a brand new Unix or with Linux Unix-like OS on top off or besid the OS that came with their box. This number is small. The OSS developers in some ways are simply giving the geeky few the big, unwieldy, powerful applications they want to go along side their *Nix powered OS.
ACK
Yeah. You didn't even read the article. They defined usability right at the beginning of the document: "Usability is typically described in terms of five characteristics: ease of learning, efficiency of use, memorability, error frequency and severity, and subjective satisfaction (Nielsen, 1993)."
They wrote a well-researched, seriously informative document with tons of examples, quotes from experts, and more. I find their comments far more compelling and substantial than yours.
My Greasemonkey scripts for Digg &
I posted this question in a K5 diary, but I'll post here as well. Where are the usability forums for open source software? Who's working on this? Is there a webpage or a discussion group? Something on Usenet perhaps?
Who's working on the "cutting edge" window manager of the future? Where are the groups playing around with their pet interface projects? This is open source, there should be hundreds of different user interface projects floating around. Most of them would be horrible, but it's that open development spirit that condenses bad ideas into really really good ones.
I'm legitimately interested in working on this problem, but I've never discovered places where people ask serious questions about usability. So now I'll post the same question here, where is good usability and GUI stuff happening?
I suspect this is a troll but i'll bite...
Useability is something you add on the backend of a product to market it. What they really mean by useability is a nice GUI where you can get a mouse trail going.
No. You obviously know nothing about the subject. Usability is not something you hack onto the backend of a product after all is said and done. If you're serious about designing an application to be highly usable, then the interface becomes a central development point just as important as the actual functionality (perhaps more important because if you can't figure out how to use it and use it well, what good is it?). And to say that usability means just putting together a whizbang fancy GUI is a massive understatement. There is years of research on the human brain and how to best present information to it on which the principles of good GUI design are built. Sure, it's obvious to you now because you've had lots of experience with applications from which you can borrow concepts from, but at some point in the past someone had to ask the question "what is the best way to do this?"
What most people don't realize is that it's not just the "big" things like provide menus at the top of the screen, etc, but also little things that are taken for granted. You probably don't notice them but when they're not there you miss them. Ever used an application that just didn't "feel" right but you couldn't really explain why?
Useability is great in most OSS work, extremely efficient and powerful...it just has a higher learning curve to the uninitiated user
Here you contradict yourself. How can useability be great if the learning curve for a new user is high? Usability is about reducing that learning curve by making the interface intuitive (among other things).
... why open source software usability sucks.
BECAUSE NOBODY USES IT
Usability means: The software will do what is intended, a lot of people will be able to use it, use it fast, and use it easily.
And please, let's get real: Linux is open source (or free software, whatever), but 99.99... percent of the open source applications are not Linux. So, when you say that "all open source" lacks usability, you are right.
BECAUSE NOBODY USES IT
And I mean, USE it. Not opening a text file to edit an entry to allow 10% more connections to your server. I mean, sit down and USE it for 8 hours straight like most normal people will do.
Open Source, in general, serves the purpose of its creator.
You've scratched, you solved your problem, you hope others will enjoy your solution. But this doesn't mean they will constantely USE it, they will just open, edit, close.
When you get down to what really matters, the real deal behind usability, it is about making software so OTHER people can use. They didn't put the menu item there, but they NEED to know that it exists.
What developers need to have in mind is "I will solve my user's problems". This doesn't mean just wait for a complain. Developers need to actively search problems. Don't you want your software to get better? Then go and hunt the problems! Ask people what they think about it.
You don't have time? Then you are wrong about the priorities. A hard to use software won't get people to USE it, and you won't be helping the free software at all.
Get people to use your software. Doesn't matter that it's bloated, it works XX% slowly, if it means more users.
Apply economic laws: More users = More Money = More Developers.
GET THE USERS, they don't care if the source is closed or open.
Buy a Nintendo DS Lite
Usability Testing of Athena User Interface
Voices from the Open Source Revolution
KDE Usability - First Steps
A few of these books grace our desktops here at work.
There is no great computer interface, they all pretty much suck somehow. Someday we'll figure it out, but to say it's an open source problem isn't that fair. (Even if open source is sometimes behind some non open source projects)
The combination of OSS underpinnings with the Aqua interface, designed as a commercial project, shows the functional results of one of their solutions. It isn't necessarily the only way, but it gives hope that the other approaches can be successfully navigated.
bullshit. this is *exactly* the kind of elitist attitude that is directly responsible for OSS *not* being more widely accepted.
sure, you say it in a much more palatable way ("... it just has a higher learning curve to the uninitiated user."), but the meaning behind the words is always the same.
people like you fear a "dumbing down" of OSS, and yet you are the same individuals who are first to champion Joe Average abandoning a platform he is comfortable with and "just works" (from *his* perspective, which, as much as you might want to disagree, is all that matters) in favor of one which is completely foreign and threatens the prospect of having to relearn even the simplest of tasks.
wake up. useability is much, much more than "something you add on the backend of a product to market it." it is ultimately what decides, after the marketing hype and initial bandwagon inertia have settled, the success or failure of anything from the simplest script to the most complex architecture.
and, oddly enough, it's actually YOU who really thinks that "useability is a nice GUI where you can get a mouse trail going."
!!!!! useability != gui !!!!!
a gui must take useability concerns into account just as much (in many cases moreso) than a command-line interface.
The paper was meaty, but made its points well. Early on, the authors touched on the difference between the two user communities - the average user and the developer. Sorry for belaboring the point, but that's the problem with the OSS user interfaces - they're not designed to be used by te average user.
My opinion is that the best solution to actually selling OSS software to real users (the 'other' 99%), is to wrap it in a functional GUI that users can use, usefully. If I were Microsoft, that's what I'd be afraid of.
As an aside - there was a good feel of humour to the paper:
Usability is not tacked on at the end. In fact, if you've tried to tack some usability on to the end of your way-cool-code, then your little app is almost certainly not that usable. That's a big problem with OSS, as far as I can tell. You've got to think about *how* people are going to use it and *why* they would use it before you write the code that is the *what* of the equation. I'm an Information Architect, the how and why is what I insist on before my app developer writes the code that does it all. We get much better results than trying to proceed in the other direction.
Somebody in an earlier post said that OSS app coders are just interested in "utilitarian" stuff and that's why they are like they are (the apps, that is). Uh Uh. I don't think so. "Utilitarian" means that someone has to *utilize* the thing. If there's no usability, then utility is a lot harder to acheive.
I don't think Neilsen is god. I think his usability equations don't give enough credit for software and sites that are compelling, as well as functional but, that said, the usability gurus have a lot to teach OSS creators. IMHO.
dcobbler
Due to the Microsoft monopoly, most users are trained to understand how to interface with Microsoft products. Thus, people define usability based on how close it is to Microsoft's interface.
Case in point, I was in a library recently. The library has a bunch of iMacs running OS X. A young woman and her friend approached one of the computers and began fumbling about with it. After failing to find what she wanted after 5 minutes, she told her friend in disgust, "I hate Macs," and left.
To me, it appears that OS X has a fairly straightforward, easy to use interface. To this young woman, however, it is apparent that she finds Microsoft Windows more usable than Mac OS X, because her home PC is likely a Windows machine, and she doesn't want to put any effort into learning anything new.
Sure, OSS usability is a bit rough around the edges in many categories. However, the only way it will be "usable" in the eyes of many users is if it copies the interface of Microsoft's products.
"You spoony bard!" -Tellah
Precisely. Another part of the problem is that OSS developers, typically being geographically-disperse and having little access to funding, have no contact with their end users during the design and development phase and cannot do usability testing.
(There's also a "willingness" aspect -- a developer is often not the right person to be doing usability testing with naive users. It's a touchy-feely kind of task, which most developers, OSS or not, wouldn't enjoy, let alone be able to do it well. In commercial environments, that's what the human-factors folks are for.)
Which is how we got to the present situation on OSS and usability testing:
"When writing Soviet GPL code, user interface tests you!"
There is one fundamental problem that you don't cover: I DON'T GIVE A DAMN!
I write software on my own time to solve my own problems. When I got bug reports, I fixed them. I wrote a manual and released it.
But don't tell me that my UI isn't good enough: If you want it better, I'll help you port it to Qt. I don't feel like learning anything other than GNU readline, so I didn't.
You miss the point: My software (*MY* software) has a shitty UI, and I could give a rat's hairy feces covered mutated ass whether or not you find it intuitive. If you don't like it, fix it, because I think it's good enough, and I am not going to waste my time maintaining it, because it works just fine!
My next project is intended to be a good piece of software, to be the best at what it is. That one will have a great UI and amazing documentation. But never forget that most developers don't develope for you: they code for themselves, for their own problems. When those problems are solved, they share their solutions, but don't expect them to bolt a better UI on it, if they don't need one.
Like I said, I've written software for me, and I don't care about that. The software I write for other people too will have a good UI, but never forget that those are two entirely different classes, and don't tell me what I should write in my spare time!
They are investigating whether poor usability
in most open source software is connected to
open source licensing and open source development methodology.
That is, does open source = poor usability.
Two alternative explanations for poor usability
should be explored (and need to be disproven
before blaming "open source") IMO:
- by historical accident, most open source
developers are unix programmers who don't
know a UI from a hole in the ground.
i.e. the argument is that more UI-attuned
open source communities can do just fine
with the open source licensing/methodology.
- open source GUI software is simply quite
immature. We're just maturing on the server
side; the UI is still comparable to Linux 2.0 or
earlier, not Linux 2.6.
Lots of our GUI software is very newly-written.
And a lot less people are working on it than
are working on the kernel and Apache and
so on.
This will change as the userbase grows.
I also don't take it as a given that commercial
software is hugely better; some important
commercial packages (such as Quicken) have
pretty awful interfaces. Though some
are very nice, for sure.
This comment is a classic troll. You've made a blatant overstatement. Let's see some evidence, even anecdotal. Has anybody here really tried to contribute documentation or art to a project, but were dissed or not given credit?
I think that those few writers, artists, and interface people working on open source projects are extremely underrated and aren't getting the credit they deserve..
I think you overstate this. All documentation writers and artists receive credit on the OSS projects I'm involved with.
In my biased opinion, the audio editor Audacity is a success story in OSS usability.
I've been working on this project for almost two years now, and the experience has completely shifted my priorities and my perspective in software development. Before I started working on Audacity, I had the mindset that I think many OSS programmers have of only caring about the capability and raw power of a program. I never really considered the non-programmer users a significant concern.
Audacity's project lead is Dominic Mazzoni, who is uniquely excellent at both programming and user interface design. He comes from a Mac background, a world where interfaces generally don't suck. From day one he was writing for maximum usability and maximum use. Doing simple things with Audacity is child's play. Dialogs and messages are written to be easy to understand. Audacity is portable to Windows/UNIX/MacOS9/MacOSX, so right off the bat the potential audience is much larger than an application written for only one platform.
There is an audacity-help list that is advertised in big letters on the web page. This is an open invitation to ask questions that most would see as newbie questions not worth their time. This gives us a chance to see what users are having a hard time understanding. Most of these questions are answered in a timely fashion, which means these users don't abandon Audacity.
Documentation is another area where Audacity shines. Tony Oetzmann has been writing some really excellent, concise, useful documentation.
As a result this focus on usability, a lot of people use Audacity. We're pretty consistently in the top 20 downloads on sourceforge. People write often to ask if they can incorporate Audacity on CD compilations. We've been reviewed in the Washington Post.
I've really come around on this in the last two years. Usability is worth it. Anyone can appreciate software that is usable, even programmers. This doesn't mean dumbing things down -- right now a feature is in the works that will allow a project to have a speed envelope, that will allow you to have the speed continuously vary (with appropriate resampling). This is a pretty advanced feature that most users would never have a use for. But a lot of thought is going into how to integrate it into the GUI in the best way possible. It's not going to just get bolted on.
Nobody will see this because I posted so late, but I gotta say it anyway.
The reason OSS hasn't taken hold is because of usability, hands down. Mozilla, OpenOffice, CDex, gAIM, all are good examples of OSS that is quality, easy, etc. They install graphically and simply, have intuitive interfaces, and work like professional commercial software.
Most other OSS is designed by one person. That person has an idea for a program and they design it to suit their personal needs. This software often does not suit the needs of 10000000 users the way something like Office does. It usually ends up being CLI or a piss poor GUI. It's difficult to install and only compiles correctly on one specific version of one specific distro of linux with one specific kernel. The rpms don't work. And there is often already a commercial product for windows that does the same thing, better, easier, and is free, can be pirated, downloaded, or otherwise obtained.
OSS doesn't fail because it is open source or because of the free as in speech mentality behind it. It fails because most often, it sucks. Look at Winzip. Nobody pays for winzip. They crack it or deal with the I agree box. But zillions of people use winzip, myself included. They use it because it is a high quality piece of software, that is free as in beer (not in the world of law, but in the real world), is easy to use, easy to install, and it works.
If winzip happened to be open source it would do just as well. When more OSS reaches the quality of professional software in the same way that Mozilla/OpenOffice/gAIM/CDex have then more people will use it.
The GeekNights podcast is going strong. Listen!
I am not sure if I believe the opinions I keep reading here about OSS developers, being:
:-)
:-)
:-)
1) Elitists. Come on, lets be reasonable now. If that were true, we wouldn't have anything but bash shell scripts for all our software.
2) Don't care about users. Also a comment I have seen, also not true.
3) Don't have the resources to do useability testing. Perhaps, but not universally so. Mozilla? Open Office? Not usable? I don't think so. SOMEONE is doing there homework there in the usability department.
But, seriously, I think the problem, all of the problems, Linux (UNIX) in general is facing is that the stage for which operations and use are/were confined to the server room.
We are in a TRANSITION PERIOD, which is going to take another 5 years to work out to address DESKTOP issues, now that the conquoring of the server rooms is a tide no company can reverse.
(Weep in the corner over there Bill....)
This 5 year transition period with usability is going to solve the following issues:
1) Up until now, there has really been no serious demand for desktop apps, in the office arena in the Unix market. This is turning now because the American software industry is, well, maturing beyond Windows. Windows is too monolithic, and too expensive to go beyond its current habitat.
Alternatives are wanted, and want generates development and need because companies that do not play by the Microsoft rules, that have to compete against companies that must, will rule the day in sheer economic terms of operating thier IT infrastructure. Regardless, in fact if you are a company or a country, if you embrace the new way, you will win the day!
2) As a result, mature GUI API's are needed to begin the process of building usable component software products to build software that is easy for the masses to use. Without a mature GUI API to program with, you can't make software that has a similair look and feel.
3) The API's most people will use will probably based on Qt or GTK. (i.e. GNOME and KDE).
I will make a prediction here that Qt will win the day. It is further along that GTK and has a much more mature development environment, which is effect is the foudations developers will need to build the API's and toolkits to make coherent GUI interfaces for apps.
The KDE team knows this, and as a result the toolsets for KDE development have been given equal pairing in attention to detail as KDE's GUI API has evolved. This makes it easier to build higher quality Qt apps at a faster rate than GNOME apps.
I point out in particular, the rapid pace of development of KDevelop and QtDesigner.
In the next 2 years, I predict a very visual studioish integration of all KDE toolsets, into one new development environment that will enforce look and feel much more effectively than right now, and allow Qt developers to make better GUI decisions as a result.
In the end though, you have to remember, the demand for Linux desktop apps will not really start to hit home for another 2 years yet. Linux is still wrapping up its winnings in the Windows Server war.
After a while, the larger server market will provide a new offense base to launch economic warfare against Microsoft's monopoly and Linux will eventually begin a new attack. This time, the target will be Microsoft's home world, and once we enter that system, we will deploy the PENGUIN DEATHSTAR.
What that "DeathStar" application will be, I am not sure. But I will guess and say that it will be OpenOffice full decked out 5 years from now, along with some sort of Exchange killer, yet to be named...
"We have entered the Redmond system Lord Penguin."...
"Fire at will!"
-hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Somebody comments: I thought it was just a distribution problem), and since so many people here on Slashdot rave about Debian I thought I'd give it a try. Especially since PGI(progenies graphical installer) is now 1.0.
Big mistake - you should have found out why they rave about Debian first. Hint: it's to do with raw power, not ease of use or nice interfaces.
tshak says: I'll keep trying so that I'm "open minded", but when a company can take a couple years and get unix on the deskop right (OS X) practically the first time (admittidly, it was released a few months too early), I become uninterested in the year after year failures of the OSS alternatives.
First things first, the usability woes of OS X are well documented. The idea that it somehow magically requires no effort to use is a fallacy. I always end up expending more effort when using a Mac than when using Linux or Windows simply because the Mac needlessly breaks habits to which the vast majority of computer users are accustomed to. This isn't me complaining about things being different, I have no problems with things being different, what I have problems with is the Mac doing things differently simply because that's the way they've always been done, not because it's better. Take the non standard keyboard for instance. Why? Apps don't close when the last window closes, meaning I constantly forget to quit them manually. Why? Software only ejects. Why? These are all usability booboos that you have to force yourself to become used to.
Second point, there's nothing hard about making a desktop based on UNIX. Unix, or rather, POSIX is just a set of standard technologies. What's hard is building a truly free (in both senses of the word) collaborative OS that is flexible enough to appeal to everybody, and yet integrates well enough to be very easy to use. It's hard. We're getting there. Comments like that don't make it any easier.
Tackhead writes: Precisely. Another part of the problem is that OSS developers, typically being geographically-disperse and having little access to funding, have no contact with their end users during the design and development phase and cannot do usability testing.
This applies to most software: any software in fact that isn't produced by a large group usually will not have dedicated usability experts on the team. I don't see people flaming the Windows shareware scene, despite it being home to some of the worst UI atrocities in history. And what do you know, the largest open source projects (gnome, mozilla, kde) have usability teams. It mirrors real life. The idea that all commercial software is more "usable" than open source software is imho a stereotype that's only loosely grounded in reality.
ChileVerde: "It raises the question though, how will the need for usability specialists fit in the current model for developing OSS? AFAIK, most of the usability/interface work on the projects are handled by programmers, who doesn't necessarily have the background on this topic."
Havoc is a great example of a programmer who "gets" usability (though perhaps a bit over the top). I always think of usability when designing my interfaces. Programmer != GUI monster. Often though they're not experts, but that's why we have experts such as the guys from Sun working on GNOME. They already are fitting into the open source model.
There may be a connection. A closed project allows one person to impose their will religiously throughout an interface. Open source ultimately is about concessions and cooperation, which may negate this type of centrist control.
No, it's about cooperation. That doesn't necessarily involve concessions. An open source project is like any other project - the leaders can impose their will with an iron first, or they can be weak and agree with everything. This happens in the commercial world as well.
ACK!! says "The other side of the coin that these folks do not take into account is the fact that OSS application developers for all the desktop adoption talk are not coding for the masses. They might think they are but they are not."
Important insight here - the GNOME flamewars demonmstrate this very well. Some people felt GNOME2 was being taken away from them and retargeted at the corporate desktop user. It had a lot of "crack" features stripped out. It took balls to do this. The flamewars on the lists weren't pretty, and still the trolls keep trolling on forums like slashdot and FootNotes. This is a good example of a large open source project (that doesn't even have one leader) taking the initiative with usability. GNOME proves that a lot of the FUD in this thread is simply wrong: open source can be very usable, and it can be written for non-developers.
I have seen open source overcome every problem it has encountered so far, back when I was excited about this new new thing called Windows 95. I have seen it go through "toy OS", "can run web servers but will never get enterprise acceptance", "good at servers but will never get enough apps for the desktop", "too hard to install" and now "software isn't usable enough".
Every single one of those problems has been solved. This one is being solved too. Tomorrow I release autopackage 0.2 - it's CLI interface was designed with usability in mind. It uses colour to make the text easier for the eye to process, it uses simple, obvious command names (with aliases to facilitate guessing) and it comes with documentation. Open source is dead. Long live open source.
What an odd and disturbing trend. People publicly admitting that they are unable to perform tasks that tens of thousands of other people have performed with little or no trouble. [...] I used to get pissed off at people who would glibly and gleefully admit that "they did not understand math" or "computers confused them" as if math and computer skills were somehow optional in this world.
You're right. Math and computer skills are absolutely necessary for everyday life just like reading and writing, although perhaps not to the exact same degree. Similarly, and increasingly as time passes, they are essential skills to being an informed citizen (who votes with his or her rights) and consumer (who votes with his or her wallet). Anyone without a solid understanding of computers and digital information is set up to lose out big time.
Now I am going to have to make room in my big ass loser bag for people who are unable to install linux.
BZZT! Wrong. You need to make room in your big ass loser bag for yourself and anyone else who understands technology. When there is a widespread ignorance of and resistance to using Free software, everyone loses. The existance Palladium itself is not a threat to the survival of OSS and the freedom of information; however, the result of combining a cleverly devised public key crypography scheme, terrible legislation like the DMCA, and a bunch of ignorant, sheep-like users is that the universal perception of information is perverted into something false and harmful. You may see that, "If you can see it, you can copy it," is a basic principle of the physics of information, but with enough experience with commercial software and DRM "solutions", I can guarantee you the average consumer can be convinced otherwise.
There are two ways you can approach this problem:
1. People are too stupid and lazy to migrate en masse to free software. Since people won't switch, everyone's screwed.
2. Free software, on the whole, is not usable enough to tempt the average user or create large numbers of converts. Unless software gets easier to use in the near future, everyone's screwed.
If you go with #1, you give up all your power to correct our disasterous course towards unbeatable proprietary domination of the software market. You lose. Please step into the bag. If you go with #2, the opposite happens. You may not be able to change the way everyone thinks, but you sure can develop usable software. When you bitch and complain about how incredibly stupid people are, you pull yourself and everyone else away from a constructive solution to the very problem that irritates you. When you realize what you DO have the ability to accomplish, you are empowered.
Help make newbies comfortable. Help save your future.
is because they had control of the whole thing. Applications and operating systems both suffer from usability problems, but they are different - operating systems face even more problems.
One of the problem with an OSS operating system like Linux, is that all of the components come from different projects and different places. These different projects all have different goals, different levels of maturity, and different degrees of momentum and ability/inability to change.
Sure, there is some cooperation among groups, and the level of usability and integration does improve slowly, though often not until nudged along by a big player like Red Hat. For example, take fonts. To get a font to work in most versions of linux, the font has to be separately installed into all of the various components that may need the font, for example X and Ghostscript, and because of the lack of a consistent API, many apps, such as StarOffice, require yet their own installation of fonts. Efforts are finally being made to integrate this mess, but progress is slow and usually involves creating yet another piece of "glue" software to tie the pieces together instead of making the projects all change to use a common system.
In the end, with OSS, there is no authority that can say to all the components "get this shit integrated, and do it in a consistent way".
Now, before you flame me, yes, this has good aspects as well - there will be more innovation because more ways to do something will be tried, and one project doesn't necessarily have to be hampered by some bad decision made by another project. But it does unfortunately have the downside that usability and integration suffer.
Apple, on the other hand, would have been blithering idiots to allow three or four different parts of their OS to use some wildly different font system. If they did, they would have been laughed out of existance by the same people who praise this kind of behaviour in OSS projects.