Channels ▼
RSS

Free as in Freedom


Free as in Freedom

Software Development

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.

—John Ravella

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.

—Rosalyn Lum

High Profile Open-Source Projects
Product Category The Buzz Description Founder(s)
Apache HTTP Server
Apache license
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.
—Netcraft.com
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.
ArgoUML
BSD license
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
AspectJ
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.
—Larry O’Brien
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
Bugzilla
MPL
Bug tracking Bugzilla has matured immensely, and now boasts many advanced features.
—OpenSourceTesting.org
Enterprise-grade bug-tracking software. Terry Weissman
Darwin
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
Eclipse
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.
—Mik Kersten
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.
Expresso
Apache license
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
GNU
GPL
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
JBoss
LGPL
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
JUnit
IBM Public License
Testing Never in the field of software was so much owed by so many to so few lines of code.
—Martin Fowler
A regression-testing framework used by the developers who implement unit tests in Java. Erich Gamma and Kent Beck
Linux
GPL
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
Mono
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.
—Tim O’Reilly
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
Mozilla
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
MySQL
GPL (commercial licensing available)
Database It rocks. It’s rock-solid.
—Rick Wayne
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
NetBeans
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
OpenBSD
BSD license
OS Winner of the 2003 Information Security Leadership Award for effective security testing of an operating system.
—SANS
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
Perl license, GPL
Programming/Scripting language A language. A way of life. No cure is known.
—Rick Wayne
The most popular Web scripting language due to its text manipulation capabilities and rapid development cycle. Larry Wall
PHP
PHP license
Programming/Scripting language The most popular Web development language. A Web development language that can be embedded in HTML. Zeev Suraski and Doron Gerstel
Python
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
Ruby
Ruby license
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
Product Category The Buzz Description Founder(s)
Business Integration Engine
GPL
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
Dependency Finder
BSD license
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
NUnit
zlib/libpng license
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
PMD
BSD license
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
POPFile
GPL
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
ReadySet
BSD license
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
Xerces
Apache license
XML parser It's fast, it's mean, and it's got all the buzzwords—what more could you want in an XML parser?
—Jason Stewart
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].


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.