Batmobile ResponseScot Hacker, May 27, 1999
Thanks for your notes on my recent BeView column at Byte.com, "Of Tanks and Batmobiles" ( http://www.byte.com/columns/Be_view/1999/06/0607Be_view.html ). I think that anyone who takes the time to respond to a public opinion piece deserves a response back from the author, so that's what I'm doing here. However, being Slashdotted means there's been too much mail for me to respond to everyone individually, so I hope you'll forgive this bulk response.
Your letters ranged in tone from "Right on, I agree with you 100%, it's about time BeOS gets the credit it deserves," all the way to "You're full of $%#$%! Open source or die!" and everything in between. To those of you who wrote polite, well-considered notes, thank you. To those of you who reacted with knee-jerk, us-or-them diatribes, I'd like to remind you that you'll catch more flies with honey. On to the issues.
1) I'm missing the whole point of open source.
Many of you made the point that for me to say that 99% of users don't care whether source is included in the OS or not is missing the whole point. Many of you brought up examples of how you had created custom solutions via source access. But more to the point, I think, is that all users benefit from the open source model, whether they use it themselves or not. This is a very good point, and you're right -- I should have been more clear about that. However, my main point in this section of the article was that the open source movement is chaotic by definition, and this is a double-bladed sword. The same chaos that produces diversity (with all the usual analogies to the biosphere and evolution, etc.) also results in a system without clear-cut foundations, APIs, UI conventions, installation methods, etc. etc.
I am speaking from experience here, not as a programmer but as a user of both BeOS and Linux. I've had various Linux distributions running on my system for four years now. In the past 18 months, Linux distros have gotten to the point where I can install it on any machine easily and have everything up and running. Installation isn't the issue. The problems arise whenever I've tried to start tweaking or customizing the system, or installing new software. Most recently, I downloaded software that required the latest GTK and glib. I won't get into the whole story, but between various versions of RPM and source packages, and me trying to get all my libraries to cooperate without knowing enough to not be dangerous, I ended up screwing my system pretty royally. After a full day of cursing, experimenting, tweaking and compiling, I finally got that app to run, but now I can't launch the system control panel, and I'm afraid to dig back in for fear of making matters worse. Now there are other apps out there I'd like to test, but they require completely different desktop environments. Trying to get those up and running has been similarly frustrating. I'm not a programmer, but neither am I an idiot user. I enjoy using the command line, and I even enjoy compiling software. But I've got a long way to go before I'm confident enough to just download any Linux software and get up and running with it in seconds, as I can with BeOS.
Point being that all of this Linux development is happening in different quarters, with different approaches, different installation methods, etc. RPM is great, but it's got plenty of problems, and is far from user friendly. It's a double-bladed sword, and this is what I was getting at. BeOS has none of these issues. There's plenty of open source application development happening on BeOS, but by keeping the OS itself in the hands of a central authority, BeOS software just works, open source or not.
Speaking of that, many of you seem to think that Be is somehow against open source software. Very untrue. Be includes the gcc compiler, the full egcs tool chain, a source debugger, and a full IDE with every copy of BeOS. Source to the 250+ GNU command-line tools included in /bin is distributed with every copy of BeOS. Users can find source to hundreds more GNU tools that compile and run perfectly on BeOS at GeekGadgets (www.ninemoons.com/GG/). Be also includes the source to dozens of GUI applications included with the system, and actively encourages users to hack on them, improve them, redistribute them, and profit from them if they like. There are also many independent open source projects going on in the BeOS software world. In fact, I run a 24x7 web server on this very machine, using a BeOS-only open source web server called Robin Hood.
The open source philosophy is alive and well in the BeOS world. The only difference is that Be does not offer access to the OS code itself, though they do document the API very clearly and actively work with developers. In a sense, BeOS straddles the worlds between the cathedral and the bazaar, retaining enough control to keep everything focused and tight, while promoting the many advantages of the open source model.
2) Look how much more quickly Linux is progressing than BeOS, thanks to open source.
Linux is progressing very quickly, in many directions simultaneously. But I'm not convinced that it's actually progressing faster. BeOS has only been on the x86 platform for 18 months. In that time, their ~100 engineers have been able to boot the system on the vast majority of modern hardware (that's not to imply full support, just that it can at least be booted on most modern hardware). New versions of the system are released every 6-8 months, and so far, each version has had a lower memory and resource footprint, and has been *faster* than the previous version. Certainly there are more drivers available for Linux than for BeOS, but this has to do more with the limited time frame in which Be has been working on x86. According to developers I've corresponded with, it's *far* easier to write BeOS drivers than Linux drivers. Developers of both drivers and applications describe programming for BeOS as "a joy" in comparison to all other platforms they've worked with. That counts for something. In addition, there are some hardware vendors out there who are more willing to work with a central point of contact than they are to work with the open source community. For example, I'm listening to MP3s in BeOS right now through my SoundBlaster Live! card. I believe Linux users will have to wait a while for that support (I may be mistaken here; sorry if I am).
3) I warn against the dangers of typecasting operating systems, but then turn around and do the same thing myself.
You've got a good point, and I should have been more careful with my phraseology there. That article was triggered by having read a long, glowing piece on Linux at PC Computing, that then turned around and pigeon-holed BeOS as an also-ran, media-specialized system. I have read so many articles in the past six months by journalists who have clearly never used either system, and are writing in copycat style about the open source meme. It is *very* clear to anyone who actually sat down and used both BeOS and Linux that this press coverage would come out very differently, with Linux getting high marks as a server OS and BeOS high marks as a desktop/workstation OS. All these organizations need to do is sit a normal MacOS or Windows user down at a machine, give them as much documentation as possible, and have them install and use both Linux (any distro) and BeOS for one or two days each. Have them do all the tasks they take for granted: Find and use a simple text editor, double-click an icon and have a document launched in the right application, locate a document somewhere on their system, get online, etc. etc. Then have them do something a little fancier, like swapping out a video card. Recently I pulled out my old Matrox Millenium and replaced it with a Real3D Starfighter AGP. BeOS booted up in full 1024x768, 32bpp without blinking. Didn't ask for drivers or anything. No delays, no hassles. It just worked. I spent the better part of the day finding, installing, and configuring my Linux partition to be happy with the new card. Is Linux catching up quickly on the ease of use front? Yes. Will it ever be as easy to use or as cleanly put together as BeOS? Perhaps, but I remain skeptical. Linux was not designed from the ground up with the plain old normal end user in mind.
In any case, my apologies if I typecast Linux in that same article; that wasn't my intention.
4) Isn't Be, Inc. itself responsible for typecasting BeOS as a media operating system?
Be has put every drop of their energy into optimizing BeOS for media functionality, and they brag openly about the amazing results of all this work. Yes, Be has painted this picture themselves. But I have sat in the office of Be CEO Jean-Louis Gassee and discussed the matter with him at length. His take is that the public needs a peg on which to hang their hats. They need convenient, descriptive labels. MacOS is the DTP and graphics OS. Windows is the office OS. Linux is the server OS. What's BeOS then? Well, since we put so much energy into media, we'll call it the media OS. But we all know that all of these operating systems can do much more than what their labels say. They're just labels, with all the limitations of perception those entail. My point in the article was that BeOS may never be given a chance to spread its wings if the media typecasts BeOS too strongly, too early. Those of us who use BeOS for all computing tasks know that there are *many* things you can do on BeOS that you can't do on other operating systems. And of course, the reverse is also true. Use the right tool for the job, right? The point is, I think it's fair to ask journalists who intend to cover a product to actually try that product. And anyone who tries BeOS will quickly realize that it's amazing at a whole lot more than media. The same goes for Linux -- it's amazing for a whole lot more than serving.
I'm going to stop here, even though there are many more good points you raised in your responses. Sorry I don't have the bandwidth to continue an ongoing dialog -- I just wanted to illuminate some of these points more clearly.
Thanks for reading,
The BeOS Tip Server: http://www.betips.net/
The BeOS Bible: http://www.birdhouse.org/beos/bible/