Case Study: Open source letter to the open source community - a reply
Developer responds to Techworld's request for more enterprise-level features
By Adrian von Bidder | Techworld | Published: 01:00, 22 July 2005
Adrian von Bidder responds to the open letter to the open source community that we published earlier this week. He describes himself as "a software engineer at a small company, where we benefit greatly from open source software, and a Debian GNU/Linux package maintainer in my spare time. I also founded and run the pool.ntp.org project -- while it is not strictly speaking an open software project, it uses exactly the same loose community structure which is so typical for open source projects."
First, who is this community? If you mean 'the people who wrote all this software', you must be aware that this is an extremely heterogeneous group of people. You find the clichéd open source hacker, working the nights on cool projects for fun while flipping burgers (or rather, backup tapes) during the day, of course. But you also find students, PhDs, professors and, more and more, people who just do the job they're paid to do.
Why do I say this here? Because I feel your letter only addresses the first kind of people. I'll go through your remarks section by section, but first the summary: you get what you pay for. If you see open source software as a way to seriously cut your IT budget (after all, there's no licence fees), then don't complain. But if you invest the kind of money that you would have spent on licence fees were you using classical software products in employing qualified IT staff and/or excellent external support, then many of the issues you highlight are countered quite effectively.
The first section about enterprise-class support is, frankly speaking, a complete mystery to me. When I hear enterprise class support, I interpret this as a support line where you can directly talk to somebody who actually knows your problem, ideally somebody who already knows you (or at least has access to a well-kept CRM so that he can read up on the essential facts about you within a short time).
Enterprise class support of this kind costs big bucks -- and if you're ready to spend this kind of money on support, you can easily get it. You mention Red Hat and JBoss, let's add IBM, Novell, dbExperts, Best Practical Solutions LLC, SourceLabs, Progeny, Wyona and Digium, just to name a few. Almost every product that you'd seriously consider using in an enterprise has at least one company offering support.
So if you properly evaluate what products you use for your enterprise, you get your enterprise class support. So, no difference here between proprietary software and open source/free software here -- you wouldn't run your company's finance on some $15 shareware packages that you found on a stand at your bookseller, either.
Your call for better documentation is duly noted and is indeed a problem with many open source projects. My rule of thumb has so far been that a project without good documentation can be safely ignored for serious use, because there is typically no large user base. Again, I make the comparison to the proprietary world, where a few large, widely used and usually well-documented software products exist (or at least, where the documentation is hundreds of pages thick,) and a huge number of packages from mostly unknown companies where the documentation is usually no more than what you'd find in a sales brochure.
Stability of Open Source projects has, for me, never been an issue so far. At the risk of repeating myself: do proper evaluation before you use a software package. If your software package is widely used, you'll find people willing to support and develop it -- if your package is not widely used, you'll run into problems later.
And here comes the one big advantage of open source software: if the software vendor of your closed-source program goes out of business, you'll be essentially lost in most cases. If the original developers of a free software project run away to enjoy the sun on the Bahamas, you can take over yourself -- and, with any luck, you'll not be the only one left hanging, so you will have others in the same situation (you remember me saying at the beginning that although open source software knows no licence fees per se, you still should expect to pay for it.) Some might even accept proper maintainer-ship of the project themselves. No, this is not just propaganda: look into the history of the widespread Usenet news server package INN to see how exactly this happened.
Yet another point where your article surprises me is your wish for better multi-platform support. Generally speaking, all big open source programs run on a huge array of operating systems, including, in most cases, Microsoft's Windows products. To name just a few: the Apache Web server, PHP, PostgreSQL, Request Tracker and Eclipse, all of which run under MS Windows, too. I haven't verified, but I'd be prepared to bet that most of these programs can be run on more than ten different operating systems (not counting versions.) Try and find a closed-source software package with this track-record.
A commitment to stay open, or, to use the preferred term, free in the sense of freedom, has been the primary goal when the GNU Public License (GPL) was created - and there are hints (such as the X Window Management System, Perl, the Apache Project's software, or the free BSD operating systems) that this legal restriction isn't even necessary: nobody to my knowledge has ever created a successful closed-source derivative of a big, open source project and driven the open source variant out of the market.
Software tools can be divided in two groups: software for the end-user and software that software programmers use themselves. While these groups overlap quite a bit, there is indeed software that programmers don't use a lot: typical office and enterprise software belongs in this category. And indeed it is in this area that free software has its biggest deficits. Few programmers write this kind of software just because it's fun.
So to reply to your statement that 'the community' should be more user-focused: here you really just get what you are prepared to pay - or, perhaps: here is one of the areas where proprietary vendors will always survive. After all, the closed source vs. open source issue is not a war where one side tries to kill the other side -- even if some exponents of either side would like to make it so -- but is just an issue of making our computers into the effective and efficient tools that they're supposed to be.