An up-to-date look at free software and its makers

Projects on the Move


Free software covers such a diverse range of utilities, applications, and other assorted projects, that it is hard to find the perfect tool. We pick the best of the bunch. This month, we'll examine DRBD, Fink, and the Debian project leader election.

By Martin Loschwitz

If there is one thing that the Chemnitz Linux Days 2005 made very clear, it is that Linux is ready for schools, universities, and other educational institutes. Projects on the Move has discussed the Skolelinux [1] distribution in the past, but now the Skolelinux team is busy preparing a new major release that will be based on Debian Version 3.1, also known as Sarge, which will hopefully be the stable release by the time Skolelinux appears. The developers' aim is to introduce a mass of new features, such as more granular Internet access for groups.

Mac OS X and Fink

Mac OS X and the underlying Darwin [2] system are products that split the FOSS community. On the one hand, many Linux users also run Mac OS X, because this system is pre-installed on Macintosh computers out of the box and the GUI has such a good reputation for being intuitive and user-friendly. On the other hand, many users take a different view and reject Apple's operating system categorically. The fact that Apple used a BSD kernel and is now distributing this as part of its system riles many people, even though the BSD license allows it. And the fact that Apple has refused to support efforts to develop drivers for its standard WLAN solution, Airport Extreme, for free operating systems, is not exactly in the spirit of the give back principle.

This lack of cooperation has led to many Mac OS X opponents installing Linux on their Apple machines, whether for political, philosophical, or technical reasons. The installation is not only time-consuming but also involves a few hurdles for users migrating from 386-based PCs.

For those users who do not reject Mac OS X on principle but simply want to run their Linux applications, there is an alternative to a complex Linux installation. The Fink project [3] aims to port popular tools and programs from the Unix world to Mac OS X and Darwin. Fink allows users to install a more-or-less complete Linux desktop on Mac OS X and to run the desktop without a crippling emulation layer. The Fink developers rely on the fact that Darwin has its roots in Unix. If a program runs on a BSD system or on Linux, then in theory, at least, it should compile on Mac OS X. Apple offers the required developer files at [4].

Mac users who would like to give Fink a trial run do not even need to fire up a compiler. You can simply install Fink from one of the binary packages available on the homepage at [3], and update the package list, and possibly Fink too, using the graphical installer. The front-end allows users to select packages for automatic installation.

Old Friends

If you prefer a text-only console to a GUI-based front-end, Fink is still a good choice. The terminal gives you apt-get for package installation - an old friend for Debian users. This makes the Fink developer's choice of package management tool fairly obvious: the Debian Package Manager DPKG [5] manages any package you install on Fink. Users will appreciate the easy install and the ability to remove packages without leaving orphaned files on the system.

The list of packages supported by Fink is impressively long. If you do not like the Mac OS X desktop, you can install XFree86 and KDE, or Gnome. This takes the desktop very close to what you would expect from a Linux system. Some packages are not available in binary versions, but the CVS or Rsync versions in the Fink repository are typically up to date. Users have the ability to build any programs they might be missing with a few shell commands. Fink has no trouble handling a mixture of binary and source packages (Figure 1). The premium models in the Fink package collection [6] are Wget, Apache, and Gimp.

Figure 1: Fink installs the Gimp image manipulation program on Mac OS X.

Network RAID with DRBD

In a professional environment, it is extremely important to have a backup system that immediately assumes the responsibilities of a failed system. To be able to do this, the backup system needs the disk content of the primary system. High availability systems solve this problem by using storage networks that connect to multiple machines via SCSI controllers, and thus give these machines access to the same set of data. On the downside, the hardware is expensive.

The DRBD ("Distributed Remote Block Device") project [7] adopts a completely different approach with a 1Gbit Ethernet connection assuming the role of the storage network. Two machines on the network load a special kernel module which interfaces with the Soft Raid Layer. One of the computers is configured as the primary and the other as the secondary server. Computer 1 just needs an RDBS array and the RDBS infrastructure will handle the rest. It connects the two computers and continually pushes data from the RDBS array on the primary to the secondary server, just like a RAID 1 array.

A third machine on the network acts as a heartbeat server and regularly checks to see if the primary is up. If the primary goes down, the heartbeat server contacts the second machine, which then takes over the role of the primary server. A journaling filesystem allows this process to complete without affecting availability. When the primary server comes back online, it contacts the new primary server and assumes the role of the secondary server.

DRBD works really well and the developers have more features in the pipeline for the near future. For example, Version 0.8 will support more granular configuration options. Additionally, DRBD will soon be capable of grouping multiple computers to create a storage group. And the developers have already given DRBD the kind of performance that compares well with other solutions of this type (Figure 2).

Figure 2: In the performance stakes, DRBD is already a hot performer.

The Debian Project Leader Elections 2005

It's election time: the Debian community has to decide who will be taking over the helm as the Debian Project Leader (DPL) next year. One thing is for sure, interest in the election is far greater than in recent years, as is evidenced by the fact that no less than six candidates have applied. In last year's election, there were only three: the winner Martin Michlmayr, Branden Robinson, and Gergely Nagy, who ran just for fun.

