Ten years of DeforaOS

News by khorben on 25/10/2011 15:47:05
On October 6th 2011, the defora.org domain celebrated its tenth anniversary [1]. It is certainly a good opportunity to gather a few facts around the project, which has not always been about creating a completely new Operating System.

First, as of today, this is not even the case yet:
  • the lowest-level code is a standard libc [2], requiring an existing kernel to interface with (eg Linux, *BSD...)
  • DeforaOS' own low-level library [3] still requires a libc to be available (it can be the one provided by DeforaOS though)
  • the distributed computing environment [4] is functional but not ready for industrial use,
  • the graphical environment [5] relies on Gtk+ (not supported by DeforaOS' base libraries)

It actually started as a custom Debian distribution [6]. The first significant material was released in November 2001, and consisted in a bootable ISO image to help installing a Debian system:
  • 100% graphical operation (splashscreen on a VESA framebuffer, X running on that same framebuffer)
  • automatic detection of the CD-ROM drive [7]
  • complete rewrite of fdisk for Gtk+;
  • extraction of a pre-installed tarball on the first partition of the first hard disk drive (this was hard-coded)

This CD-ROM image can still be downloaded here [8]. The website was based on PHP-Nuke [9] at the time, and interestingly was quite popular by then. The logo contest for the splashscreen was subject to a lot of interesting submissions.

However, considering the huge (and rarely rewarding) effort required to keep up with the development of Debian's upstream, the project changed orientation in the end of 2002 and became a complete Linux distribution [10]. Two different versions were released, with some components remaining here [11].

The website was completely changed as well, and based on static content for a while. I believed good parts of it were generated automatically, although of little interest. The first lines of code for DaPortal [12] were written around this time though.

But again, the orientation taken proved to be a huge and annoying task, mainly because of the bugs and inconsistencies found in the build systems of most Open Source projects. Even proper use of GNU autotools [13] was rare, creating more trouble than anything else in the context of packaging and handling of configuration files.

As a consequence, the idea of the project as it is today surfaced around 2004. This is when a port of Minix 2 to GCC was started [14], with the code still found in the CVS repository. Significant development on DeforaOS as an Operating System really began in 2005, like with the libSystem-based Probe [15] and the libc of course. It was painfully realized that starting from the kernel was too complex, so most of the focus was kept on userland applications and portability. This included a beginning of a graphical environment, based on Gtk+ after a first attempt with a toolkit native to DeforaOS [16].

So indeed, the true, original meaning of "Defora" was nothing else than "DEbian FOR All". It was possible to obtain it by issuing a TXT request on the "defora.org" domain. Unfortunately, a popular Linux distribution [17] has chosen a very similar name back in 2003 (but therefore after the creation of DeforaOS).

Still, DeforaOS is now a fairly complete system, with its three major parts hopefully converging sooner than later, and eventually providing a complete, modern (and Open Source) alternative to the popular Operating Systems today, such as Linux (GNU), *BSD (including MacOS X), Windows, Solaris...

A few figures before concluding:
  • no (or way too few) documentation
  • one main developer
  • two main languages used (C and PHP)
  • three orientations in parallel for development
  • four additional contributors (one active)
  • five kernels supported by the libc
  • seven distributed interfaces defined
  • eight major sub-divisions in the code
  • ten years of involvement
  • fourteen combinations of kernel and architectures supported by the libc
  • 21 menu entries in the desktop environment
  • 40 bugs reported
  • 44 sub-projects registered today
  • 83 users currently registered on the website (including spammers)
  • 142 news items published
  • 350 folders in the latest source archive
  • over 500 users estimated for the most popular sub-project, makepasswd (or earlier gputty)
  • 2299 files in the latest source archive
  • about 9400 commits
  • more than 200,000 lines, of which 150,000 of code and 75% written in C
  • 1,956,003 bytes in the latest source archive
  • FWIW, estimated worth over $2,000,000 according to Ohloh [18]

I have every intention to let these figures grow, with the first one in particular of course. Feedback is appreciated, help is welcome, and I am of course very thankful for all of the support the project has already received.

On for another ten years!

[1] http://who.is/whois/defora.org/
[2] http://www.defora.org/os/project/14/libc
[3] http://www.defora.org/os/project/27/libSystem
[4] http://www.defora.org/os/wiki/3427/Distributed-environment
[5] http://www.defora.org/os/wiki/3426/Graphical-environment
[6] http://www.debian.org/
[7] http://www.defora.org/os/project/browse/53?file=/tools/linuxrc.c,v
[8] ftp://ftp.defora.org/pub/defora/beta/defora_200111.iso
[9] http://phpnuke.org/
[10] http://www.linuxfromscratch.org/
[11] ftp://ftp.defora.org/pub/defora/
[12] http://www.defora.org/os/project/12/DaPortal
[13] http://www.gnu.org/s/hello/manual/automake/Autotools-Introduction.html
[14] http://www.minix.org/
[15] http://www.defora.org/os/project/44/Probe
[16] http://www.defora.org/os/project/3398/GToolkit
[17] http://www.fedoraproject.org/
[18] http://www.ohloh.net/projects/DeforaOS