All Your Blank
All Your Blank

Few social powers exceed that of permutation. Once a catchy phrase enters common parlance, endless variants soon permute into use. This happened with “Kilroy was here” in World War II, and it's happening now with “All your base are belong to us”. Here's what, other than base, that are now belong to us (or whomever):

And that's just in the first two pages of a Google search: 1-20 out of 31,600 results.

—Doc Searls (with thanks for the discovery to Don Marti)

Savannah and Free Software Development

What began as a simple move to reduce the workload of the GNU CVS maintainers has turned into an ambitious project to create a complete development hosting facility. In October 2001, the GNU Project announced a plan to rewrite completely the SourceForge software. This rewrite will address several key technical and practical issues.

SourceForge is an integrated collaborative development environment. It presents a web interface as a portal to CVS, FTP and e-mail services. The original SourceForge server, SourceForge.net, currently hosts more than 30,000 projects and 300,000 users.

The GNU Project has been running a modified version of the SourceForge software at savannah.gnu.org since late in the year 2000. Savannah was set up by GNU volunteers to automate and ease the process of GNU project management. Developers of the GNU Project want a service specifically for free software projects, and one independent from the VA Software Corporation.

Concern has been expressed over the centralized nature of the current SourceForge system. Where do the hosted projects go when and if VA Software loses the capital to support SourceForge.net? Where do those 30,000+ projects go if some SSSCA-like bill becomes a reality?

The development team has come up with an obvious answer: decentralization. Projects will be hosted on various sites across a network. All projects will be browseable from any node of the network.

Each machine running the new Savannah system will host any number of read/write and read-only projects. A read/write project will exist locally on that machine. Read-only projects are mirrors of a project hosted elsewhere. In case one of the host machines goes down, locally hosted developers will be able to move to one of the mirrors of their project and set that to be the read/write server for the project. Project definitions are exchanged between distinct servers via an XML-based format. The Savannah service is fault-tolerant. It allows for machines going out of service without loss of data.

The Savannah developers are basing all of the content of the new system on templates. Sections of pages can be pulled from GNU gettext files, based on the language of the reader. gettext is a package for developers, translators and users for creating multilingual applications. This provides for internationalization, a feature sorely lacking in the current SourceForge system.

The developers of the new system have determined to create a system where there is a clearly defined upgrade path between versions of the software. The software will be packaged using Debian's .deb packages, and upgrades will be automated through use of the package system.

The system is based on the GNU phpGroupWare code base. phpGroupWare implements templates needed for internationalization, authentication, database access, an XML-RPC interface and session management. The Savannah team is working closely with the phpGroupWare team to exchange improvements.

Bradley Kuhn, vice president of the Free Software Foundation, wrote:

A collaborative site providing a unified interface for project management is key for free software development. To truly help the cause of software freedom, such sites must be implemented completely with free software. Savannah does this for the GNU Project and will soon do the same for all GPL-compatible free software projects.

Savannah will provide important services to free software developers. It will provide the services of SourceForge.net on a world-spanning network of servers that each speak the individual developer's language. Savannah will have fault tolerance and data recovery. Best of all, the only support that the system needs is for volunteers to provide hosting services and support to their ability. Look for more information on Savannah at savannah.gnu.org.

The GNU Project can be found at www.gnu.org. For a definition of free software, see www.gnu.org/philosophy/free-sw.html.

—Nicholas E. Walker