The first developer to announce his candidature was Matthew Garrett (Figure 3). On his election platform [8], Matthew quotes the lack of communication between individual members of the project as the biggest issue. In his opinion, this is also the reason why there has not been a new Debian release for over 30 months. Garrett would like to improve understanding, especially between people with diametrically opposed opinions. Scenarios in which two developers should be working hand in hand, but do not do so because of conflicting interests, keep on cropping up - especially in the context of the distribution's kernel packages - and hold up the development process.

Figure 3: Matthew Garrett, who is running for Debian Project Leader, aims to shorten the release cycle.

New Project Structure

In his election campaign [8], Andreas Schuldei suggests a completely different approach for the Debian project. He also views internal communication as the biggest issue, and puts this down to the working climate, which has been deteriorating for years. He has a multipart solution for a shorter release cycle: first of all, he would like to put together groups of people with common interests who will be happy to collaborate on common projects. Regular meetings on IRC and in real life will help improve cooperation.

Andreas Schuldei also intends to integrate the Project Leader into the group model. If he wins the election, Andreas promises not to keep the reins of power to himself, but to nominate a group that will work with him to fulfill the DPL's allotted tasks. The group structure would definitely change the decision making process within the Debian project and take the project towards a more democratic path.

The Role of the Project Leader

Angus Lees' campaign platform [8] tells a completely different story of the DPL's role. Angus views the DPL as a spokesperson and would like to introduce Debian to as many people as possible if he wins. Agnus views internal problems as the responsibility of the developers rather than the Project Leader. This is reminiscent of the current DPL: Martin Michlmayr has also spent a lot of time representing Debian at fairs and other events.

Many Debian developers were surprised to hear that Anthony Towns was running for DPL. Many know him as the Debian Release Manager, although Anthony stepped down from this position a few month's ago in protest against the release mechanism. On his campaign platform [8], Anthony criticizes the inefficiency of the project more than anything else. To improve efficiency, he would like to integrate work by external developers in a more meaningful way and even the path for new developers to join project.

Time After Time...

Just before the nomination deadline expired, Branden Robinson (Figure 4), stated that he would again be running for DPL - as he had done in previous years. Many Debian developers urged him to run for election. Pointing out that he had always come second in recent elections, Branden posted an appeal in the Debian-Vote mailing list before he took the plunge, asking developers who wanted him to run for election to let him know. After receiving 100 messages of support, Brendan finally decided to stand for election.

Figure 4: After several unsuccessful attempts, Branden Robinson is the "perennial number two."

Branden Robinson's campaign [8] has very little in the line of new content; the section about his goals simply contains a link to last year's text, where he called for more cooperation between developers and more efficiency. To achieve this, Branden suggests a similar approach to the one put forward by Andreas Schuldei, envisaging the delegation of tasks to smaller groups. In line with this, Branden names Andreas Schuldei as a potential partner for cooperation, and vice versa.

Controversy

Jonathan Walther is the black sheep in the eyes of many developers. His campaign platform [8] does not have much to offer content-wise. He calls for a six-month release cycle but without saying anything about how to implement it. But this is not what people tend to point to when asked about Jonathan Walther: up to a few months ago, his homepage [9] is reported to have had links to a variety of websites making controversial claims.

His platform page at the Debian site states that he will assemble a panel of stakeholders to discuss issues of gender bias within Debian, and he even names the people he will appoint to the panel. Some of the stakeholders on his list, however, have expressed doubt about the idea. Erinn Clark, from Debian Women, posted a statement saying, "None of the individuals listed in the gender imbalance section were consulted about this plan; we also think these issues are deeper than can be fixed with a three month analysis. Furthermore, we do not believe this to be a good-faith effort to address the relevant issues, given past behavior of the candidate." [11]

In rebuttals on their campaign platforms, the candidates can respond to their fellow candidates ideas. The unusually active election run up has led to a high volume of traffic on the Debian-Vote mailing list [12]. It is difficult to guess the outcome. The developers have until April 11 to decide, so by the time you read this, the election will already be over. The results will be published at [13].

That's all folks...

... for this month at least, but I do have one request before I go: If you can recommend a program that you would like to see featured in Projects on the Move, why not mail me with your suggestion [14]? I look forward to your comments!

INFO
[1] Skolelinux: http://www.skolelinux.org
[2] Darwin: http://developer.apple.com/darwin/
[3] Fink: http://fink.sourceforge.net/
[4] Apple Connect: http://connect.apple.com/
[5] DPKG: http://packages.debian.org/unstable/base/dpkg.html
[6] Fink package list: http://fink.sf.net/pdb/index.php
[7] DRBD: http://www.drbd.org/
[8] Debain Project Leader campaign platforms: http://www.debian.org/vote/2005/platforms
[9] Jonathan Walther: http://reactor-core.org/~djw/
[10] Alexander Wirt's blog: http://www.formorer.de/~formorer/blog/blosxom.cgi/2005/03/03#krooger1
[11] Email from Erinn Clark: http://lists.debian.org/debian-vote/2005/03/msg00014.html
[12] Debian-Vote archive: http://lists.debian.org/debian-vote/
[13] DPL Election 2005: http://www.debian.org/vote/2005/vote_001
[14] Tips and suggestions: projects@linux-magazin.com