Borrowing code or programs written by others is an accepted practice in the Free Software community. It is perfectly legal, being one of the core principles that defines Free Software. For open source or free software coders, it makes sense. Why write something from scratch when somebody else has already written it? Just take it and run, or take it and extend it.
One area I think that distro developers are overlooking with regards to reusing code concerns installation programs. Many distributions, especially those that are based on Ubuntu, have very easy-to-use, but plain-vanilla installers. Even the latest edition of Ubuntu’s installer is still not good enough (see Note to EFF: FDE implementation in Ubuntu’s Ubiquity is only at 50% and The state of manual LVM and full disk encryption configuration in Ubuntu’s Ubiquity).
A few distro developers have written new installers, but they are not even as good as Ubuntu’s plain-vanilla installer. A prime example is the installer on Linux Mint Debian Edition (LMDE). Another is Cinnarch‘s. That leaves me wondering why these new installers are being written when the developers could just port an existing one. I’m not a coder, so I do not know how easy or difficult the process is, but given that others have done it, I don’t think it should be that difficult, even when the installer that could be ported belongs to a distro from a different lineage.
Take Sabayon, a multi-purpose distribution based on Gentoo Linux. Its installer is a port of Anaconda, the Fedora Project’s installation program. So if Anaconda can be ported to Sabayon, it should not be that difficult to port YALI.
YALI (Yet Another Linux Installer) is the installer on Pardus, an original distribution (it is not based on any distribution). Development has, for now, ceased. And, as far as I know, it is not likely to be restarted, at least not by the original developers. Aside from YALI, Pardus has other applications that could be ported. The graphical firewall manager, the graphical package manager and Kaptan, the first boot application. Kaptan has already been ported to Chakra, a Linux distribution forked from Arch Linux.
So, what distribution could benefit the most from porting YALI? For one, Chakra, LMDE and Cinnarch could use YALI. Even Ubuntu and by extension, all the distributions that are derived and use its installer.
By my standards, YALI is not feature-complete, but it’s better than the installers of the above distributions. Aside from a beautiful user interface, it has support for LVM and RAID. It also has a restart feature, which is unique to it. The missing features are support for full disk encryption and boot loader password protection.
The following screen shots show most of the steps involved in using YALI.
YALI’s date picker.
Time zone options on YALI.
Setting up user accounts on YALI. The default user login setting is to require authentication to login.
Specifying the root account password and the hostname.
The four partitioning methods on YALI.
Disk partitioning schemes on YALI. LVM, the Linux Logical Volume Manager, and RAID are supported. LVM is the default partitioning scheme.
LVM configuration options
Selecting mount points.
Supported file system types on YALI.
Boot loader configuration step on YALI. GRUB, the GRand Unufied Bootloader, is the boot loader on Pardus 2011. The GRUB version is 0.97, GRUB Legacy. Though YALI does not have support for setting a GRUB password, it is possible to do that after installation.
I’m looking forward to the first distro developer who will port and extend YALI. Any takers?
Update:: A Turkish company appears to have restarted development of Pardus. An end-user version is set to be released by the middle of this year. That version will switch from KDE to GNOME as the default desktop environment. Not sure if that will be GNOME 2 or 3. The company has other ambitious plans, so I’ll be keeping track of their progress. See http://www.pardus.org.tr/ (in Turkish).