Ubuntu-Related Projects - The Official Ubuntu Book (2011)

The Official Ubuntu Book (2011)

Chapter 10. Ubuntu-Related Projects

Officially Supported Derivatives

Recognized Derivatives

Other Distributions

Launchpad

Bazaar

Summary

Ubuntu is not merely a complete operating system; it is also the center of a growing ecosystem of distributions. Some, referred to as the partner projects, work closely with and within Ubuntu. Others prefer to work outside the project and are considered full derivatives. Often, these projects are created in order to highlight a specific selection of software or use case, such as the Ubuntu Studio project, which focuses on multimedia creation and editing. Others, like the Lubuntu project, are created by a community of users with specific desires.

Still others are created for reasons connected to the international nature of Linux and open source software. While most Ubuntu development happens in English, there are large developer and user communities in other languages and countries. Thus, a derived distribution might spring up to satisfy that need. There are derived distributions targeted at Christians, Muslims, people with slow computers, and people who prefer to have an Ubuntu system optimized for any of several alternative user interfaces or for use in several different schools and government bureaucracies around the world. Should you use any of these over Ubuntu? We can’t answer that question for you. Some of these projects are fully within and, as a result, not mutually exclusive from Ubuntu and others are based on Ubuntu, but distinct projects. One may be more appropriate than another depending on your preferences or circumstances. You can mix, match, and sample these distributions until you find one that works great for you. As we mentioned in Chapter 1, Ubuntu sees these derivatives as a sign of a healthy and vibrant community. One of the goals of the project is to make it easier for this type of distribution to appear. We can all expect to see more of them in the future.

Officially Supported Derivatives

Officially supported derivatives are those projects that work in close relation with Ubuntu. They share a common repository of packages and release in sync with Ubuntu. These derivatives are officially supported by Canonical in both development and security.

Kubuntu

Kubuntu is the first and oldest of all the partner projects. First released alongside Ubuntu 5.04 (Hoary Hedgehog), Kubuntu, which means “toward humanity” in Bemba, builds on the strengths of the K Desktop Environment (KDE) rather than GNOME as Ubuntu does. The project is led by the Kubuntu Council (an elected group of developers) and an army of volunteers including two Canonical employees (Jonathan Riddell and Aurélien Gâteau).

As with Ubuntu, Kubuntu is a complete desktop, but one built around KDE and Qt. Instead of Ubuntu’s brown theme, Kubuntu opts for a more traditional blue and makes only a few other visual changes. Kubuntu is explored in much more depth in Chapter 8 and so is not given a full treatment here.


Tip

Kubuntu

Kubuntu can be found at www.kubuntu.org.


Edubuntu

Edubuntu is a version of Ubuntu for use in schools and other educational environments and uses the thin client technology of the Linux Terminal Server Project (LTSP) as well as a number of programs aimed at the educational market, such as GCompris and the KDE Education suite. It is led by a team council that coordinates and participates heavily in its development; the members are listed here:

• Scott Balneaves

• Jonathan Carter

• Jordan Erickson

• Alkis Georgopoulos

• Stéphane Graber

• Marc Gariépy

One of Edubuntu’s unique features is the inclusion of the LTSP in an easy-to-use, out-of-the-box installer. LTSP uses a different method of deploying clients over a network than is used in traditional computer deployments. Instead of full-powered computers, LTSP uses thin clients, less capable, cheaper computers that connect to a larger server and have it do all the processing work. LTSP is covered in greater detail in The Official Ubuntu Server Book, Second Edition, also available from Prentice Hall.

Several Ubuntu advocates have leveled the counterintuitive suggestion that the groups of users who have the most problems switching to Ubuntu are those with the most computer experience. For the technically competent, learning Ubuntu often involves unlearning something else. For most of those reading this book, Ubuntu is an alternative operating system for an extraordinarily exciting generation of users. No team or project within Ubuntu has done more to target, support, and grow this group of users than the Edubuntu project.

