A brief history of simplicity
by Jono Bacon
As time rumbled on, I gained an increasing interest in the KDE project and how it could make Linux an easier to use platform. Despite the many challenges that faced KDE, their approach seemed fairly consistent and eager to bring forth the same kind of features that make a front row appearance in the Windows world, but on a UNIX/Linux/BSD platform. Much effort was poured into the project, and I got increasingly involved with KDE myself.
Then came along GNOME, freedesktop.org, OpenOffice.org and a range of other projects and tools that pushed for an easier to use platform. Despite these efforts, fundamental problems such as clicking on a floppy disk icon and having it automatically mount seemed to pour salt into the wound. Unfortunately, towards the end of the nineties, the solution appeared to be to pass the buck and insist it was some other project's issue. Hey, you need this particular feature in KDE? That may well be XFree86's domain, or it may be a kernel issue, or you may just need to go away and code it yourself using some freaky bongo programming chops.
As time continued to roll on, and as my experience with Open Source and Linux turned from a hobby to a career, I was introduced to the Debian project. Although more complex to administer, Debian walked me towards the promised land of figuring out dependencies, and no longer suffering some of the dependency nightmares that plagued my humble little system back then with Mandrake. This was an interesting choice. Do I sacrifice the desktop ease of use of Mandrake (no major problem as I was running CVS KDE code anyway) for a more complex system with increasingly easy package management. I did, and I never went back. From then onwards, if it weren't packaged for Debian (albeit me nosing around with CVS code), it simply didn't sit on a Bacon system.
Bring forth Ubuntu
Spin forth to last year, where I am now working as a professional Open Source evangelist at OpenAdvantage and writing for a number of Linux press magazines and sites. Within my role as a journalist and consultant, I had dabbled, reviewed, evaluated and tested hundreds of different distributions and tools, but none of them had that special something that Debian gave me.
As this happy Debian user, I read with great interest about an underground distribution called Ubuntu. With funding from supremo millionaire and first African in space, Mark Shuttleworth, it sounded like just another Linux distribution that would tail behind Red Hat, SuSE, Mandrake and Debian. Via a series of exchanged emails, it was possible to track down where the action was going on, who was involved and when it would be launched. There were a series of beta copies of their distribution and alas, my inquisitive side got the better of me and I installed it on a Powerbook; itself, not a simple system get Linux onto. It worked. There was no fuss, there were no problems. As I used the system, GNOME (which I had switched to some time back, see this weblog entry for the meat about why) seemed to integrate seamlessly with everything before me. Everything looked alike, my devices were detected, and things simply felt, simple.
For me, Ubuntu is a nigh on perfect distribution. The reason for this is that is focuses clearly on simplicity. With an impressive coalition of developers on Shuttleworth's payroll, Ubuntu has managed to be successful in getting the balance between a comfortable set of defaults, and the ability to remove all of the nonsense that clog up many competing distributions. Why do I need three CD players? Why do I need three web browsers? Why do I need six text editors? Ubuntu gives you one (or occasionally two) application(s) that are picked as the best tools for the job. The effort in the project has been pooled into providing a simple, effective and tight distribution that performs well and works a treat at detecting your hardware.
Even Shuttleworth himself is clear that Ubuntu needs to follow a direction with strong technical achievements. As part of the LUGRadio team, I interviewed Mark for an up and coming show released tomorrow (Mon 17th Jan 2005), and he seems different to most people in his position. He speaks the words of someone who really understands Open Source, and someone who really understands the responsibilities of a distribution. With someone who understands Open Source at a technical and managerial level, as well as a team of highly reputable hackers on board, Ubuntu is something to get excited about.
Simplicity does not mean ignorance
What is interesting about this evolution of Linux, is that the mindset of the community has the ability to shift substantially. In my experience, it seems that there are two sectors in which rabid zealotry and traditionalism have the chance of digging their feet in; IT and Music. In the IT world, it is not unusual to meet people who are still using software from 10 years ago that they point blank refuse to move away from, even though there is a better solution available. Aside from sticking to the tools, the same problem can be said for the mindset. If someone has the view that 'high level languages are bad, you should code everything in assembly', it is likely that this view will stick, even though it can involve a longer process and involve more work. This purist attitude can be quite an issue, particularly in an environment where you need to work as part of a team.
In the Linux world, the community has had the ability to take traditionalist beliefs and augment them with new thinking. Although there are many in the Linux community who will follow tradition, there is also a substantial amount of new blood that will push for modernisation and change. This produces a wave effect that gives the community the opportunity to aspire to new thinking and make attempts to push the software forward while still showing respect for tradition. This is the reason why a Linux distribution can have a cutting edge desktop and still ship vi. This is a great symbiosis of the two mindsets.
With Open Source, we have seen the opportunity to challenge established market driven approaches. In the closed source, commercial world, the approach seems to be to lay on more and more icing that will give users an urge to upgrade. Although this makes sense in one way (more buttons give you the impression you get more features for your money), this approach also erodes the simplicity that forms the foundation for many of these systems. If you look at a number of commercial tools, many of them swing around the idea of giving you certain complex functionality, but easier and more conveniently. This certainly applies to Microsoft Windows, Apple Mac OS X, the iPod, Visual Basic, Delphi and more. I suppose the analogy is that although you could go and buy all the separate bits to build a car, it is far more convenient if you purchase a pre-built car for the convenience.
With Open Source, there is the ability to strike a balance between convenience, simplicty and features. The tough part is in getting the balance and not alienating users. And of course, all of this must exist within an open community in which you want to avoid a clique of developers who claim they know best and close their ears to suggestions and improvements. I am not saying there is a magic potion involved in Open Source that can make these challenges easier or non-exisitant, but within a community there is the opportunity to develop a range of solutions and pick the best path forward based on technical capability and usability.
Where life is going to get interesting is what happens next. With Ubuntu, the distribution seems great, and this is largely because they have shipped a first version (called Warty) that works a treat, but to be fair, Warty was simply a modified fork of Debian Unstable, and the additional functionality that was rolled in was not that drastic from an architectural perspective. As Canonical move away from Debian Unstable more and more with each new six monthly release, maintaining the level of stability, feature capability and satisfaction is going to be a real challenge. Also, Ubuntu is a new distribution with a fresh and new outlook on creating a Linux distribution. It has not yet become riddled with political issues, and although I don't believe this will be a problem in the future, there is always the risk that political fall-outs can occur in a project such as this. This could be a particular challenge with payroll and contributor volunteers. It will be interesting to observe how the project continues to mature. There are a number of people, myself included, that truly hope Ubuntu achieves every opportunity it promises.
I think the biggest challenge we face is in how we take the huge amount of Open Source work being created and make it work together in a simple and effective manner. Seven years ago, creating a simple, uncluttered user interface was easier because there were fewer features, programs and developers. With a huge community of developers, and a massive amount of applications being created, the emphasis has to be placed on choosing 'best of breed' tools that do the job well. I see no reason why a distribution should span over seven or more CD's; too much choice can relegate a computer to a confusing quagmire of complexity. Sure, provide all the software, but provide sensible defaults with the best of breed tools such as GNOME, Firefox, Thunderbird, GIMP, Scribus, OpenOffice.org etc.
We are facing interesting times, and Open Source continues to rattle on and on like a steam train. With the ability to step back and look at our community objectively, we always have the opportunity to determining if we are moving forward in the best direction.
Did you have a similar or different experience? Is simplicity this important? Share your thoughts here...