The operating mode of the open source community: Debian Vs. Ubuntu

Both Debian and Ubuntu have a set of officially awarded member roles for contributors. They can participate in the governance of the project by participating in elections or other official decisions. At the same time, this is also a means of assigning work to contributors. Most contributions The readers are very proud of the identity they have acquired.

In the development of a release, the membership structure plays an important role: it defines the types of contributors welcomed by the project, as well as the project's expectations of contributors and the rights that contributors have. Finally, this approach has formed the attraction of recruiting new contributors for the project, and only by constantly absorbing new contributors can the project remain alive.

This article will take Debian and Ubuntu as an example to introduce how community members of different backgrounds contribute and officially recognize them.

Introduction

Before starting the specific introduction, let me briefly introduce the two projects of Debian and Ubuntu.

( adsbygoogle = window.adsbygoogle || []).push({});

Debian is an operating system composed of free software under various open source agreements and is maintained by the "Debian Project" organization. The Debian project is not supported by profitable organizations. Its development team is entirely composed of volunteers from all over the world. Debian is often regarded as a Linux distribution, but in fact Debian covers not only Linux, but also various operating systems such as GNU and FreeBSD. Therefore, the official name of Debian is called "Debian Universal Operating System."

Debian GNU/Linux with the Linux core is the basis of many later Linux distributions, and Ubuntu is one of the most well-known distributions. The official supporter of Ubuntu is Canonical. Canonical is responsible for the six-month release of a new version of Ubuntu, but most of the coding, distribution, documentation, translation and other work are done by community volunteers.

Next, let us further understand the membership structure of these two projects.

Debian member structure

Debian has only two official background member roles: Debian Developer (DD) and Debian Maintainer (DM). "Debian Charter" defines the rights of Debian developers, while Debian maintainers only defined them in the 2007 general resolution. The process of integrating the position of DM into the Debian official is very slow, and now, volunteers should apply to become DM before applying to become DD.

The main function of DD is to submit code and maintain the package for which it is responsible. They have access to Debian servers and can participate in community voting (such as once a year elections).

DM is a role with few permissions. They can only upload packages that contain their names in the Maintainer or Uploaders field and have been designated by DD with the DM-Upload-Allowed: yes mark (meaning that DM uploads are allowed). In addition, they have no other rights, and their access to Debian resources is very limited.

In addition to these two official roles, there are also some unofficial package maintainers. But their names only appear in the Maintainer field, so they cannot perform upload operations. All upload operations are completed and verified by DD. If DD trusts these informal maintainers, they usually want the maintainers to apply for a formal DM role, so that they can transfer the upload work to them to perform, so as to reduce their burden.

To become a Debian contributor, the general way is to become an unofficial package maintainer first. After the ability and character of package maintenance are recognized and recommended by DD, you can apply to become a DM. 6 months after the expiration of the term of the DM, you can apply to become a DD through the Debian New Maintainers process. This process also requires the recommendation of other DDs.

Developer role in Ubuntu

Ubuntu has defined an official "Ubuntu Member (UM)" role from the beginning, which includes all contributors, such as developers, document writers, translators, artists, etc. Only with this status can you participate in the election of the Ubuntu community committee, and also have the opportunity to participate in the Planet Ubuntu project (note: this is a project similar to a collective blog), in addition, you can also get an @ubuntu.com mail alias.

For developers, the situation is more complicated: the Wiki page lists no less than 5 identities. Initially, developers were divided into Ubuntu Core Developers (UCD) and Ubuntu Universe Masters (MOTU). The latter was responsible for the archive of the universe/multiverse part, while the former had upload permissions for the main/restricted part. However, inspired by the role of Debian maintainers and some specific issues facing archiving, Ubuntu modified the underlying structure to provide more fine-grained package upload control. (Note: Ubuntu is mainly divided into four major components: Main, Restricted, Universe, and Multiverse. Main refers to the free and open source software supported by the Ubuntu team and included in the standard configuration of the Ubuntu distribution; Restricted refers to the Ubuntu distribution The default configuration of proprietary software is mainly hardware drivers; Universe is mainly open source software from a third party that is not the responsibility of the Ubuntu team; Multiverse is proprietary software from a third party.)