The community-driven Edubuntu project aims to create an add-on for Ubuntu specially tailored for use in primary and secondary education. Edubuntu exists as a platform consisting of tools for teachers and administrators. The real thrust, of course, and the real purpose, is to put free and open source software into the hands of children. In doing so, Edubuntu provides children with a flexible and powerful technological environment for learning and experimenting. Based on free software, it offers educational technologies that are hackable and that can ultimately be used by students and teachers on their own terms. Distributed freely, its gratis nature serves an important need for schools where technology programs are always understaffed and underfunded. Fluent in Ubuntu and in free software, the children who, right now, are growing up using Edubuntu are offering the Ubuntu community a glimpse of where it might go and the generation of Ubunteros who may take us there.

While the Ubuntu, Kubuntu, and Xubuntu (another recognized derivative covered later in this chapter) desktops highlight the products of the GNOME, KDE, and Xfce communities respectively, the Edubuntu project aims to provide the best of everything in Ubuntu—properly tailored for use in schools and as easy to use as possible. One thing that made Edubuntu popular was its amazing ability to integrate thin clients, allowing the use of one powerful machine (the server) to provide many very low-powered, often diskless machines (the clients), with their entire OS. This model, while uninteresting for most home or business users using workstations and laptops, is a major feature in classroom settings where it can mitigate configuration and maintenance headaches and reduce the cost of classroom deployments substantially.

In 2008, it was decided that the developers of Edubuntu should focus more on bringing the best educational applications to the desktop rather than trying to maintain an entire distribution of their own. As a result, Edubuntu is no longer a distribution like Ubuntu, Kubuntu, or Xubuntu, but rather an “add-on” for users. What this means is that you can easily install Edubuntu using the Ubuntu Software Center in your Applications menu, selecting Education, and then Educational Desktop for Ubuntu or Educational Desktop for Kubuntu.


Tip

Edubuntu

Edubuntu, along with more detailed installation instructions and options, can be found at www.edubuntu.org.


Ubuntu Server Edition

Ubuntu Server Edition was created with the aim of making Ubuntu easy to install and use on servers. The Server Edition was officially launched with Ubuntu 5.04 and initially focused on making certain that the highest quality server applications were available for easy installation and configuration, including MySQL, Apache, and others.

The most recent work has involved improvements to the cloud computing capabilities of Ubuntu Server. This is done via the Ubuntu Enterprise Cloud, powered by Eucalyptus Systems technology, which enables the use and benefits of cloud computing behind a firewall for enhanced security, ease of deployment, and resource allocation.

To learn more about Ubuntu Server Edition, we recommend The Official Ubuntu Server Book, Second Edition, also available from Prentice Hall.


Tip

Ubuntu Server Edition

Ubuntu Server Edition can be found at www.ubuntu.com/products/whatisubuntu/serveredition with further infomation at www.ubuntu.com/cloud and www.ubuntu.com/partners/Eucalyptus.


Recognized Derivatives

Beyond the officially supported derivatives, recognized derivatives use all the same repositories as Ubuntu and release on the same schedule, but they are not officially supported by Canonical in development or security.

Xubuntu

Xubuntu is a version of Ubuntu built on top of the Xfce window management system. In Xubuntu, Xfce and its associated applications play a role analogous to KDE in the context of Kubuntu. Xfce is small and lightweight compared to the much fancier GNOME and KDE. It uses less memory and fewer CPU cycles than either of the alternatives in a normal configuration. While this means that Xubuntu is often seen as having fewer features or being less user-friendly than Ubuntu or Kubuntu, it also means that it runs faster, is more responsive, and tends to run very quickly on older or less powerful computers, where the weight of either GNOME or KDE may make the system prohibitively slow. As a result, Xubuntu has been used frequently by computer recyclers, by the owners of old computers, and by those who just want to squeeze out better performance from their hardware using a more efficient interface.

Like Kubuntu, Xubuntu is community driven and began outside the project in the universe repository of Ubuntu. In releases 5.04 and 5.10, Xfce 4 was supported by a special Xfce Team in Ubuntu. Due to the great work done on Xfce, Xubuntu was brought into the fold and became Ubuntu’s third partner project and a part of the main Ubuntu repository, for release 6.10, where it has remained since.


Tip

Xubuntu

Xubuntu can be found at www.xubuntu.org.


