Published on

Published in: Economy & Finance, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Debian Intro Introduction to the Debian Operating System Teo Romera
  2. 2. Index <ul><li>Introduction </li></ul><ul><li>Debian Size </li></ul><ul><li>The Debian Philosophy </li></ul><ul><li>Release Strategy </li></ul><ul><li>The Advanced Packaging Tool </li></ul>
  3. 3. Let's start with you <ul><li>What do you know about Debian? </li></ul><ul><li>How do you use Debian? </li></ul><ul><li>What do you like about Debian? </li></ul><ul><li>What you do not like about Debian? </li></ul><ul><li>I switched from Red Hat Linux 5.1 to Debian Slink in June 1999... </li></ul><ul><li>... switched to Ubuntu in Nov. 2004. </li></ul>
  4. 4. Introduction <ul><li>Debian GNU/Linux Operating System </li></ul><ul><li>Started in 1993 </li></ul><ul><li>Founder, Ian Murdock (Debra) </li></ul><ul><li>One of the largest FLOSS projects </li></ul><ul><li>One of the most successful FLOSS projects </li></ul><ul><li>Influential: base for many other distributions </li></ul>
  5. 5. Introduction <ul><li>Unique in its instance towards the philosophy of Free Software </li></ul><ul><li>The Advanced Packaging Tool </li></ul><ul><li>Strict quality control for the releases </li></ul><ul><li>Feature based release management </li></ul><ul><li>Pure FLOSS development processes </li></ul>
  6. 6. Debian Size <ul><li>Probably the biggest FLOSS project </li></ul><ul><li>+26000 software packages </li></ul><ul><li>Supporting 11 different architectures </li></ul><ul><li>+1000 contributors </li></ul>
  7. 7. Debian Size <ul><li>Debian size over time </li></ul>
  8. 8. Debian Size <ul><li>“ Measuring Etch: The size of Debian 4.0” by Juan José Amor et alt. </li></ul><ul><li>Windows XP ~40.000.000 SLOC </li></ul><ul><li>Fedora Core 3 ~70.000.000 SLOC </li></ul><ul><li>Debian ~280.000.000 SLOC </li></ul><ul><li>... that means $ with COCOMO! </li></ul><ul><li> </li></ul>
  9. 9. Debian Size <ul><li>The Linux kernel size grows exponentially </li></ul>
  10. 10. Debian Size <ul><li>What do you think about this growth rate? </li></ul><ul><li>Do you think this applies to Debian too? </li></ul><ul><li>“ Every year (plus a month or so) both the total number of projects and lines of code double! The interesting question is: Can Open Source sustain this exponential growth?” </li></ul><ul><li>-- Amit Deshpande </li></ul>
  11. 11. The Debian Philosophy <ul><li>Debian is in the FLOSS hard wing </li></ul><ul><li>The Debian Free Software Guidelines are the foundation of the OSI's Open Source Definition </li></ul><ul><li>There is also The Debian Constitution and The Debian Social Contract </li></ul><ul><li>These documents formalize the Debian Philosophy </li></ul><ul><li>Software for the Public Interest </li></ul>
  12. 12. The Debian Philosophy <ul><li>The Debian Social Contract </li></ul><ul><ul><li>Debian will remain 100% free </li></ul></ul><ul><ul><li>We will give back to the free software community </li></ul></ul><ul><ul><li>We will not hide problems </li></ul></ul><ul><ul><li>Our priorities are users and free software </li></ul></ul><ul><ul><li>(Allow) Works that do not meet our free software standards </li></ul></ul>
  13. 13. The Debian Philosophy <ul><li>The Debian Free Software Guidelines </li></ul><ul><ul><li>Free Redistribution </li></ul></ul><ul><ul><li>Source Code </li></ul></ul><ul><ul><li>Derived Works </li></ul></ul><ul><ul><li>Integrity of the Author's Source Code </li></ul></ul><ul><ul><li>No discrimination against persons or groups </li></ul></ul><ul><ul><li>No Discrimination Against Fields of Endeavor </li></ul></ul><ul><ul><li>Distribution of License </li></ul></ul><ul><ul><li>License Must Not Be Specific to Debian </li></ul></ul><ul><ul><li>License Must Not Contaminate Other Software </li></ul></ul><ul><ul><li>Example Licenses </li></ul></ul>
  14. 14. The Debian Philosophy <ul><li>All Debian packages are structured in three groups </li></ul><ul><ul><li>Main: They follow the DFSG </li></ul></ul><ul><ul><li>Contrib: They follow the DFSG, but their dependencies may not do it </li></ul></ul><ul><ul><li>Non-Free: They do not fulfill the DFSG </li></ul></ul><ul><ul><li>... </li></ul></ul>
  15. 15. The Debian Philosophy <ul><li>What do you think about the Debian Philosophy? Is it too strict? </li></ul><ul><li>What licenses do you believe to be accepted by Debian? </li></ul><ul><li>Can you find out what is happening with Debian, the GFDL and its invariant sections ? What happened back in 2005? </li></ul>
  16. 16. Release Strategy <ul><li>FLOSS is characterized by a highly iterative development model </li></ul><ul><li>With frequent releases </li></ul><ul><li>But there is always problems with stable releases </li></ul><ul><li>Coordination is specially difficult in release time </li></ul>
  17. 17. Release Strategy <ul><li>Types of releases in terms of the audience they are intended to </li></ul><ul><ul><li>Development releases: for developers and experienced users </li></ul></ul><ul><ul><li>Major releases: for users, well tested, full of features and functionality </li></ul></ul><ul><ul><li>Minor releases: updates, critical defects, security bug fixes </li></ul></ul>
  18. 18. Release Strategy <ul><li>Types of releases in terms of the release strategy </li></ul><ul><ul><li>Feature based releases: when a set of features is ready and tested. Traditional software development. </li></ul></ul><ul><ul><li>Time based releases: there is a planned date for the release. Features that are not ready then, are not included in the release. </li></ul></ul>
  19. 19. Release Strategy <ul><li>Debian follows feature based releases </li></ul><ul><li>The Debian branches </li></ul><ul><ul><li>Etch (Current Stable Version): security updates </li></ul></ul><ul><ul><li>Lenny (Current Testing Version): stability and newer updates. Most used. </li></ul></ul><ul><ul><li>Unstable (sid): may not work as you expect </li></ul></ul><ul><li>Ever used sid for a while? </li></ul>
  20. 20. Release Strategy <ul><li>Very strict criteria for a package to be included in a release </li></ul><ul><ul><li>It sits in unstable for a time </li></ul></ul><ul><ul><li>Less release-critical bugs than the one in testing? </li></ul></ul><ul><ul><li>Compiles for all the architectures? </li></ul></ul><ul><ul><li>The same for all its dependencies? </li></ul></ul><ul><ul><li>Then take it into testing </li></ul></ul><ul><ul><li>The package freezes when testing does </li></ul></ul><ul><ul><li>There is a new release </li></ul></ul>
  21. 21. Well, not as simple as that... © Martin F. Krafft
  22. 22. Release Strategy <ul><li>The Debian project suffers from increasingly delayed and unpredictable releases </li></ul><ul><li>Debian Sarge 3.1 planned for Dec. 2003 and finally released in June 2005 </li></ul><ul><li>Software that is considered out of date </li></ul><ul><li>Did not run on modern hardware </li></ul>
  23. 23. Release Strategy <ul><li>What do you think about this release strategy? </li></ul><ul><li>How would a time based release strategy affect Debian's robustness and security? </li></ul><ul><li>... and popularity? </li></ul><ul><li>Do you think Ubuntu is more popular because it uses time based releases? </li></ul>
  24. 24. The Advanced Packaging Tool <ul><li>APT has always been the killer feature of Debian (IMHO) </li></ul><ul><li>APT brought more users to Debian </li></ul><ul><li>Previously there was dselect </li></ul><ul><li>Ever used dselect ? </li></ul><ul><li>Do it now... </li></ul><ul><li>... you will want to swallow your tongue and die in horrid pain </li></ul>
  25. 25. The Advanced Packaging Tool <ul><li>“ I was attacked by dselect as a small child and have since avoided debian” </li></ul><ul><li>-- Andrew Morton </li></ul><ul><li>(Linux Kernel developer) </li></ul>
  26. 26. The Advanced Packaging Tool <ul><li>Nowadays Synaptic, KPackage or aptitude are front-ends to APT </li></ul><ul><li>APT can: </li></ul><ul><ul><li>apt-get update </li></ul></ul><ul><ul><li>apt-cache search for new packages </li></ul></ul><ul><ul><li>apt-get upgrade packages </li></ul></ul><ul><ul><li>apt-get install or remove packages </li></ul></ul><ul><ul><li>apt-get dist-upgrade distributions </li></ul></ul>
  27. 27. The Advanced Packaging Tool <ul><li>Some tips for APT </li></ul><ul><ul><li>Try it with bash_completion </li></ul></ul><ul><ul><li>Install apt-file </li></ul></ul><ul><ul><li>Apt pinning = Lock Version in Synaptic </li></ul></ul>
  28. 28. Some Links <ul><li>The Debian Project </li></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><li>The Debian Reference </li></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><li>The Apt HOWTO </li></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><li>Release Management in Free Software Projects: Practices and Problems, by Martin Michlmayr et alt. </li></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul>