Remember when free and open source software were synonymous with buggy and no support? That was only a few years ago. But with the growing persistence of passionate individuals blazing the trail toward a new model of development and licensing, the establishment of “foundries” with a specific and targeted software development focus, and big-name companies including IBM, Sun Microsystems, Microsoft and Borland forming consortiums and platforms such as Eclipse, open source is ready for primetime. Developers all over the world are contributing to projects in an effort to mold products into stable, mature and free offerings that the community wants to have and use. Let’s first take a look back at how history shaped the movement, and then check out some of the most promising new products on the open-source landscape.
Lessons of History
In 1984, Richard Stallman officially launched the Free Software Foundation (FSF) with the altruistic goal of reinstating the computer user’s basic freedom to access, create and use information without the legal tyranny of proprietary licensing. Just three years later, Ronald Reagan delivered his famous West Berlin “Tear Down This Wall” speech in which he restated every citizen’s basic freedom of expression without the tyranny of The State.
The beginning of Reagan’s dream was realized when, in 1989, the Bornholmer Strasse Gate was opened; however, Stallman would have to wait another three years until Linus Torvalds released the GNU/Linux Kernel 0.02, launching the open-source movement and its formidable challenge to the proprietary licensing walls constructed over the last 20 years.
The key instrument and heart of the open-source movement is the GPL, the GNU Public License, written by Stallman as an instrument for what he calls a “copyleft.” Any software released under a license certified by either the Open Source Initiative (OSI) or the FSF basically enforces the idea that the licensee is free to run the program for any purpose, and the source code must be available, along with the freedom to modify and redistribute the software.
The FSF and OSI remain cordial allies in their opposition to proprietary licensing, even though their philosophies have quietly diverged over the use of the terms free software and open software. This minor schism is reflected in their certification criteria and lists: The OSI has 48 certified licenses with strong industry representation, while the FSF lists 27 licenses, mostly from standards bodies and academic institutions. Regardless of the differences, there’s been no shortage of computer companies wanting to secure their future by joining the movement and getting their licenses certified.
As a practical matter, the software developer or user can feel confident using software under either certification. FSF certification enforces a stricter adherence to its ideals of freedom and collaboration, while OSI certification is more accommodating to corporate realities. For example, Sun donated the Star Office source to the open-source Open Office project while withholding proprietary components (for example, a spell checker) that distinguish its distribution as Star Office. This may sound like cheating until one realizes it allowed Sun to add preexisting software to the pool of quality open-source products while protecting the OEMed components Sun doesn’t have the rights to donate.
Over the last few years, the impact of the open-source movement has been nothing short of a revolution. Microsoft has finally acknowledged Linux as a serious threat—no wonder, given the big commercial wins recently scored by vendors such as Sun and IBM.
Reagan and Stallman couldn’t have more disparate public images, yet they
share an incontestable faith in freedom’s power. As Reagan so succinctly
put it during his Berlin speech, “Freedom leads to prosperity.”
Stallman would heartily agree.
| 27 Players Ready for Primetime
Here are a just a few of the thousands of projects that represent the broad
spectrum of software development under the open-source banner. License certification
lists and more information on the Free Software Foundation are available at
www.gnu.org. Find out
more about the Open Source Initiative at www.opensource.org.
|High Profile Open-Source Projects|
|HTTP server||The January 2004 Netcraft Web Server Survey
found that more than 67% of the websites on the Internet are using Apache,
making it more widely used than all other Web servers combined.
|Provides a secure, efficient and extensible server for modern operating systems, including Unix and Microsoft Windows. Also offers HTTP services in synch with the current HTTP standards.||Brian Behlendorf, cofounder and president, teamed with seven other webmasters in 1995 to develop the basic Apache code.|
|Design||13th Annual Software Development Jolt Productivity Award and 1st Annual Readers’ Choice Award winner.||A pure Java open-source CASE tool with features that enhance usability and support designers’ cognitive needs. Uses XML and PGML file formats.||Jason Robbins|
Mozilla Public License (MPL)
|Languages and development||It’s not every day, or every year,
that you come across something that makes you rethink your entire approach
to programming. Mark my words, aspects are going to cause an epochal shift
in programming right up there with the object shift of a up there with the
object shift of a decade ago.
|Modularizes crosscutting concerns, so code need not be scattered or tangled throughout a system, making complex systems easier to develop and maintain.||Gregor Kiczales, one of the founders of AOP; Erik Hilsdale; Mik Kersten and Wes Isberg|
|Bug tracking||Bugzilla has matured immensely, and now boasts
many advanced features.
|Enterprise-grade bug-tracking software.||Terry Weissman|
BSD license, GNU Public License (GPL)
|Apple OS||They’re learning from Microsoft.||Apple’s framework for open-source projects. It integrates with a number of technologies with its free OS framework.||Developer Connection: Darwin|
Apache license, BSD license, GPL, IBM Public License, Lesser GNU Public License (LGPL), MPL
|IDE||The only reason I ever bother launching
any IDE other than Eclipse is for bug fixes of those plugins or for building
Swing GUIs with JBuilder. Since I consider Eclipse superior, I’m curious
about the features that drive people to other IDEs.
|An open platform for tool integration that provides developers with ultimate flexibility and control over their software technology.||Borland, IBM, MERQNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft and WebGain formed the initial eclipse.org Board of Stewards in November 2001.|
|Web application development framework||Expresso has more than 140,000 downloads and an active listserv community—4,500 members strong (and counting).||A technology linking applications to provide interoperability via its toolbox of J2EE application framework components.||Michael Rimov and Michael Nash|
|Linux OS||GNU is truly the grandfather of all free/open software projects. Most of today’s Linux systems are in fact a Linux OS plus GNU tools.||“GNU’s Not Unix.” Variants of the GNU operating system, which use the accurately called GNU/Linux systems.||Richard Stallman and Linus Torvalds|
|J2EE server||When somebody joins us, they leave their corporate reality and take the red pill to go to JBoss. —Marc Fleury||An open-source J2EE application server.||Marc Fleury|
IBM Public License
|Testing||Never in the field of software was so much
owed by so many to so few lines of code.
|A regression-testing framework used by the developers who implement unit tests in Java.||Erich Gamma and Kent Beck|
|OS||The most famous open-source project to date, and one of the first to engender viable business models.||A free Unix-type operating system.||Linus Torvalds|
GPL, GNU Library GPL, MIT X11
|OS||This is a defining moment for the open-source
community and Linux. The Internet infrastructure has always been based on
open source. The Mono project is an essential step in making sure that remains
true as the Internet evolves.
|Open-source clone of the .NET Development Framework. It includes a comopment Framework. It includes a compiler for C#, a runtime for the Common Language Infrastructure (CLR) and a set of class libraries. The runtime can be embedded into your app, and implements ADO .NET and ASP .NET.||Miguel de Icaza, former Ximian CTO and founder of Gnome|
MPL, LGPL, GPL
|Browser||“Best browser of 2003.” —PC World||The open-source foundation for the Netscape Navigator Web browser.||Pete Collins and the Mozdev Group team|
GPL (commercial licensing available)
|Database||It rocks. It’s rock-solid.
|A relational database with multiple storage engines available; you can go for maximum speed or full ACID support. Supports clustering.||David Axmark, Allan Larsson and Michael “Monty” Widenius|
Sun Public License
|IDE||For building standards-compliant UIs and staying up-to-date with JDK 1.4, look no further.||Both an IDE and a generic application platform, NetBeans has been steadily improving since Sun acquired it from a Prague–based company and released it as open source. Sun now intends to grow it into a corporate Java tool. NetBeans 3.5 is useful for building JSPs, servlets, rich clients with Java foundation classes and mobile apps with J2ME. The release includes Tomcat.||Roman Stanek|
|OS||Winner of the 2003 Information Security Leadership
Award for effective security testing of an operating system.
|A free, multiplatform BSD-based Unix-like OS emphasizing portability, standardization, correctness, proactive security and integrated cryptography. OpenBSD 4.4 supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, Linux BSD/OS, SunOS and HP-UX.||Theo de Raadt|
Perl license, GPL
|Programming/Scripting language||A language. A way of life. No cure is known.
|The most popular Web scripting language due to its text manipulation capabilities and rapid development cycle.||Larry Wall|
|Programming/Scripting language||The most popular Web development language.||A Web development language that can be embedded in HTML.||Zeev Suraski and Doron Gerstel|
CNRI Python license
|Programming/Scripting language||Why settle for snake oil when you can have
the whole snake?
—Usenet posting by Mark Jackson
|An interpreted, interactive, object-oriented programming language.||Guido van Rossum|
|Programming/Scripting language||More than any other language with which we
have worked, Ruby stays out of your way.
—Dave Thomas and Andy Hunt
|A pure object-oriented programming language suitable for both quick-and-dirty scripting and production code for applications, and it’s truly fun to work in.||Yukihiro Matsumoto|
|Open-Source Projects to Watch|
|EAI (Enterprise Application Language)||Sounds promising … check back in a year.||An open-source EAI tool, used for translating and transporting data, typically between a company and its trading partners.||JT Smith, Jeff Depons, Brian Madigan and Greg Fast|
|Analysis tool|| After source control and Ant, the Dependency
Finder is the most used software in our build process. It makes pinpointing
dependencies fast because of search with regular expressions, and has delivered
more productivity than any other system we use.
—Tom Quigley, Vignette
|A collection of tools for analyzing compiled Java code, written in Java. At its core is a powerful dependency analysis application that extracts dependency graphs and mines them for useful information.||Jean Tessier|
|Testing||Software Development 1st Annual Readers’ Choice Award winner.||Unit-testing framework for all .NET languages. Ported from JUnit; see www.junit.org/.||Alexei Vorontsov, Charlie Poole, Christian Sepulveda, Michael C. Two and Philip Craig|
|Analysis tool||Pretty Much Done, Project Mess Detector, Project Monitoring Directives, Project Meets Deadline, Programming Mistake Detector, Pounds Mistakes Dead. —PMD||A Java source-code analyzer. Features include a copy/paste detector, the ability to write rules in XPath and plugins for many popular IDEs.||Tom Copeland|
|Mail/Spam classifier||Filing and sorting … it’s your inbox’s personal assistant.||One of the top 10 most active projects on SourceForge. Once trained, it can separate junk e-mail or file mail into a dozen folders.||John Graham-Cumming|
|Project management||Ready … Set … Go! Its templates get developers up and running.||Produces and maintains a library of reusable software engineering document templates that provide a starting point for the docs used in development projects.||Jason Robbins, who also cofounded the tigris.org software development community|
|XML parser||It's fast, it's mean, and it's got all the
buzzwords—what more could you want in an XML parser?
|An XML parser for Java, C++, Perl and Python, supporting Schema, XInclude and the JAXP API; DOM and SAX models supported. Many, many platforms.||Apache XML Project|
John Ravella is currently an open-source and product management consultant. He worked as a senior open-source product manager at Sun Microsystems and has held engineering and marketing management positions at Sun, Apple and Ejasent. He can be reached at [email protected].
Rosalyn Lum is technical editor of Software Development. Reach her at [email protected].