Ubuntu Studio

Ubuntu Studio is a derivative of Ubuntu that is designed and optimized for multimedia production. The system includes a wide variety of applications useful to those engaging in audio and video recording, mixing, editing, synthesis, and production as well as graphics production and manipulation. It contains a modified kernel that allows the system to reduce latency for audio in ways that dramatically improve performance in professional audio recording and manipulation, but the kernel may be inappropriate in other environments. Its first release was based on Ubuntu 7.04.


Tip

Ubuntu Studio

Ubuntu Studio can be found at www.ubuntustudio.org.


Mythbuntu

MythTV is one of the most popular pieces of home theater software, but it has a bit of a reputation as a beast to set up. Mythbuntu is designed to make that setup easy. Like Xubuntu, Mythbuntu uses Xfce as a desktop environment, has a custom-made Mythbuntu Control Center, and has a LiveCD for easy testing. Mythbuntu’s first release was based on Ubuntu 7.10.


Tip

Mythbuntu

Mythbuntu can be found at www.mythbuntu.org.


Other Distributions

Some distributions generally work outside of the Ubuntu community and usually have their own package repositories. They may not release at the same time as Ubuntu. In the past, several of these derived distributions have been built directly upon other distributions, such as Debian, which is also the base for Ubuntu. The changes that Ubuntu developers make in the process of creating the distribution have been seen as positive and useful as a foundation for others with custom needs or desires. The list of derivative distributions has grown rapidly, and as distributions come and go, the list is constantly in flux. While in the first edition of this book, our list was nearly comprehensive, the size of the derivative distribution community has grown so much that compiling a complete list for this book is no longer possible. Instead, we provide a bit of the flavor of the diversity of derived distributions with some examples of the oldest and most visible derived distributions to give you an idea of the scope of the community.

Guadalinex

Guadalinex is the GNU/Linux distribution developed and promoted by the regional government of Andalusia, the most populated autonomous community in Spain with almost 8 million inhabitants. It is currently one of the largest free software implementations worldwide, with more than 200,000 desktops—and increasing. The project is a consequence of the unanimous support of the Andalusian Parliament on the Information Society and Innovation policies approved in 2002 and 2003, urging all the regional institutions to promote and use free software and open licenses. This makes the Guadalinex initiative unique in the world.

Guadalinex was initially released in 2003, and the first two versions were based on Debian. In 2005 the Guadalinex project decided to develop the third version deriving from Ubuntu. Guadalinex version 3 was released in January 2006 based on Ubuntu 5.10 (Breezy Badger), making it the first major Ubuntu derivative. The project is part of a government plan to implement free software as the default option in the public schools. At the beginning of 2006, this project involved 500 schools and approximately 200,000 desktops equipped with Guadalinex and free software only. These numbers increase every year as new courses start every September and new computers are purchased (about 40,000 in 2006). This initiative alone puts Guadalinex in the top position as the biggest free software implementation worldwide. Additionally, the software is used in public Internet access centers, senior centers, libraries, and women’s associations, as well as citizens’ homes. Guadalinex is merely one example of many Ubuntu derivatives created by or in cooperation with governments for use in schools and bureaucracies. It is now only one among many massive deployments of Ubuntu in these settings.


Tip

Guadalinex

Guadalinex can be found at www.guadalinex.org.


Linux Mint

Because Ubuntu is dedicated to using free software by default as much as possible, it does not come with proprietary media codecs installed. That was the reason Linux Mint was originally created. Over time, it has developed a community that focuses on creating an easy-to-use-and-install Linux desktop that is nice to look at with a focus on making things as simple and enjoyable as possible, especially for newcomers. The distribution is completely compatible with and uses the Ubuntu software repositories. The main differences are in the look and feel as well as choices for software installed by default. Linux Mint also produces a Debian-based version.


Tip

Linux Mint

Linux Mint can be found at linuxmint.com.


Lubuntu

Lubuntu is a new derivative that strives to provide an even lighter and faster desktop by using the Lightweight X11 Desktop Environment (LXDE), by default, in place of GNOME, KDE, or Xfce. It is in active development and seeks to become an official variant. While LXDE can be built on many current Linux distributions, it is the native environment of Lubuntu alone. LXDE is still in active development and has not yet produced its first official stable release, making this a true cutting-edge project.


