Open source cut its teeth on operating systems, earned its street cred on Linux and Apache, and never looked back, continuing ever since to extend the kingdom to databases, middleware, and newfangled platforms such as hypervisors for server virtualization. Our Bossies in platforms and middleware recognize a few old faces, and some fairly new ones.
CentOS is RHEL (Red Hat Enterprise Linux), after all, just packaged under a different name, and without any references to Red Hat. That means you can install applications for RHEL on a CentOS server without any incompatibilities, and all RHEL updates are applicable to CentOS as well. Obviously, no support contracts are available for CentOS, but that’s the draw for many Linux veterans – the familiar Red Hat distribution, including updates, without the onus of having to purchase a support contract that is never used.
For open source client OS, we like Ubuntu Desktop Edition, although we almost hate to say it. Sometimes it seems that Ubuntu is the iPod of Linux distributions. It’s flashy, simple, and easy to work with. It also has legions of fanatical supporters, along with many detractors. It’s unquestionably a great distribution for those just getting into Linux and those who like the eye candy. For others, it’s too simple and too much like a Microsoft OS – but then those are generally the people that run Gentoo and are proud of it. The sheer amount of effort that’s been put into bringing Ubuntu into the mainstream is impressive, and it gets better with every release… now if we can only get the fanboys to tone it down a little.
Between Ubuntu and CentOS, you have the best of both Linux worlds – a strong desktop with plenty of pizzazz and community support, and a strong, entirely free server OS based completely on the most prevalent commercial Linux distribution available. The “Why Linux?” question has been answered, and it just might prove to be tougher to answer the “Which Linux?” question. Either of these distros will fit the bill.
In Java application servers, the Bossie was hotly contested. This year has seen important updates to Apache Geronimo, Apache Tomcat, JBoss Seam, and GlassFish. Although all of these releases provided significant new value, none came close to delivering the amount of new functionality in JBoss Seam. Seam is a Java EE-based framework that reduces the chore of enterprise programming by combining EJB (Enterprise Java Beans) 3.0 and JSF (Java Server Faces), giving developers resources they would otherwise have to code for themselves. These new benefits include handling the thorny problem of stateful page flows, simple construction of CRUD applications, AJAX and Web 2.0 interfaces on server-based applications, reporting enhancements, and an extensive business-rules capability.
Although many pundits believe that simplification of enterprise Java via the heralded release of EJB 3.0 might lead the way to greater adoption, we think that lightweight, high-functionality frameworks such as JBoss Seam are an even more compelling driver. For this combination of functionality and elegant design, Seam gets our nod for the Bossie.
In the open source Web server space, one project reigns supreme: There’s Apache, and everyone else. Apache is the golden child of open source, besting every open source and commercial Web server available in deployments, security, and speed. And just imagine what the Internet might be like if everyone had to pay for Web server software. Apache has been the catalyst for true information freedom, which is a terribly good thing, even if that information includes enormous volumes of painful dreck like your bus driver’s blog.
The Bossie for databases was a tough call, but MySQL won the popular vote. A number of us swear by PostgreSQL, especially for serious database work that requires clustering, high performance, and some features you would otherwise need a commercial database to get. But MySQL takes our prize. It has panache, compatibility, speed, the features most of us need for most duties, and gosh darn it, people just like it. MySQL is almost the Apache of databases. There are many cases in which ubiquity isn't a sign of quality, but that’s not the case with MySQL. It’s everywhere for a reason.
Rising up against the dark commercial overlords of SOA, a number of open source vendors are reducing data services and event-driven messaging to a standards-based common denominator. MuleSource leads this pack in overall features, administration, and manageability, taking our Bossie for enterprise service bus.
Easy to install and deploy, the Mule ESB provides a broad range of connectivity options (JMS, MQ/AQ, JBI, SOAP, REST, AS400 Data Queues, and more), and it's strong on data transformation, routing, authentication, and authorization. The monitoring and management components (via the MuleHQ module) are also pretty good. Mule supports BPEL, .NET services, and the J2EE Spring framework. The company offers 24x7 support services and boasts a good portfolio of corporate and government users, which could help ensure MuleSource's long-term success.
A close runner up in the service bus category is FUSE ESB, offered by Iona (makers of Artix ESB) after its acquisition of LogicBlaze. FUSE ESB is still being merged with Celtix, a previous open source ESB endeavor that Iona undertook with ObjectWeb. When all is said and done, FUSE ESB will include Apache-based foundations for message brokering, service bus, SOA framework, and routing.
The Sun Open ESB 2 – still in beta – is also promising, thanks to enhancements in development and administration tools for its Java Business Integration (JBI) runtime and GlassFish app server. And don't count out JBoss ESB, WSO2 ESB, or OpenAdaptor. This is one field that will only become more fertile with time.
We end with our pick of the Bossie for server virtualization. Several open source products split the votes here, but Xen won out over the competition. After all, it’s the virtualization project that sparked several commercial ventures aimed at unseating virtualization king VMware, and it's part of several mainstream Linux distributions. Xen is a solid baseline hypervisor for Linux, and it adds features seemingly every day. OpenVZ, a stellar example of OS-level virtualization, was the close runner-up. Like Xen, it supports only Linux guests; the difference is that OpenVZ requires all guests, or "virtual private servers," to share the same OS kernel.