Ubuntu and Debian: To Fork or Not To Fork ------------------------------------------ :Author: Benjamin Mako Hill :Contact: mako@ubuntu.com :Date: Wed, 16 Mar 2005 22:25:17 +0100 :Copyright: `Creative Commons ShareAlike License `_ Introduction ----------------------------------- .. Note:: Slide 1 Show the title slide. Introduce myself and my backgrond. Debian -------- Introduction ,,,,,,,,,,,,,,,,,,,,,,,, Here's my quick introduction into Debian. Debian is a distribution of GNU/Linux -- it's a collection of software all made to run together. The atomic unit of a distribution is a "package." Quick Facts ,,,,,,,,,,,,,, .. Note:: Slides 2 - Debian overview Debian Quick Facts: I've heard Debian described as a big place with lots of packages. It is a collection of all sorts of software. * Debian contains over 15,000 packages (and growing by 5 each day); * Debian involves the work of 1,000 *official* volunteers and many non-official; * Debian includes the work of many companies and organizations; * Debian is 100% free software; Good Things ,,,,,,,,,,,, .. Note:: Slide 3 - Things Debian Does Well There are great things about Debian and some less great things. What those are will depend a bit on who you ask but you get common answers. What many people say is that are some things Debian has a history of doing very well (these things people like about Debian): * Supporting many, many packages. * Excellent package management tools -- ``apt-get`` as one example; * A consistent (and enforced) distribution wide policy; * A huge volunteer base; * A commitment to Free Software philosophy; Not So Good Things ,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 4 - Things Debian Does Badly (can go through quickly) There are some things Debian has a history of not doing quite as well: * Releasing frequently and/or predictably; * Ease of use/usability (especially the installer) for beginners; * Consistency on the desktop; * Accountability (in the corporate or institutional sense); It's important to note that many of these things are getting better in Debian (the installer is a good one) and are merely a matter of time while some seem to be rather systemic limitations brought on by what Debian is. Customization --------------- Intro: One Size Fits All? ,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 5 The reason there are so many derived distributions is that one size does not fit all. Debian has enough *stuff* in it that it can be treated a place to work from rather than a solution. Debian may not be everything for everyone but it can provide the stuff to work from. Reasons for forking: * Debian is *both* KDE and GNOME * Debian doesn't release often enough * Debian won't pay someone to do X or Y * Debian doesn't include this (probably non-free) piece of software * Debian doesn't do X fast enough. Introduction into Derived Distros ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 6 **There are 115 separate Linux distributions based upon Debian.** *INSERT LARGE LIST HERE* There are only ~80 based on Redhat! The Most Recognizable Include ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 7 * Knoppix * Linspire (Lindows) * Libranet * MEPIS * Ubuntu * UserLinux * Xandros I'm forgetting more. What Customizers Want to Do ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 8 Just a quick overview to run through first. Then I'm going to go into technical detail. The problems/goals of customizers can be broken down into the following pieces: * Custom software selection; * Custom software configuration; * Software replacement; * Custom installers/environments; Plus: * Gain from others work; * Share your work; To Fork Or Not To Fork ,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 9 A fork is a split in a software project. There have been some famous forks (emacs, GCC) but it almost always involves both an organizational and political split and a split in terms of code leaving us with two projects and two source repositories. Forking has benefits (there's a reason people do it): * Freedom to pursue different idea of how things should be done. Forking has some serious drawbacks though: * Reproduction of work in a way that that Free Software was supposedly going to be able to avoid. * Security updates, installer issues, translations, etc Case Study - Ubuntu -------------------- .. Note:: Slide 10 Ubuntu is an example of a project that I have been involved in that is experimenting and trying to restructure the "hard fork" in a ways to maximize benefits of forking while minimizing the reproduction of work, and other drawbacks: Ubuntu is interesting because it's the closest thing we have to a full fork. Ubuntu is a Zulu word that means humanity toward other and sharing. Joke: We didn't just make this word up -- as some have accused us of doing. :) Ubuntu is a Zulu word that in English means something like: *Humanity towards others.* Another translation would be: *The belief in a universal bond of sharing that connects all humanity.* Desmond defined Ubuntu in the following way: A person with Ubuntu is open and available to others, affirming of others, does not feel threatened that others are able and good, for he or she has a proper self-assurance that comes from knowing that he or she belongs in a greater whole. -- Archbishop Desmond Tutu, from "No Future Without Forgiveness" Ubuntu is a pretty common concept in South Africa. There are pictures of billboards that people routinely send us about "Ubuntu this" or "Ubuntu that." You may be thinking, "Yes, but what does this have to to with GNU/Linux or Free Software?" I'll come back to that in a second. I promise there's a connection. Meanwhile... Somewhere in South Africa ,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 11 - Mark Shuttleworth, my boss is a cosmonaut Meanwhile, somewhere in South Africa, Mark Shuttleworth decides he wants to give back to and get involved with Debian and fix some of those problems above (I'll go into what these are in a moment). For those that don't know Mark: * He founded Thawte which was a business that used Debian; * I've heard him claim he thinks he was the first person to upload Apache to Debian; * He was the first African in Space; * Funds lots of Free Software work in South African in particular but globally as well; * He founded Canonical Ltd. to, among other things, create a new distribution that was one being done differently (and better) than the others he saw. Ubuntu is Born ,,,,,,,,,,,,,,,, .. Note:: Slide 12 - Ubuntu is born (big Ubuntu symbol) Ubuntu's original name was, and I'm serious, "no-name-yet.com" Finally, Mark settled on the name Ubuntu which he though represented the spirit of sharing and cooperation that he found appealing in Free Software. ?Joke: People say that Ubuntu is the distribution with the funny name -- but that's only because they've never heard of "Beernix, Penguin Sleuth,or Overclockix -- some of other 114 Debian based distributions. In terms of the Ubuntu Linux Distribution, "Ubuntu" refers primarily to the cooperation inherent in the Free Software or Open Source development model. Richard will talk a lot more about this soon so I won't go into any more depth here than necessary. * Funded outside of Debian * Goal is to create regular releases and a tighter more integrated desktop environment based on GNOME. * Ubuntu splits from Debian every six months (completely) and then send patches back to Debian as they are made but applies them in their own repository. * Labor intensive (and requires version control magic) but Canonical has the resources for both. Ubuntu in a Nutshell Part I ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 13 - Ubuntu in a nutshell * Based of Debian "unstable"; * Frequent, predictable releases: Problem: "Releasing frequently and/or predictably;" People are upset because Debian doesn't release: * often enough (people are stuck with old software) * predictably is also a problem for people who don't care about frequency but have business plans based on time that they need to balance This introduces security issues as well because people expect frequent releases: * Debian has a system called testing and one called unstable. testing is often a good choice for many people, but Debian doesn't officially support security fixes in either testing or unstable. Solution: Ubuntu will release Every Six Months! * releases based off of Debian unstable * twice a year * eighteen months support for releases * smooth upgrade paths between releases * Give back to Debian while we do the work and fix the bugs (not at release time); * Provide corporate accountability: Joke: You may notice a similarity between the Ubuntu and Canonical logos. That was completely accidental. :) Problem: Debian isn't accountable in the corporate or institutional sense People want someone to turn to for support or service. They wan to be able to call up the authors. Debian's structure makes it very difficult for Debian to provide this in meaningful way. Solution: Canonical offers a single support place for services contracts. Ubuntu in a Nutshell Part II ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 14 Problem: Ease of use (especially the installer) for beginners This problem is relatively self-explanatory. Joke: About the Pope. Lets stop talking about the grandmothers and focus on software that is "easy enough that the pope could use it." Solution: * Ubuntu pays folks to work hard on the Debian installer to improve it in Debian. Additionally, Ubuntu modifies the installer for branding and to remove questions or add defaults. By default, the Ubuntu installer Just Works. We don't *have* to be everything to everyone. We don't have to run on every architecture. * GNOME to the rescue * Consistency + Simplicity == Ease of Use * Strong commitment to free software principles (plus a few of our own) -- I'll come back to this in one moment; If you look at this at this, this looks like a lot like my list of Debian criticism of Debian that I gave earlier. Lets go back to those criticisms people have with Debian as a way of getting at what Ubuntu does well. Transition: You may be thinking here: "But what about the things Debian already does well?" We don't to sacrifice these things so we've tried to find ways of balancing this while also not duplicating the work in Debian. Size ,,,,, .. Note:: Slide 15 - balancing big and small Joke: We're not interested in beating anybody anyway! That just wouldn't be in the spirit of "Ubuntu." As mentioned before, Debian is big in terms of both packages and the number of developers. Clearly, Ubuntu can't be bigger than Debian so we'll just collaborate: Ubuntu only contains 2000 supported packages but *everything* else in Debian is included in ``universe`` so you don't have to give up anything to use Ubuntu. * About 10000 packages in Universe (and growing!) * Work on multiverse for even more! Thie situation is the best of both worlds. Philosophy ,,,,,,,,,,,,, .. Note:: Slide 16 - philosophy We keep Debian's commitment to Free Software. Our principles are, in spirit, similar to the Debian social contract and our licensing guidelines are similar to the Debian Free Software Guidelines or the Open Source Definition. Note: Page through the philosophy point by point * We don't hold binary firmware and documentation up to the standards (RFCs and GFDL documentation can go into Ubuntu). * Binary drivers are included for people that want to make the adult decision to use them in a section called "restricted." We cannot, however, support these since they are not free software. Joke: I wrote the free software philosophy page and made it as radical as I could. Everyone actually agreed with me which was a great surprise! Other Benefits We'd Like To Keep ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .. Note:: Slide 17 - Other things we like to keep. * The consistent (and enforced) distribution wide policy; * Excellent package management tools -- ``apt-get`` for example. We borrow heavily from Debian in these and other areas. In terms of package tools, we use apt-get and the like. We are also building new functionality into the tools by paying the package maintainers to do the work on their own tools, that go back to Debian: We've hired to the dpkg, apt, and synaptic maintainers to improve their tools and to add new features. Back To Forking ,,,,,,,,,,,,,,,,, .. Note:: Slide 18 - A fork? Ubuntu is, under most traditional definitions, a fork. That said, Ubuntu is not a traditional fork: * We're contributing heaps of patches back to Debian (we did this even before we had a name). * We have hired many Debian developers (I'm a DD, and so are almost everyone other Ubuntu developer so far). Even people who are not hired. * Ubuntu realizes it can't exist without Debian -- not Debian as the place we started from but as the place that we continue to build of of over time. We understand we need to work with and in Debian. * We aim to be a commercial *and* community project Summary ----------- .. Note:: Slide 19 - Summary * The problem: Debian is great -- But can't be everything everyone wants it to be at once. * The Answer: Balance the global and local in creating infrastructure to select, configure, replace, and install/use software in different ways. * The result: - Paradoxically both diverging and building on Debian - A single united goal of inter-project and inter-distribution collaboration and Total World Domination. Getting Debian and Ubuntu ---------------------------- .. Note:: Slide 20 - How to get Debian and Ubuntu You can get Debian online at http://www.debian.org and you can also order CDs from a number of different places. Ubuntu you can get it: * online where you can download it * from shipit.ubuntulinux.org