home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2004 March / VPR0403.ISO / talks / 252 / paper.dkb < prev    next >
Encoding:
Extensible Markup Language  |  2003-09-18  |  22.1 KB  |  536 lines

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <article id="paper-252">
  3.   <articleinfo>
  4.     <title>Managing Debian</title>
  5.     <author>
  6.       <firstname>Martin</firstname>
  7.       <surname>Michlmayr</surname>
  8.     </author>
  9.     <copyright>
  10.       <year>2003</year>
  11.       <holder>LinuxTag e.V.</holder>
  12.     </copyright>
  13.   </articleinfo>
  14.  
  15. <section>
  16.   <title>Introduction</title>
  17.  
  18.  
  19. <para>Debian is one of the most unique Free Software projects in existence
  20. today.  Not only is it one of the largest and most successful projects, it
  21. is also unique in its stance towards the philosophy of Free Software.  The
  22. project has defined the <ulink
  23. url="http://www.debian.org/social_contract#guidelines"> Debian Free
  24. Software Guidelines</ulink> which have later been adopted as the foundation
  25. of the <ulink url="http://www.opensource.org/docs/definition.php">Open
  26. Source Definition</ulink>.  Furthermore, Debian has a <ulink
  27. url="http://www.debian.org/social_contract">Social Contract</ulink> in
  28. which the project lists its priorities and its promises explicitly.  The
  29. document consists of five points:</para>
  30.  
  31. <itemizedlist>
  32.  
  33. <listitem><para><emphasis>Debian Will Remain 100% Free
  34. Software:</emphasis> the project promises that the Debian GNU/Linux
  35. distribution will always be free according to the Debian Free Software
  36. Guidelines.</para></listitem>
  37.  
  38. <listitem><para> <emphasis>We Will Give Back to the Free Software
  39. Community:</emphasis> software written for Debian will be free and made
  40. available to the whole community.  Furthermore, bug fixes and enhancements
  41. for existing software will be given back to the author of that
  42. software.</para></listitem>
  43.  
  44. <listitem><para><emphasis>We Won't Hide Problems:</emphasis> the project
  45. maintains an open Bug Tracking System (BTS) in which information about all
  46. known bugs can be found.</para></listitem>
  47.  
  48. <listitem><para><emphasis>Our Priorities are Our Users and Free
  49. Software:</emphasis> we will be guided by the needs of our users and the
  50. Free Software community.</para></listitem>
  51.  
  52. <listitem><para><emphasis>Programs That Don't Meet Our Free-Software
  53. Standards:</emphasis> software which is not free according to the Debian
  54. Free Software Guidelines might still be needed by our users.  While such
  55. software cannot become a part of the Debian distribution, there are
  56. <emphasis>contrib</emphasis> and <emphasis>non-free</emphasis> areas on our
  57. FTP servers for software which is free but depends on non-free software and
  58. for non-free software itself, respectively.</para></listitem>
  59.  
  60. </itemizedlist>
  61.  
  62.     <para>
  63.       <inlinemediaobject>
  64.         <imageobject>
  65.           <imagedata fileref="picture-252-01.jpg" format="JPG"/>
  66.         </imageobject>
  67.       </inlinemediaobject>
  68.     </para>
  69.  
  70. <para>Debian GNU/Linux is the most comprehensive Linux distribution
  71. available to date.  It has over 10,000 packages and is available for 11
  72. architectures.  Debian GNU/Linux 3.0 (woody) has been released for alpha,
  73. arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 and sparc and
  74. other ports are in development.  Debian is created by a large number of
  75. volunteers who are distributed all over the world.  In total, there are
  76. over 800 official Debian developers and more than 200 other contributors.
  77. An interesting question is how Debian actually works. How can so many
  78. volunteers, distributed all over the world, work together effectively and
  79. produce a distribution with such a high degree of complexity?</para>
  80.  
  81. <para>One important factor which helps to keep Debian together and
  82. work smoothly is certainly the project's organizational
  83. structure and its infrastructure.  Debian has existed for almost
  84. 10 years and, over the time, the project has established a solid
  85. infrastructure which works very well.  In the following, the
  86. organizational structure and infrastructure which makes Debian
  87. work will be introduced.  It will also be investigated who
  88. carries out coordination and management tasks in the project and
  89. how this is done.</para>
  90.  
  91. </section>
  92.  
  93.  
  94. <section>
  95. <title>The Officers</title>
  96.  
  97. <para>In general, Debian has a very flat hierarchy.  With some exceptions,
  98. all official Debian developers have the same rights.  This is one of the
  99. reasons why Debian has a very thorough application process.  Once an
  100. application is accepted, they can upload packages to the main archive of
  101. Debian.  Those packages are installed on an individual's computer as
  102. <emphasis>root</emphasis> and therefore packages can maliciously or
  103. accidently cause great damage.  Hence, the <ulink
  104. url="http://nm.debian.org/">New Maintainer</ulink> process, which admits
  105. new Debian developers, checks the identity, philosophy (with regards to
  106. Free Software and the Social Contract) and technical skills of an
  107. applicant.</para>
  108.  
  109. <para>The great exception to the flat hierarchy are Debian's officers who
  110. have a special status as defined in Debian's <ulink
  111. url="http://www.debian.org/devel/constitution">constitution</ulink>.  As
  112. the Debian project grew, it became apparent that there needed to be a set
  113. of semi-formal rules to help in conflict resolution, and as a result the
  114. constitution was written. The Debian constitution   describes the
  115. organizational structure for formal decision making in the Project. The
  116. constitution delineates who makes decisions, and what powers are attached
  117. to each such decision making individual or body.  The officers listed in
  118. the constitution consist of the Debian Project Leader (DPL), the Project
  119. Secretary and the Technical Committee.</para>
  120.  
  121. <section>
  122. <title>The Project Leader</title>
  123.  
  124. <para>The Debian Project Leader (DPL) is the official representative of the
  125. Debian Project.  He or she has two main functions, one internal and one
  126. external.  In the external function, he represents the Debian Project to
  127. others.  This involves giving talks and presentations about Debian and
  128. attending trade shows, as well as building good relationships with other
  129. organizations and companies.  Internally, the Project Leader manages the
  130. project and defines its vision.  He should talk to other Debian developers,
  131. especially to the delegates, to see how he can assist their work.  A main
  132. task of the Project Leader therefore involves coordination and
  133. communication.</para>
  134.  
  135. <para>The Project Leader is chosen in an election in which all Debian
  136. Developers are eligible to vote.  The Project Leader's term of office is
  137. one year.  Nine weeks before the leadership post becomes vacant, the
  138. Project Secretary initiates a new election.  During the first three weeks,
  139. any Debian Developer can become a candidate for this post by nominating
  140. themselves.  The next three weeks are used for campaigning.  Each candidate
  141. posts their platforms and everyone can direct questions to one or all
  142. candidates.  The last three weeks consist of the polling period during
  143. which developers may cast their votes.</para>
  144.  
  145. <para>Here are some examples of specific tasks the DPL performs:</para>
  146.  
  147.   <itemizedlist>
  148.  
  149.     <listitem><para>Appoint Delegates or delegate decisions to the
  150. Technical Committee: the Project Leader may define a specific area of
  151. responsibility and delegate it to a Debian developer.</para></listitem>
  152.  
  153.     <listitem><para>Lend authority to other Developers: the Project Leader
  154. may make statements support of support for points of view or for other
  155. members of the project.</para></listitem>
  156.  
  157.     <listitem><para>Make any decision which requires urgent
  158. action.</para></listitem>
  159.  
  160.     <listitem><para>Make any decision for whom nobody else has
  161. responsibility.</para></listitem>
  162.  
  163.     <listitem><para>Together with SPI, make decisions affecting property
  164. held in trust for purposes related to Debian: the Project Leader may make
  165. decisions about how money owned by Debian is to be used.</para></listitem>
  166.  
  167.   </itemizedlist>
  168.  
  169. <para>The current Project Leader is Martin Michlmayr.</para>
  170.  
  171. </section>
  172.  
  173.  
  174. <section>
  175. <title>The Project Secretary</title>
  176.  
  177. <para>Unlike other delegates, who are appointed by the Project Leader, the
  178. next Project Secretary is appointed by the Project Leader and the current
  179. Project Secretary.  In case the current secretary and the project leader
  180. disagree, they must ask the board of Software in the Public Interest (SPI),
  181. Debian's legal organization to appoint a Secretary.</para>
  182.  
  183.  
  184.   <itemizedlist>
  185.  
  186. <listitem><para>Conducting votes: The most visible task performed by the
  187. secretary is conducting votes for the project -- notably the Project Leader
  188. elections, but also any other votes that are run (General Resolutions, for
  189. example).  Running a vote also entails determining the number and identity
  190. of the people eligible to vote, for the purpose of calculating
  191. quorum.</para></listitem>
  192.  
  193. <listitem><para>Standing in for other Officers: The Project Secretary can
  194. stand in for the Leader, together with the Chairman of the
  195. Technical Committee.  In this situation, they may jointly make
  196. decisions if they consider it imperative to do so -- but only
  197. when absolutely necessary and only when consistent with the
  198. consensus of the Developers.</para>
  199.  
  200. <para>If there is no Project Secretary or the current Secretary is
  201. unavailable and has not delegated authority for a decision then
  202. the decision may be made or delegated by the Chairman of the
  203. Technical Committee, as Acting Secretary.</para></listitem>
  204.  
  205. <listitem><para>Interpreting the Constitution: The secretary is also
  206. responsible for adjudicating any disputes about interpretation of the
  207. constitution.</para></listitem>
  208.  
  209.   </itemizedlist>
  210.  
  211. <para>The current Project Secretary is Manoj Srivastava.</para>
  212.  
  213. </section>
  214.  
  215. <section>
  216. <title>The Technical Committee</title>
  217.  
  218. <para>The Technical Committee is the body which makes the final decision on
  219. technical disputes in the Debian project.  It can consist of up to eight
  220. members and usually has at least four members.</para>
  221.  
  222. <para>The Technical Committee may:</para>
  223.  
  224.   <itemizedlist>
  225.  
  226. <listitem><para>Decide on any matter of technical policy: This includes
  227. the contents of the technical policy manuals, developers'
  228. reference materials, example packages and the behavior of
  229. non-experimental package building tools.</para></listitem>
  230.  
  231. <listitem><para>Decide any technical matter where Developers'
  232. jurisdictions overlap: In cases where Developers need to
  233. implement compatible technical policies or stances (for example,
  234. if they disagree about the priorities of conflicting packages,
  235. or about ownership of a command name, or about which package is
  236. responsible for a bug that both maintainers agree is a bug, or
  237. about who should be the maintainer for a package) the technical
  238. committee may decide the matter.</para></listitem>
  239.  
  240. <listitem><para>Make a decision when asked to do so: Any person or body
  241. may delegate a decision of their own to the Technical Committee,
  242. or seek advice from it.</para></listitem>
  243.  
  244. <listitem><para>Overrule a Developer (requires a 3:1 majority): The
  245. Technical Committee may ask a Developer to take a particular
  246. technical course of action even if the Developer does not wish
  247. to; this requires a 3:1 majority.</para></listitem>
  248.  
  249.   </itemizedlist>
  250.  
  251. <para>The current Chairman of the Technical Committee is Ian
  252. Jackson.</para>
  253.  
  254. </section>
  255.  
  256. </section>
  257.  
  258.  
  259.  
  260. <section>
  261. <title>Teams</title>
  262.  
  263. <para>In addition to the officers whose roles and powers are explicitly
  264. described in the constitution, several teams have formed naturally.  These
  265. teams have clear areas of responsibility, and are almost exclusively
  266. technical in nature.  Since very few Debian developers are paid for their
  267. work on Debian, they tend to do what they most enjoy.</para>
  268.  
  269. <para>The teams (and there are a number of them) form simply; when more
  270. than one Debian developer wishes to work on a given task, and when that's
  271. technically feasible, they do. Having demonstrated both the skill to
  272. perform a given task, and the willingness to do so, the teams are typically
  273. well-staffed with knowledgeable and enthusiastic participants.</para>
  274.  
  275. <para>The end result is that it's rare that any single Debian developer is
  276. overburdened, and a level of peer review and technical excellence that is
  277. widely held with respect.</para>
  278.  
  279. <section>
  280. <title>Quality Assurance</title>
  281.  
  282. <para>The Quality Assurance (QA) team tries to make sure that high quality
  283. standards are held up.  It maintains packages which temporarily do not have
  284. a maintainer.  Also, it searches for inactive maintainers and buggy
  285. packages.  If a maintainer is found who does not maintain their packages
  286. anymore, the packages are taken away so other maintainers can take them and
  287. take care of them properly.  Although no one gave the Quality Assurance
  288. group the explicit power for this, they have established authority by doing
  289. it.</para>
  290.  
  291. </section>
  292.  
  293. <section>
  294. <title>FTP Master</title>
  295.  
  296. <para>The FTP masters are responsible for Debian's software archive.  They
  297. maintain the software which drives the archive and perform the day-to-day
  298. work which is needed.  This involves processing new packages and removing
  299. packages on the request of the maintainer of the QA group.</para>
  300.  
  301. </section>
  302.  
  303.  
  304. <section>
  305. <title>Listmasters</title>
  306.  
  307. <para>Debian offers about 150 mailing lists to facilitate the communication
  308. between developers and users.  The listmasters make sure that the mailing
  309. lists are working properly and that as few spam as possible reached the
  310. mailing lists.  They also deal with user questions and requests regarding
  311. the mailing lists.</para>
  312.  
  313. </section>
  314.  
  315.  
  316. <section>
  317. <title>Debian Admin</title>
  318.  
  319. <para>Debian Admin is responsible for the debian.org machines and hence
  320. much of Debian's infrastructure.  Debian offers a wide variety of ports to
  321. many architectures and has many different machines on which architecture
  322. specific bugs and packaging issues can be tested.  Furthermore, Debian
  323. Admin is responsible for the main infrastructure, such as machines running
  324. the web, FTP and mailing list services.</para>
  325.  
  326. </section>
  327.  
  328. <section>
  329. <title>Web Team & Translations</title>
  330.  
  331. <para>The web team maintains Debian's extensive web pages.  They are
  332. internally maintained in CVS and written in WML from which HTML is
  333. generated.  There is a large number of volunteers who translate the web
  334. pages to other languages.</para>
  335.  
  336. </section>
  337.  
  338.  
  339. <section>
  340. <title>Security Team</title>
  341.  
  342. <para>The Security Team tracks security issues in released Debian packages
  343. and issues advisories and updated packages.  There are full members and
  344. secretaries.  The security secretaries cannot publish advisories on their
  345. own, but primarily track security issues and provide patches and updated
  346. packages to full members, who can then issue an advisory.</para>
  347.  
  348. </section>
  349.  
  350.  
  351. <section>
  352. <title>Release Management</title>
  353.  
  354. <para>Release management is a very important task in every Free Software
  355. project because someone has to do the coordination effort needed in order
  356. to get new releases out of the door.  In the past, Debian had one Release
  357. Manager working on this.  Since recently, he is helped by Release
  358. Assistants who help making sure Debian is ready to release.  The decisions
  359. about the release are made solely by the Release Manager, however.</para>
  360.  
  361. </section>
  362.  
  363.  
  364. <section>
  365. <title>New Maintainer</title>
  366.  
  367. <para>New Maintainer (NM) is the process which admits new Debian
  368. developers.  The Debian Account Manager (DAM) is a delegated position who
  369. has the authority to create new accounts.  The NM Front Desk coordinates
  370. the overall process and makes sure that everything works smoothly.  They
  371. coordinate with the DAM, the applicants and also with the Application
  372. Managers (AM) who lead applications through this process.</para>
  373.  
  374. </section>
  375.  
  376.  
  377. <section>
  378. <title>Policy</title>
  379.  
  380. <para>Debian has 10,000 packages created by almost 1000 different people.
  381. In order to ensure that Debian is an integrated system, a set of guidelines
  382. has been created which describe to which standards a package has to
  383. conform.  This document, Debian Policy, is maintained by a group of
  384. experienced developers.  There are also detailed guidelines how the Policy
  385. document may be changed.</para>
  386.  
  387. </section>
  388.  
  389. <section>
  390. <title>Legal</title>
  391.  
  392. <para>There are always important legal issues to discuss when distributing
  393. software created by others.  The legal team is responsible for making a
  394. coherent decision about legal questions.  For example, they are the first
  395. contact when the question arises if a particular license can be regarded as
  396. Free Software.</para>
  397.  
  398. </section>
  399.  
  400.  
  401. </section>
  402.  
  403.  
  404.  
  405. <section>
  406. <title>Infrastructure</title>
  407.  
  408. <para>One of the most important factors which holds Debian together is the
  409. project's solid infrastructure.  Most coordination and communication is
  410. carried out through public mailing lists, IRC channels and the Bug Tracking
  411. System (BTS).  One aspect of Debian's development model is that it is open
  412. for anyone.  All mailing lists (with the exception of
  413. <emphasis>debian-private</emphasis> where sensitive or confidential issues
  414. are sometimes discussed) are open and everyone can subscribe to them or
  415. read the archives on the web.  Also, all bugs found in Debian packages or
  416. feature requests are submitted through the Bug Tracking System.  In
  417. accordance with the 3rd point of the Social Contract, <emphasis>We Won't
  418. Hide Problems</emphasis>, the BTS is open to anyone.  If a bug is not
  419. documented there, we probably don't know about it.</para>
  420.  
  421. <para>This infrastructure is essential for the way Debian works.  The
  422. developers are distributed all over the world and hence effective means of
  423. communication had to be created.  The mailing lists, the IRC channels, the
  424. Bug Tracking System and recently also the Package Tracking System (PTS)
  425. facilitate communication and coordination.  In fact, they do not only allow
  426. communication between developers, but also between developers and users.
  427. Users can follow the mailing lists and describe their problems with the
  428. current system, their requirements and wishes.  Debian's development model
  429. is truly open -- anyone can get involved and make a change, be it by
  430. reporting bugs, providing good comments or patches to known problems.  This
  431. is also beneficial for companies which use Debian.  They see exactly in
  432. which direction Debian is moving and can also get involved to drive a
  433. release forwards.</para>
  434.  
  435.  
  436. <section>
  437. <title>The Mailing Lists</title>
  438.  
  439. <para>There are about 150 mailing lists, each with a specific topic.  There
  440. are mailing lists where users can ask questions, such as
  441. <emphasis>debian-user</emphasis>, as well as user mailing lists in specific
  442. languages.  Most mailing lists, however, are mainly aimed for Debian
  443. developers or other interested parties to discuss specific technical
  444. aspects of Debian.  The list <emphasis>debian-devel</emphasis> is the big
  445. development discussion list, but there are many smaller lists dedicated to
  446. a specific topic, such as various porting mailing lists.  Additionally,
  447. there is <emphasis>debian-devel-announce</emphasis> which is required for
  448. all Debian developers since important announcements regarding the
  449. development of Debian are made there.  The lists
  450. <emphasis>debian-announce</emphasis> and
  451. <emphasis>debian-security-announce</emphasis> are for general and security
  452. announcements, respectively, and are a must for every user of Debian.
  453. Also, <emphasis>debian-news</emphasis> is a good way to stay up-to-date
  454. what is happened around Debian.  A complete index of mailing lists can be
  455. found on the <ulink url="http://lists.debian.org/">web</ulink> -- everyone
  456. who is interested in Debian or specific aspects of Debian's development can
  457. subscribe to the lists of their choice.</para>
  458.  
  459. </section>
  460.  
  461.  
  462. <section>
  463. <title>IRC</title>
  464.  
  465. <para>IRC (Internet Relay Chat) is a real-time chat system with different
  466. channels dedicated to specific topics.  There are various Debian related
  467. channels on <emphasis>irc.debian.org</emphasis>, the biggest being
  468. <emphasis>#debian</emphasis>.  Many user questions are discussed on this
  469. channel and there are other channels more specifically aimed for
  470. developers.</para>
  471.  
  472. </section>
  473.  
  474.  
  475. <section>
  476. <title>Bug Tracking System</title>
  477.  
  478. <para>The <ulink url="http://bugs.debian.org/">Bug Tracking System</ulink>
  479. is an important foundation in Debian's development.  Using tools like
  480. <emphasis>reportbug</emphasis>, users can easily submit bug reports and
  481. feature requests.  The maintainer of the package automatically receives all
  482. bug reports and can then follow-up and ask for more information or
  483. immediately fix the bugs.  When a developer uploads a new package to the
  484. <emphasis>unstable</emphasis> archive of Debian, they can automatically
  485. close bugs with the upload -- that way, users are informed that their bugs
  486. have been solved in that specific upload.</para>
  487.  
  488. </section>
  489.  
  490. <section>
  491. <title>Package Tracking System</title>
  492.  
  493. <para>The <ulink url="http://packages.qa.debian.org/">Package Tracking
  494. System (PTS)</ulink> is a great way to see all kinds of information about a
  495. specific package at one spot.  Different information is collected by the
  496. PTS and displayed on one summary page.  Furthermore, the PTS allows users
  497. or developers of a piece of software packaged for Debian to subscribe to
  498. all bug reports filed against a specific package.  This is a great way to
  499. stay informed of what is going on with a package and to help out -- when
  500. you know a solution for a bug, you can simply respond to the mail and it
  501. will be sent to the bug submitter, the maintainer of the package and get
  502. archived on the web so everyone has access to the useful
  503. information.</para>
  504.  
  505. </section>
  506.  
  507. </section>
  508.  
  509.  
  510. <section>
  511. <title>Summary</title>
  512.  
  513. <para>There are many means of coordination in Debian.  The infrastructure,
  514. consisting of the mailing lists, the IRC channels and the Bug Tracking
  515. System among others, are a very solid foundation which enable efficient
  516. communication.  Furthermore, there are various members of the project who
  517. are involved with coordination tasks.  The constitution defines the roles
  518. and power of the Project Leader, the Project Secretary and the Technical
  519. Committee.  However, there are many additional teams which have formed to
  520. fullfill a specific role.  It is very often the case in Debian that
  521. organizational structure is generated implicitly over time when someone
  522. starts working on a job by themselves.  Since all Debian developers are
  523. volunteers to Debian, nobody is paid for a specific task.  Instead,
  524. everyone does what they like to do.  Once someone has performed a specific
  525. job for some time and do a good job, other developers will recognize this
  526. and acknowledge their authority.  The best advice for people who are
  527. interested in helping with Debian's development is therefore to simply get
  528. involved, and perform good work which is needed.  Do not wait until someone
  529. assigns you a specific task, but find an area which needs help and get
  530. involved.</para>
  531.  
  532. </section>
  533.  
  534.  
  535. </article>
  536.