I’m a happy BeOS refugee this morning after having just tried Simply GNUstep. Simply GNUstep is a new Operating System that runs on the latest Linux kernel compiled with the latest GNU compiler. This new OS is way more (perhaps by being less) than just-another-Linux-distribution. It aims to be similar, extremely similar, to Apple’s OS X. However, Simply GNUstep, unlike OS X, will run on your PC. In fact, you can be running it in under 15 minutes from this very moment.
After a quick visit to http://simplygnustep.sf.net you are met with refreshingly little information for a Linux site. That is because this isn’t about Linux. Simply GNUstep isn’t your average bloated Linux distribution. It doesn’t include GNOME or KDE and doesn’t discuss any other software besides GNUstep. Linux is used only to enable your hardware and launch GNUstep (although your favorite Linux applications will most likely run just fine).
By this time you may be wondering, “what is GNUstep?” GNUstep is a platform that matches the Objective-C Object Oriented desktop that Steve Jobs created with NeXT and OpenStep. To my knowledge, GNUstep was started before NeXT returned to Apple, just as the NeXT platform was fading. GNUstep developers wanted a free software version of the OpenStep platform. Fearing that NeXT would fade into oblivion, they wanted to ensure that their favorite desktop would not.
Visit http://www.gnustep.org and http://www.gnustep.net to learn more about the history of GNUstep. To sum up the experience, GNUstep found themselves in great fortune when NeXT was chosen by Apple as the foundation for Mac OS X. Steve Jobs took the great work started with the OpenStep API and called it Cocoa. The result? GNUstep brings Cocoa to Linux and you x86 PC. Well, almost.
Apple has been busy improving the OpenStep API, turning it into Cocoa. The display technology for Mac OS X, called Quartz, uses vector based PDF language to render your view of the desktop. NeXT used Display PostScript but Apple dropped it to improve performance and avoid licensing fees to Adobe. GNUstep uses the original NeXT style PostScript method avoiding licensing issues with the free software GhostScript. The desired result is the same but expect the GNUstep display method to run a bit slower today.
The next difference between GNUstep and Cocoa is that GNUstep has the goal and therefore the burden of matching 100% of the original OpenStep API. Apple started with 100% of the API years ago and has been free to expand it. GNUstep is catching up very quickly for a project that, before today, you may not have known exists. Progress meters on the main GNUstep site indicate that the libraries responsible for the user experience are roughly 80% complete. Developer tools match OpenStep at about 40% completion. As we will soon find out, these percentages, for the OpenStep API give a tremendous amount of functionality.
As a BeOS refugee looking for the next-great-desktop I was overjoyed by the invitation to download Simply GNUstep as an CD-ROM ISO image at about 110 MB in size. Users of BeOS know how simple it was to download FreeBe at approximately 50 MB and boot into BeOS about 3 minutes thereafter. Considering GNUstep includes developer tools (a separate download for FreeBe) it is very comparable to BeOS in size. FreeBe used a BFS image inside a large 500 MB file that lived inside your Windows partition. GNUstep must be burned to a CD-R before you can boot it. I would imagine, however, if there was a demand (which I doubt there is) the FreeBe method could be applied here as well.
After downloading, extracting and burning Simply GNUstep in about 14 minutes with broadband Internet and a 12x speed CD burner you are booting straight to the GNUstep desktop. During the Linux boot procedure you do see the common kernel messages as it loads this driver and that daemon. The creator of Simply GNUstep, Chad Hardin, could have disabled these messages like the popular Mandrake Linux. They serve a purpose, however, and for a 0.0001 release, expect some rough edges. As your graphics adapter is initialized the Linux experience fades into the background.
For a second or two you are met with the all too familiar hounds-tooth wallpaper of X Windows. Don’t panic as the GNUstep desktop is served up nicely by the excellent WindowMaker. WindowMaker is a popular X Windows manager which, unbeknownst to many, is a full OpenStep style application. The fact that many Linux users choose WindowMaker without knowing or caring about GNUstep serves as a testament to its features and style. You are greeted by a clear desktop, a virtual workspace switcher and an application dock. Finding your way around is easy. Just remember to try double clicking and single clicking with the mouse button. Also, explore with your right mouse button.
Without having to install the OS you can try out applications right off the CD-ROM. Application launching feels a little slow, but that is sure to improve after installing to a hard drive. One thing you may notice is that all your GNUstep applications have a consistent look and feel. In my opinion, I think they look consistently like junk, but I will explain why this doesn’t bother me.
Creating GUI applications on Mac OS X, and before that NeXT, is said, by almost everyone, to be a complete joy. When developers create applications in GNUstep they have access to high quality APIs and standard dialogs. GUI is a dream and event handlers are the best of any platform. GNUstep has all these benefits and widget classes are used with functionality, not appearance in mind. As you use the applications on Simply GNUstep imagine those sharp grey widgets softened to smooth, semi-translucent Aqua style effects. When something like this is added to GNUstep these application will look beautiful. I would imagine this would happen without a recompile. Develop for GNUstep today, look beautiful tomorrow. Just update the base libraries and voila!
The application set on Simply GNUstep is not too great. There is a email application but no web browser and only a Rich Text editor. Take a look at the IDE, however, and you can see that these developers have their priorities straight. They are focused on building an excellent IDE with a drag-and-drop GUI builder. These applications will provide the same tools that Cocoa developers enjoy on Mac OS X. It is a case of “if you build it, they will come” and I applaud GNUstep for it. Expect to see cross platform development between Mac OS X and GNUstep, in both directions!
Simply GNUstep will add an installation system and a GUI install tool to the next versions of the product. If the present experience is any indication, the installation will be as simple as on BeOS. Hardware support will be a little tricky. Linux does a great job with the latest kernels, but some configuration is required for some drivers. Simply GNUstep will have to provide those configurations to be truly simple. At least they can use any free software projects that are already available. Mandrake Linux has some form of hardware detection and configuration although I can’t speak for the quality or licensing of it.
The GNUstep desktop is very complete. Workspace switching under WindowMaker is snappy and full of features. Great thought went into UI design in GNUstep wether I like the look or not. Applications do not have individual menus, like Windows. GNUstep seems to have some kind of common menu, but the metaphor is a little confusing. I would suggest GNUstep cut to the chase and work with WindowMaker to develop a Mac OS style common menu, docked at the top of the screen.
A great deal of fonts are installed on the system, but they don’t look their best. Font smoothing is something that could be improved on GNUstep in general. Also, it is not clear to me if the fonts are True Type or PostScript. Obviously, True Type would be important to support.
GNUstep has the benefit of being able to replacing the underlying display technology at anytime. Perhaps GNUstep could leapfrog Mac OS X by replacing Display GhostScript with Mesa’s OpenGL and DRI. Hardware acceleration would just happen on supported video adapters. I leave that to the experts.
The widgets are all consistent and the applications function great. That drab skin, however, feels too dull and boxy. You can apply colorful themes and wallpaper to your desktop, but the widgets keep their boxy nature. Catching the vision of GNUstep would be much easier if it looked more like Mac OS X. Skinning should be added to GNUstep as soon as possible. The similarities between the two systems are far more than skin deep. In fact, the skin is what’s missing!
All in all, I give Simply GNUstep (version none) a 10 out of 10 for an OS alpha test. It is a perfect example of what most OS developers should be doing: Take what works from free software and make it better. Why worry about the kernel when Linux is here today and works? After your OS is something special and you have a system in place, go back to the kernel and replace it or make it better. If Apple ever licenses Darwin as free software, Simply GNUstep could switch. Also, do we need KDE and GTK+ when OpenStep rocks and is GPL under GNUstep? I admire GNUstep for recycling an excellent API rather than reinventing the wheel.
Looking to the future, Simply GNUstep will be the Mac OS and Cocoa of x86. Waiting for Apple to release Mac OS X for your Windows PC is just silly. If you want something that OS X has, but you can’t get behind Apple for whatever reason, try Simply GNUstep today.
About the Author:
Richard R. McKinley (therandthem) is a Java programmer and computer science student. A BeOS user since Preview Release 2 he has been searching for a new desktop OS that won’t leave a bad aftertaste. Richard can be reached at therandthem-at-hotmail-dot-com.