December 18, 2012

The 5 Most Important Linux Projects of 2012

Mageia Linux

Mandrake Linux was my best early experience with Linux, way back in the last millennium, back when literal floppy disks roamed the Earth and 4 megabytes of RAM was riches. Back then you could buy boxed sets of Red Hat Linux in stores, and Red Hat was popular as a desktop Linux. Red Hat had good printed manuals, but it had one difficulty: it did not support as much hardware as Mandrake, and I had a lot of trouble getting 3D acceleration on my video card. Red Hat didn't support my fancy Promise 66 IDE controller, so I had to connect my hard drive directly to the poky old 33Mhz controller on the motherboard. It didn't like my sound card either.

Mageia

So I tried Mandrake, which was originally forked from Red Hat, and it was a revelation. It recognized all of my hardware, and before I knew it I was playing Tux Racer in utter happiness, with full graphics acceleration and sound.

Mandrake has had many ups and downs since those golden early years. Mandrake lost a trademark lawsuit with King Features Syndicate -- King Features was all worked up that Mandrake Linux infringed on their comic character Mandrake the Magician. So Mandrake became Mandriva, which is a combination of Mandrake and Conectiva. Conectiva was a Brazilian-based Linux company that Mandrake acquired.

There is too much more Mandriva drama to recount here, so let's cut to the chase, and that is Mageia forked from Mandriva in 2010. "Mageia" is a Greek work for "magic", so haha King Syndicate. Mageia has all the Mandrake/Mandriva goodness of old, is polished and well-supported, and has one of the best KDE4 implementations. It has excellent graphical system administration tools, supports KDE4, GNOME3, XFCE, LXDE, E17, Fluxbox, OpenBox, IceWM...in short, Mageia takes the same kitchen-sink approach as Mandrake, and gives you everything Linux has to offer. There is also a nice server version with advanced tools like Puppet, a high availability stack, MariaDB, NoSQL servers, multiple HTTP servers, multiple mail servers...even the server edition has it all.

BtrFS

BtrFS, the advanced Linux filesystem, finally found its way into some production systems this year. SUSE Enterprise Linux is big on BtrFS, and offers enterprise support for it in the latest SLES release.

What makes BtrFS such a big deal? It is designed for large-scale operations, which aren't just big businesses with giant storage servers, but even home users are accumulating terabytes of stored data. BtrFS handles giant volumes and giant files, and just as importantly, it has good administration tools. Some of the features it supports are:

  • Storage pools, for allocating storage volumes dynamically and efficiently. BtrFS pools can span multiple hard disks. (Replaces LVM)
  • Built-in RAID
  • Copy-on-write-- live data are never overwritten, but rather written to a new block before committing the write and changing the pointers.
  • The background scrub process finds and fixes errors on live filesystems
  • Seed new filesystems: Start with a readonly filesystem that is a template for seeding new filesystems. The original is never changed, and changes are written to the new filesystems.

Snapshots, rollbacks, efficient incremental backups, maximum file and volume size of 16 EiB...BtrFS is a true next-generation filesystem. The BTRFS Fun page on Funtoo is a great howto for BtrFS beginners.

Raspberry Pi

I must agree with my colleague Katherine Noyes, who calls Raspberry Pi one of the top innovations of the year. Raspberry Pi is a credit-card sized single-board computer that costs $35. Plug in a keyboard, TV or DVI/HDMI monitor, and an SD card with a supported Linux installed (Raspbian is recommended), and you have a little PC all ready to go to work.

Raspi_Iso_Blue.png

Raspberry Pi was originally conceived as an educational computer for kids, and as it evolved into its final design it became irresistible to adults as well. It's a sobering lesson in the chronic roadblock of Free software: open hardware, or the lack thereof. It took three years and a lot of work with hardware manufacturers to bring it to market, and it's still not a completely open device. It relies on closed Broadcom firmware, and the closed ARM platform.

And yet it has a unique advantage -- it is available now, and it has already inspired a large community of hackers, authors, users, and creative types of all kinds putting it to work and learning. Today's enthusiasts are tomorrow's computer scientists, and the more bridges to Linux and FOSS the better.

Debian Linux

It is fun to play with the steady stream of new things that are birthed every day in Linux-land. New distros! New desktops! New desktop wars! New filesystems, science, art, security, games, programming languages, all this newfangled mobile stuff-- it's a never-ending feast.

And yet the bedrock of all of this is not discarded and re-invented every time somebody gets bored, but continues on a steady path of iteration and improvement. Debian is one of the two fundamental Linux distributions from which most others are born. Ubuntu, Mint, Mepis, Knoppix, DouDou, aptosid, Raspbian, Crunchbang, Damn Small Linux, and Dream Studio are just a few. If you look at the Debian family tree you see that Ubuntu and Knoppix have been influential and inspired many descendants.

http://www.debian.org/Pics/spacefun.png

Debian was the first to have a dependency-resolving package manager, apt-get. Dependency conflicts are rare in these here modern times, but back in the olden days knowing how to untangle dependency conflicts was a necessary skill. Debian's system for satisfying the needs of users who want just Free software on their systems, and users who need some proprietary software ingenious and still the best: Free and non-free are sorted into separate repositories, so it's dead easy to control what goes on your system. Kernels and packages are typically not modified very much, and so they track their sources closely. Debian is huge; it supports more hardware architectures and packages than any other distribution.

The Debian community is a long-running experiment in pure democracy, though some call it anarchy. Whatever you call it, its development and release methodologies are formal and disciplined, it has a constitution, elected officers, and formal procedures for making decisions. Everyone is an unpaid volunteer, and Debian is always available for free. It's a first-rate distribution known for stability and reliability.

Red Hat

Red Hat is the other foundational Linux distribution, and the wonderful Wikipedia supplies us with a complete Linux family tree. Red Hat occupies an opposite niche from Debian: it is a commercial enterprise distro. Red Hat the company has been a major financial supporter of Linux from their inception, paying developer salaries and funding a considerable amount of development. They have purchased several proprietary software companies over the years, for one example Qumranet, and opened the code. Qumranet became the KVM open-source hypervisor.

redhat-logo-cloud.jpeg

Once upon a time in the last millennium you could buy boxed sets of Red Hat Linux in stores, and download free .iso images. Then the company changed direction to focus on the enterprise. Red Hat 9 was their last retail desktop, the name changed to Red Hat Enterprise Linux, and they went to more conservative release cycle. Fedora Linux replaced Red Hat Linux as their community release, with shorter release cycles and newer, even bleeding-edge, packages and technologies.

Red Hat is committed to Free software, and so you can get the source code for free. It is packaged in source RPMs rather than a nice easy .iso, so the easiest way to get RHEL for free is to download CentOS, Scientific Linux, or one of the other RHEL clones that package the SRPMs for you.

As you can see in the family tree, the bulk of creative energy these days is in the Debian and Ubuntu branches, while there are fewer Red Hat and Fedora offshoots.

Honorable mentions go to Slackware, Gentoo, and Arch Linux, which are all foundational distros with their own descendants. All three are first-rate distros with hordes of equally-excellent children, and a lot of active development.

What Else?

There are literally hundreds of important and useful Linux projects to choose from. Linux Mint is a beautiful polished distro with one of the best Xfce implementations. Automotive Linux is red-hot, the Humble THQ Bundle raked in over $5 million from eager Linux gamers , Valve Software is rolling out games to Linux,  the Linux kernel continues its amazing success as the ultimate general-purpose operating system kernel of all time, the wealth of high-quality multimedia and artistic programs continues to grow, big distributed science and research projects, supercomputing, mobile, and everything in between. Doubtless you find readers have your own ideas about what the most important Linux projects are, so please share them in the comments.

==========

Edit: What about Android? My thoughts on Android are similar to my colleague Joe Brockmeier's, in The 10 Most Important Open Source Projects of 2011. It's not very open, and it's not intended to be hackable, so projects like CyanogenMod emerge as a workaround to its closed nature. Contrast this with Raspberry Pi, which has some closed hardware components, but it designed to be as open and hackable as possible.