Tip

Lubuntu

Lubuntu can be found at www.lubuntu.net.



Tip

More Derivatives

A list of official and recognized derivatives is kept at www.ubuntu.com/products/whatisubuntu/derivatives, and even more are listed at wiki.ubuntu.com/DerivativeTeam/Derivatives.


Launchpad

As we mentioned in Chapter 1, most of Canonical, Ltd.’s technical employees do not work on Ubuntu. Rather, they work on infrastructure. The majority of this infrastructure is a large collection of services that work together to provide the framework through which Ubuntu is built. This superstructure of related applications is collectively referred to as Launchpad. While it has several non–Web-based systems, it is almost wholly accessible over the Web.

While Launchpad is primarily used to develop Ubuntu, the infrastructure was designed to be useful for any free software project and is becoming more popular. It aims to provide these projects with the code tracking, bug tracking, and translation tracking software necessary to more easily and more powerfully collaborate with others and to develop free and open source software. Each of these functions (code, bug, and translation tracking) is highly integrated, making it much more ambitious, and potentially much more powerful, than traditional Web-based solutions with similar goals. Early on, the Launchpad Web page described the project as follows:

A collection of services for projects in the Open Source universe. You can register your project, and then collaborate with the Open Source community on translations, bug tracking, and code.

That description continues to be valid even as the project has expanded with support and specification modules. In addition to code, bug, and translation tracking, Launchpad provides the ability to deal with code, not just on a per-package or per-project level, but on the distribution level as well. If a bug has been reported against a piece of software in Ubuntu, it is visible to both the upstream and downstream projects. The project can track how its software evolves over time and see, at a glance, whether bugs apply or not. Developers can track translations in a similar way.

The best way to understand Launchpad is to see it in action. This section walks through the individual pieces of Launchpad in more depth. Much of the Ubuntu infrastructure is highly integrated into Launchpad. If you have created an account for contributing to the wiki or ordering CDs at https://shipit.ubuntu.com, you already have a Launchpad account.

Once a source of controversy in the free and open source software world was the fact that the source code to Launchpad was not distributed. This changed on July 21, 2009, when Launchpad and all of its components, including code hosting and Soyuz, were officially made open source using the GNU Affero General Public License, version 3 (AGPLv3).


Tip

Launchpad

Launchpad can be found at www.launchpad.net.


Soyuz

Soyuz is the distribution and archive management software integrated into Launchpad. It handles all of the automatic building of software in Ubuntu on each of the architectures and the integration of successfully built software into the archive. Soyuz means “union” in Russian and is the name of the spacecraft that Mark Shuttleworth traveled in during his voyage to space.

Soyuz works almost entirely behind the scenes. It was first activated in early February 2006, but had no initial effect on the way software was uploaded or downloaded in Ubuntu. What Soyuz does is to integrate the process by which software is built and inserted into different parts of the Ubuntu archive. The building of software cannot be tracked using the Launchpad Web infrastructure.


Tip

Recent Builds

The status of recent builds in Ubuntu can be found at https://launchpad.net/distros/ubuntu/+builds.


Launchpad Translations

Translations, commonly called Rosetta, is a Web-based translation system integrated into Launchpad. It was the first piece of Launchpad to be publicly released. It is codenamed Rosetta after the Rosetta Stone, the famous piece of dark gray granite with the same text in three scripts that led to the deciphering of Egyptian hieroglyphics.

Rosetta is a Web-based version of a “PO” file editor. In other words, it provides a simple mechanism by which translators can view a list of untranslated phrases or strings and then translate each of them into their language. At the moment, the system works only with translations from English. Rosetta’s non–Web-based predecessors include Kbabel and Gtranslate, both of which can be downloaded and installed on Ubuntu. By putting this functionality on the Web and integrating it into the archive management scripts, Rosetta lowers the barrier of entry for translation and increases the chance that a translation will make it into the distribution.

