Linux is one of the operating systems I run in my basement in what my wife likes to call the computer lab from hell. That may be because the heat from all the obsolete equipment I collect is reducing my fuel bill and keeping the place toasty and warm. Linux is one of three UNIX variant operating systems I run down there (four if you count Solaris for Intel as a separate beast), and it's probably the one I tinker with the most. Every time I upgrade a machine at home I can't resist the temptation to throw Linux on it to see if it will run a little better, a little faster. I've tried a number of different commercial distributions and I like aspects of each. I like the Enlightenment manager - it's got pizzazz. But it's more than just that.
When I was studying computer science in college I had the opportunity to tinker a little with operating systems. It's one of the most intriguing aspects of computer science - providing a platform where other code can run. In some small way, when people do architectural designs that allow for reuse, they're providing the same kind of functionality. Nothing compares to programming the bare metal.
Still, the joy of programming doesn't really matter when it comes to the business world. Business is about products, solutions, and services. It's about adding value. That's one reason Linux is important - it adds value.
One of the challenges of the industry is getting the most performance and value out of hardware investments. Server-class hardware is expensive. Add to that the licensing costs for some of the most popular operating systems and you have a hefty budget. Throw in the additional costs of running an environment that may have multiple disparate operating systems and you have a real headache on your hands.
Linux can help. As an operating system it runs well on a wide variety of hardware. In my basement lab I've run it on 486s and old Pentiums with good results. Unlike Windows, Linux seems more bound by memory than by processor power. It also runs well on most hardware platforms that run UNIX, such as DEC Alphas or SunSparc machines. So it's possible to run one operating system in an environment that features a mix of hardware. That alone is an accomplishment.
That it's free and open source makes it even more appealing. The free part is easy to understand. It's the open source part that really drives the popularity and adoption. There's a large community of people developing for Linux, both the internals of the operating system and the software. The platform is being held hostage by a particular vendor who's also forcing hardware vendors to install it as the sole operating system. It's free, and you can change what you don't like in the system, assuming you're good at OS internals.
Linux has also evolved to the point where a large number of industry heavyweights have decided to embrace it. Oracle runs on it and is focusing on it as a key platform for their database. Last time I looked Sybase was providing Adaptive Server for the platform at no cost. IBM has ported it to a number of its hardware platforms and is one of a growing number of companies providing 24/7 support for the product. Inprise JBuilder runs on it. The list keeps growing.
Probably the most interesting aspect from our standpoint is that it makes a good development environment for Java. It runs well on most hardware, there's plenty of support for it, and it doesn't cost anything (in software terms) to get all the tools you need for development. In this issue of JDJ we've highlighted a number of topics around Linux to try to give you a glimpse of what life is like as an open source developer. Instead of "Why Linux?" it's time to ask "Why not?"
Sean Rhody is editor-in-chief of Java Developer's Journal.
He is also a respected industry expert and a consultant with a leading Internet service company.
He can be reached at: