A nifty site called Microdoc News picked up my piece about file recovery using the Google cache today, as part of a short piece about the cache’s pros and cons. Microdoc News is spearheaded by a guy named Elwyn Jenkins, and focuses on the uses of “microcontent” — weblogs, webzines, email newsletters, and the like.
My article on open-source development tools has just been published by CIO Magazine. For enterprise IT managers, the open source revolution until now has meant pretty much two things: Linux and Apache. This article looks at the next phase — not just these open source platforms, but open source development tools — the widgets, programming environments, and application servers used by programmers to create software. Developers are enthusiastic, but most CIOs are skeptical, despite the promise of lower costs.
I’m little chagrined to admit this, but I discovered a new use for Google: Web page recovery service for hapless webmasters. I’d been cleaning up some obsolete files on tweney.com earlier this week (a bunch of stuff left in the old www.tweney.com area, which I’ve long since moved under dylan.tweney.com). When I went to make sure the site was still working, I noticed — oops — that instead of a home page I got a bare list of files. WhooOOOPS! I had deleted index.html by mistake.
Not to worry, I thought — I’ll just re-upload the old index.html. Not so fast — for some reason, I didn’t have a local copy either. I could have dug through old backups of my home system, but that would have taken ages. Instead, I Googled “tweney.com” and sure enough, the old home page was cached right there. I brought up the cached version, viewed source, and found the original code (from the opening HTML tag to the closing HTML tag) was all there, intact. Paste into a new document, upload, and voila — restore from Google.
I don’t recommend this use of Google, since you have no control over when Google indexes and caches your site. It doesn’t capture any of the logic you might have behind your pages, either, so it only works for static HTML pages. And it’s probably not a great solution for restoring a whole site. But for piecemeal, last-minute, desperate resurrections of deleted files — well, why not?
File this one under “unintended uses for powerful technology.” I’m looking for a good analogy — it’s sort of like using a rifle to open a can of soup, or cooking a chicken on the engine block of your Chevy Nova. It ain’t pretty, and it ain’t right, but it works.
ANDRIG MILLER first got excited about Java’s possibilities in March 1998, when Sun Microsystems released the initial version of the Enterprise JavaBeans (EJB) specification. But it was more than four years before Miller, vice president of technical architecture for office product supplier Corporate Express, was ready to put an EJB application into production. When the company finally deployed its first EJB application, in December 2002, it was running on JBoss, an open-source application server that competes with platforms such as BEA Systems’ WebLogic and IBM’s WebSphere.
That first application tracks order status in a variety of legacy systems, handling as many as 75,000 transactions per hour, says Miller. Reliability and speed were essential considerations. “We got a lot of benefits from taking our timefor instance, the EJB 2.0 spec matured a lot,” he says. JBoss improved too and added such enterprise-friendly features as support for clustered servers. Corporate Express, a $5 billion company, now has six EJB applications in production, all running on JBoss.
JBoss is just one of a wide array of open-source development tools that are slowly gaining acceptance among enterprise developers. Cost is often a primary driver. Miller estimates that his company has saved $6 million in the past three years by using JBoss and other open-source tools. As Marc Fleury, president and founder of the JBoss Group, puts it, “Most people understand free.” (Even BEA understands: The company recently announced no-cost one-year developer licenses for WebLogic.)
Cost isn’t the only factor, however. Developers are attracted to open-source tools by their flexibility, the capability to customize the underlying code, their high quality, and the willingness of the open-source community to help with implementation and development problems. “Open-source projects in general seem to be pretty good at fulfilling developer needs quickly,” notes Greg Hinkle, a technology specialist at IT consultancy Sapient. That’s not surprising, given that developers are the ones driving open-source projects.
But more and more, open-source tools are also fulfilling the CIO’s needsespecially as the tools become more competitive with commercial alternatives. For example, Miller’s team evaluated several commercial application servers, including WebLogic and WebSphere, but couldn’t find the combination of performance, support and development features that Corporate Express needed.
“Besides JBoss, we’ve adopted a lot of other open-source things since 2000,” Miller says, noting the company’s use of Linux, Apache, OpenSSL, Tomcat (an Apache add-on for processing Java Servlets and JavaServer Pages), Jakarta Lucene (a text search engine) and Jakarta Jetspeed (an enterprise information portal). “The prime driver for us is not really the costthough the cost savings have been very substantialbut the software quality.”
Open-source tool use is widespread, but it accounts for a minority of development happening in the enterprise today. According to Evans Data’s 2002 “North American Developer Survey,” 53 percent of developers use some open-source code (from repositories such as SourceForge), and 51 percent use open-source development tools at least occasionally. However, most developers spend the majority of their time using commercial products. Only 9 percent spend more than half their time using open-source tools.
Still, interest continues to mount. “There’s more and more acceptance of open-source tools as things like Linux and Apache become more widespread,” says Mark Driver, research director at Gartner.
An Array of Tools
Developers who want open-source development tools have a smorgasbord to choose from. These include low-level programming tools such as GNU Emacs, a text and code editor, and the GNU Compiler Collection, a suite of compilers for C, C++, Fortran, Java and other languages. Such tools often come into an organization simply because they’re so widespread in the Unix world and developers have been using them for years. “Emacs has a very steep learning curve, but people who are very familiar with it can be incredibly productive and efficient,” says John Alberg, cofounder and vice president of engineering at Employease, a provider of human resources software.
Developers often use newer application platforms, such as JBoss and Tomcat, to develop applicationsand increasingly to deploy the final apps. (JBoss was downloaded more than 2 million times last year, according to Fleury.) One advantage cited by many managers is that JBoss lets developers test EJB code on their desktop systems without having to first deploy it to a server elsewhere, an efficiency that can significantly cut development time.
Finally, there are open-source integrated development environments (IDEs) such as the IBM-driven Eclipse project and Sun Microsystems’ NetBeans. The Eclipse community, which began in 2001, has grown rapidly, with more than 175 tool vendors providing plug-ins for the platform. Part of the reason for its popularity is that it provides a common, simple framework for developmentand for integrating a disparate array of tools. “The open-source community 24 months ago was a collection of nifty tools, but there really wasn’t an IDE out there to bring those tools together and to shorten the learning curve,” says Andy George, vice president of research and development at GE Retail Systems, a provider of software to the retail industry. “Now, any Joe Engineer can take the Eclipse product and be pretty productive.”
Setting a Standard
Another factor driving open-source alternatives is standardization. “Open source tends to work well when the technology is relatively straightforward and simple,” says Driver. Case in point: Apache dominates the Web server market because the relevant standards are so well-established that commercial vendors can no longer differentiate their products profitably. As the J2EE standard matures, Driver sees a similar shift happening in the application server market. However, he says, “I don’t know that we’re ever going to see JBoss achieve the critical mass of Apache because there are many well-established commercial alternatives to [JBoss].”
Apache Software Foundation cofounder Brian Behlendorf disagrees. “I think that space is ripe for commodification,” says Behlendorf, who is also founder and CTO of open-source software and service provider CollabNet. “People are getting tired of spending $10,000 per CPU. For most people, running websites with a million hits or less per day, you can accomplish a lot with the open-source application servers that are out there.”
While open-source tools benefit from having standards in place, the tools can also create de facto standards. “The challenge with pure standards is that a standard is just a piece of paper,” says Scott L. Hebner, director of marketing for IBM WebSphere. “Open source is probably the next step, logically. Why just provide a piece of paperwhy don’t we actually provide a reference platform that implements the standard?”
For example, CVS, a code-management and version-control system, is so widely used that even commercial development tools now include support for it. Of course, it helps that CVS actually works. “We’ve found it’s an incredibly powerful version-control system, and it scales very well,” says Alberg.
Look Before You Leap
Although developers may be pushing for open-source tools, CIOs are less enthusiastic, citing concern about support, accountability and potential legal issues. Product support is a big issue, especially because you’re depending on the goodwill of the open-source community, which provides support through online forums and FAQs, and documentation is often minimal or nonexistent. Before committing to an open-source product, companies need to ensure that the community behind it is committed and reliable. In some cases, you can purchase support contracts from a vendor (JBoss Group and CollabNet are two companies whose businesses are largely based on providing support for open-source development tools), but that option is not available for every product.
The learning curve for open-source tools is also typically steep, and the tools tend to be aimed at power users.
Finally, the quality of open-source tools is highly variable, and some lack features required by enterprise development teams. JBoss appeals to those who are “looking to get 80 percent of the capabilities of WebSphere at zero percent of the cost,” says Gartner’s Driver. The low cost may be enough to justify the trade-off, but it depends on the environment and whether you can do without the missing features. JBoss, for instance, lacks the development environments packaged with WebSphere and other application servers.
“If you use open-source IDEs, you get a very mixed bag of capabilities,” says John Parkinson, chief technologist for the Americas region at Cap Gemini Ernst & Young. In the same vein, open-source collaborative development tools lack enterprise features such as transparent progress tracking and centralized management systems. “People like to know where you are and how soon you’ll be done, and a lot of these tools give up on that aspect in order to be done quickly,” says Parkinson.
Parkinson acknowledges that the most productive, “extreme” programmers often favor open-source toolsand that it might make sense to use such tools just to keep those developers happy. “You can have a lot more impact by making the really good guys twice as productive as you can by making the average programmer twice as productive,” says Parkinson. “If you’re going to get the most out of people like that, you’ve got to give them what they like to use.”
In the end, IT managers need to make the same cost-benefit analysis as they would for any productand that’s an equation that will leave many open-source tools looking pretty good, even if they lack a few features. “There’s not a long laundry list of things that people actually need,” says Tim Witham, lab director for the Open Source Development Lab, which supports open-source developers. “If you look at the feature set of an IDE, there’s a very small set of features that people need day-to-day.”
To sort out the wheat from the chaff, you’ll need the help of your top developers. “If your development staff is keeping a finger on the pulse of the open-source community, you’re bound to have a developer organization that understands leading-edge technologies,” says Adina K. Madrid, director of technology for Digital@jwt, an e-business development shop. “Then, it’s up to you to make the business decision as to whether it makes sense in each situation.”
SIDEBAR: Open Sources
Open source development tools at a glance.
Anticipated benefits Low cost. Widespread support through development communities. Ability to modify source code. Tools often constitute de facto standards.
Hurdles Tool quality varies. Some tools lack support. Slow upgrade cycles. Long learning curve compared with commercial tools.
Primary markets Enterprise development teams, especially those already using Linux or other open-source software. Software vendors. IT consultancies.
Estimated cost Zero licensing fees. Support contracts from commercial vendors add variable costs.
Major open-source projects
CVS (www.cvshome.org): Code management system.
Eclipse (www.eclipse.org): IBM-sponsored integrated development environment.
GNU Compiler Collection (gcc.gnu.org): Compilers for C, C++, Java and other languages.
JBoss (www.jboss.org): Enterprise JavaBeans application server.
Mono (www.go-mono.com): Project to replicate Microsoft .Net Development Framework functions on an open-source platform.
NetBeans (www.netbeans.org): Sun Microsystems-sponsored integrated development environment extensible via modules.
Tomcat (jakarta.apache.org/tomcat): Apache module for Java Servlets and JavaServer Pages.
Apache Jakarta Project (jakarta.apache.org): Repository of open-source solutions for Java.
SourceForge (sourceforge.net): Repository of open-source code and applications.
Dylan Tweney (firstname.lastname@example.org) is a freelance writer and editor in San Mateo, Calif.
Link: Build It Free
Link broken? Try the Wayback Machine.