Rosetta includes each of the translatable strings contained in every application in Ubuntu. When new software is uploaded into Ubuntu, Rosetta will check to see if any strings have changed or been added. Changes to a string that has previously been translated will result in the translation being marked as fuzzy until a translator can check the translation and the new string, make any necessary changes, and then mark the translation as no longer fuzzy. By tracking new strings, Rosetta can easily prompt translators with new strings to translate as they appear as well as provide statistics on the percentage of strings within a particular application or within all of Ubuntu that have been translated into a particular language.

As users translate strings, they build up positive “karma” within the system—an innovation that has now been deployed to many other parts of Launchpad. Users can also work together in localization teams (called l10n teams because the word localization has ten letters between its first and last letters). Rosetta provides a great way for Ubuntu users to get involved in the distribution. Anybody who knows English and another language can begin contributing. Because the system is integrated into Launchpad, users do not need to submit their translations a second time to have them included in Ubuntu—the project already has them. After they are submitted in Rosetta and approved, new translations are automatically pushed out to users who use Ubuntu in those languages.


Tip

Translations

Translations can be found at translations.launchpad.net/.


Launchpad Bugs

Launchpad Bugs, commonly referred to by its codename Malone, is a Web-based bug system like the Mozilla project Bugzilla, which might be familiar to some users. It provides a location where users can file bugs they find in their Ubuntu software by using easily accessible pieces of software such as Bug Buddy or by reporting over the Web. Malone’s name is a reference to the gangster movie musical Bugsy Malone.

Malone’s first role is to provide a location where users can submit bugs. Malone is not just a way to collect complaints, though. Rather, its job is to track and record a bug through its full life cycle, from report to close. Bugs can be assigned to a particular developer or reassigned. If the bug is, in fact, the result of another application, the bug can be reassigned to another package. Bugs can be rated according to severity, or tagged and categorized in any number of useful manners. Information, files, and patches that fix a bug can be uploaded into Malone. When the bug has been resolved, it can be closed. The Malone bug report provides a single venue in which to collect information from the bug submitter, the bug fixer, the upstream maintainer if necessary, and any other involved party.

All of this, of course, is exactly what you would expect from any usable modern bug tracker. Where Malone aims to distinguish itself from its competitors is through its integration in Launchpad. First and foremost, this means that users of Malone can track the status of a bug as it relates to a particular patch or a particular piece of code. Because Ubuntu supports every release for 18 months and some releases, such as Ubuntu 10.04 LTS, for much longer, it’s important that Ubuntu be able to track which bugs show up in which releases. As derivative works of Ubuntu are created in Launchpad, Malone also allows these derivatives to use Malone to see whether bugs submitted against Ubuntu or other distributions apply to their code and, if so, to quickly grab a fix.

As with Rosetta, Launchpad karma can be built up by fixing, reporting, and interacting with bugs over time. Bug triage that involves closing irreproducible bugs and merging duplicate bugs is one way that users can build up their karma. Of course, simply running developer versions and submitting new bugs is another great way to build good karma.


Tip

Bugs

Bugs can be found at bugs.launchpad.net.


The Launchpad Blueprint Tracker

The Launchpad Blueprint Tracker, or Blueprints, is Ubuntu’s custom specification and feature-tracking system. Blueprints provides a way that users can create specification pages, linked into the existing Ubuntu wiki, for features they would like to see in Ubuntu. Other interested parties can use Blueprints to subscribe to specifications or proposals they are interested in to collaborate on the development of the specification and to track progress. Over time, users working in the wiki and in Blueprints help new ideas through a process that starts with “braindump”—a very rough collection of ideas and brainstorming—and ends with an implemented feature. In Ubuntu, this process involves (1) review by the community and trusted members and (2) approval by decision makers and the Ubuntu Technical Board or by appropriate team leaders and councils. Blueprint provides technology to support this process and ensure that nothing important is dropped on the floor.

In particular, Blueprints helps leaders and decision makers on Ubuntu prioritize features and specifications and ensure that work is progressing on necessary features toward on-time completion for releases. As a result, Blueprint is used as both the primary specification tracker and the major release management tool for Ubuntu.

While Blueprints is extremely useful for technical specifications, it is also used heavily for developing and tracking community-related proposals as well as for brainstorming stages into implementation. Blueprints also has features designed around sprints and conferences to help organize sessions and coordinate groups to bring forward specifications. As a final bit of trivia, it’s interesting to note that Blueprints was also written largely by Ubuntu founder and financier Mark Shuttleworth himself!


Tip

Blueprints

Blueprints can be found at blueprints.launchpad.net.


Launchpad Answers

Launchpad Answers is a technical support tracker built within Launchpad for use by Ubuntu and other free software projects hosted in the system. It allows community members to file support requests and other community members to help resolve those requests. Unlike most other systems, questions can be asked and answered in a variety of languages. Launchpad Answers tries to complement other forms of community support in Ubuntu by providing a familiar ticketing system that also catalogs answered questions, allowing users to easily find answers to questions that others have asked before. Users can file support requests and communicate with volunteer community support contacts to provide more information, to discuss issues, and to note that their issues are resolved. In addition to storing the answers in a way that makes them searchable, Launchpad Answers helps contextualize support requests by integrating them with other Launchpad features to show the connections and context of relevant bugs, translations, people, teams, and the variety of versions in the variety of releases tracked by Launchpad. Of course, karma can be built by interacting with Launchpad Answers and, in particular, by answering questions.


Tip

Answers

Answers can be found at https://answers.launchpad.net.


Other Functionality

In addition to the visible flagship products within Launchpad just discussed, Launchpad has several other important uses. We’ve already alluded to the fact that Launchpad handles all the authentication for all the Ubuntu Web sites. If you want to edit or create a Web page in the Ubuntu wiki or even order a CD, you must first create an account in Launchpad. In addition to holding a username and password, a Launchpad account can contain rich information about each individual, including a GNU Privacy Guard encryption key, wiki pages, contact information, and more. More important, Launchpad also contains representations of every team and group within Ubuntu and handles permission within the entire Ubuntu world. For example, the only people who are allowed to upload core packages to Ubuntu are people who are part of the Ubuntu Core Developers Team in Launchpad.


Note

The system is also playing an increasingly important role in coordinating sprints and tracking events in a calendar. With time, Launchpad’s functionality is only likely to grow, and its help in supporting the new type of development will grow with it.


Bazaar

Bazaar is a distributed revision control system. What does that really mean? First, a revision control system is a program that tracks how the source code of a program changes. It tracks what each specific change was, such as the addition of a new piece of code, as well as who made the change. It also allows a developer to roll back to a previous version or create a branch, or a separate and parallel code version, to try a new idea without forcing the change on the main code.

The second key piece about Bazaar is that it is distributed. Traditional revision control systems have a single place where the code is stored. Only certain people can access this place and change the code there. A distributed revision control system is different in that there is no single place for code storage. Each branch a developer is working on is equal, and they all take code from each other. This system is much like a number of equal merchants at a bazaar, hence the name.

Bazaar started out as a fork of the Arch distributed revision control system. (A fork means that the developers disagree on where to take the program, and they break into different groups to work toward each group’s different goals.) However, Bazaar 2 was completely rewritten, as it was found that the then-current code did not work in the long term.


Tip

Bazaar

Bazaar can be found at bazaar.canonical.com.


Launchpad Ground Control

Launchpad Ground Control is a new project that aims to make the use of the collaborative features of Launchpad and Bazaar easier for everyday users. To accomplish this, a new package may be installed by users on their computer that integrates Launchpad with their desktop, enabling the use of Launchpad and Bazaar without using the command line. It does so in a way that is completely compatible with all the command-line methods, so it is possible to switch between the methods without harming the project at hand.


Tip

Ground Control

Ground Control can be found at https://launchpad.net/groundcontrol.


Summary

In addition to building a great OS that many people use, the Ubuntu project has developed an OS that those building other operating systems use as a basis to build from. This has come in the form of both internal partner projects and external derivative distributions. Together, these span languages, continents, and markets. Also, Ubuntu is tightly linked to Canonical, Ltd.’s other projects, Launchpad and Bazaar. While Bazaar provides a compelling version control system, Launchpad provides a one-stop show for bugs, translations, and much more.