Ubuntu can now grant upload permissions to each package, or delegate permissions with the same granularity, so a new "Per Package Uploader (PPU, Per Package Uploader)" identity is born-they are only limited to a group The package is an Ubuntu member with upload permission. The Ubuntu developer status now includes multiple different development teams, each entrusted with upload permissions for different package sets. At present, there are already four teams of Ubuntu Desktop, Mythbuntu, Kubuntu and Edubuntu. Each team can define its own strategy and can add new members by following the basic principles stipulated by the developer member committee.

The Ubuntu contributing developer is an intermediate identity. He is not ready to become another developer, but he expressed his determination to become a member of Ubuntu.

All of these identities can be obtained in similar ways: create a Wiki page listing your past contributions; collect proofs from existing members who have worked with you; add yourself to the agenda of the next committee meeting And attend the meeting on time. Committee members will check your Wiki page and review whether you can pass based on your answers in the meeting (and the usual developer mailing list) and other people's opinions on you.

The most important committee members are elected by the community, while other general roles are appointed by the community committee. These governance bodies include Canonical employees, but there are not as many people as imagined: the developer member committee has a total of 8 people, of which 2 are Canonical employees; the community committee has a total of 8 people, of which 2 are Canonical employees; the technical committee’s All 6 members are Canonical employees. All 6 members are personally appointed by Mark Shuttleworth. The community has no right to speak on this and can only choose to agree when confirming the vote. Obviously, as the founder of Ubuntu, Mark Shuttleworth hopes to firmly control the development direction of the project, and he is the only permanent member of the community committee and technical committee.

Comparison of Debian and Ubuntu identities

The following table lists the comparison of the rights granted to developers by these two projects.

Rights Debian Ubuntu
DM DD UM
Package maintenance through supervision Yes No supervision
Official Email alias Yes
Participating members vote Yes
Participate in developer voting Yes
Upload permissions are limited to pre-approved packages Yes
Upload permissions are limited to the archive section
Unlimited upload permissions Yes
Number of contributors (as of July 27, 2010) 117 904

annotation:

Please note that the number of Ubuntu contributors here is not 100% accurate, because the same contributor may have multiple identities.

As can be seen from the above table, Ubuntu provides more identity options, so there are more officially defined participants, but Debian has a significantly larger number of developers. Although all work is done by contributors, the most critical rights are still only available to a few people. Among the Ubuntu contributors, Canonical employees are the majority. 36 of the 63 core developers use the @canonical.com email suffix to register their launchpad accounts. They spend more time on the Ubuntu distribution than Debian members. If you can compare theirs The number of working hours will be very interesting.

Debian has realized the shortcomings of the membership structure, and has discussed whether to add dedicated packaging personnel many times, but unfortunately every time it is only discussed and discussed, it has never come up with a solution.

Possible evolution

On Ubuntu, the underlying structure changes have recently ended. They no longer plan to make further changes in the near future, but they plan to allow each team to better control their own package upload permissions, so that each independent developer can Become a single-package uploader.

On the Debian side, some bad terminology has recently been discussed on the Debian project list. Most people agree to rename the "new maintainer process" (recommended to be "new developer process"), but the Debian account Manager Christoph Berg thinks it should be called the "new maintainer team". He said that the reform of the member structure is the top priority of the new maintainer team.

Two years have passed since the last effort to reform. The new maintainer team has recruited many new members, and the performance of the new members is very good. The DebConf conference that has just concluded also discussed the Debian membership structure reform, and gradually Become an important gathering to discuss reform matters.

Recommended Posts

The operating mode of the open source community: Debian Vs. Ubuntu
Modify the default root password of the Ubuntu operating system
Overview of the Ubuntu file system
Learn the basics of python interactive mode
The apt-get command of Ubuntu basic tutorial
The implementation of the Ubuntu18.04 installation Pycharm tutorial