Debian’s Community Architecture

Photo released by Nicolas Dandrimont under the CC-BY 4.0 license.

Debian’s Background

History

Debian is a Linux distribution that uses free and open source software (FOSS). Debian was created and led by Ian Murdock, but is now completely community driven. The first version of Debian was released on September 15, 1993; it is one of the oldest Linux-based operating systems. 

Debian is famous for providing support for both proprietary drivers and open drivers; in addition, many other Linux distributions, such as Ubuntu, are based on Debian.

The first version of Debian was released on September 15, 1993. At the time of writing, the latest commit was by im6-guest@alioth and enrico, which was a bug fix.

Leadership and Team Structure

Does Debian have a Benevolent Dictator for Life or lead developer? If not, what is the structure of Debian’s leadership?

The Project Leader is a role defined in the Debian Constitution and is elected once per year by the Debian developers. The current Project Leader is Johnathan Carter. 

Core team turnover

The number of contributors and contributions is hard to track due to most of the information being scattered on Debian’s website. However, in the past month, Debian has added seventeen newly approved developers. Teams and contributors occasionally drop packages or are removed from the packages they are working on, but most work on the same project for years.

Who has the highest amounts of unique knowledge per the git-by-a-bus report?

Those who have the highest amount of unique knowledge can be split in two categories. The first are those who hold leadership positions. The second are contributors who have made far more contributions than others. The top five contributors to the Debian Project have made more contributions than the next forty contributors.

Commit access and patch acceptance

Salsa is the name of Debian’s collaborative development server; Salsa based on GitLab. 

Non-Debian developers need to request write access to repositories inside a Debian group from a Debian developer they know, or their sponsor.

The Debian group for Collaborative Maintenance can make direct commits to repositories. Pre-commit coordination (e.g. merge-request or mail) is not expected.

Projects under Debian groups can only be transferred or deleted by Salsa administrators.

Patch approval

Patches are individually approved. Minor bug fixes and security patches are usually approved after review. Large patches are reviewed extensively and passed to the relevant subsystem maintainer. Then, they are reviewed again and merged into Linus Torvalds’ mainline repository.

Quality control and bug repair

The Debian Project has a quality assurance team that takes care of quality control. In addition, the Debian Project has a security audit team that reviews the archive for new or unfixed security bugs.

Front-end and back-end development

The Debian Project provides a list of their registered members, and a list of registered contributors. The Debian Project has separate teams for front-end and back-end development. Debian has more back-end support. 

Stability

Calloway Coefficient of Fail

The Calloway Coefficient of Fail (CCoF) can be ranked between 0 (“Perfect! All signs point to success!”) and 5 (“You’re probably doing okay, but you could be better”) depending on how it is judged. The CCoF could potentially be up to +5 points for “no web viewer for source control” because some packages have a form of web viewer, while others do not. For the packages that do have a web viewer, some are confusing and hard to find.

Major bugs and other issues

On November 2002, a fire burnt some Debian servers. Then, some Debian servers were hacked in November 2003.

There is an ongoing list of release critical bugs (1633 as of writing).

Participation trends

The Debian Project has consistent contributions from many people on a daily basis.

What if the most active contributor was hit by a bus?

Why hit by a bus? Learn more here.

Debian would survive if the most active contributor was hit by a bus. The Debian Project is massive, and there are countless contributors and maintainers. Additionally, leadership has successfully transferred many times.

What if the core team was hit by a bus?

The Debian Project would probably survive, but it would struggle for awhile. Again, the Debian Project is massive, and there are many contributors. It would be difficult to figure out who will take charge, but it is likely do-able because of the scale of the project and amount of potential people to step up.

Related Links:

Onboarding and Support

Onboarding process

Debian’s homepage links to a “get-involved” page. The page details where potential contributors can learn about Debian’s culture and philosophy. The page also details where potential contributors can find projects to work on.

“If you are interested in maintaining packages, look at our “Work-Needing and Prospective Packages” list to see which packages need maintainers. Taking over an abandoned package is the best way to start out as a maintainer – not only does it aid Debian in keeping its packages well maintained, but it gives you the opportunity to learn from the previous maintainer.
You can also aid by contributing to the writing of documentation, doing web site maintenance, translation (i18n & l10n), publicity, legal support or other roles in the Debian community. Our Quality Assurance site lists several other possibilities.”

The Debian Project – How You Can Join

In addition, Debian has a new contributor guide. The guide serves as a checklist for what new contributors should do to participate in the Debian community effectively. The Debian Project has communication leads, called sponsors, who focus specifically on newbies.

Lastly, the “get-involved” page provides a list of communitydriven teams. These teams work on smaller projects within Debian, and have their own culture, and contact methods.

Documentation

The Debian Project has substantial documentation available for free online and for-purchase in stores. The documentation for users is extensive. There is a wiki, release notes for each operating system, and tons of guides for software. The Debian Project even has a substantial amount of documentation available in multiple languages.

If you were going to contribute to Debian, but ran into trouble or hit blockers, who would you contact, and how?

Debian provides online real time help using IRC. They also have forums, and an email naming scheme. The email naming scheme uses “special mail aliases set up for each package.” This way, “any mail sent to <package name>@packages.debian.org is forwarded to the maintainer responsible for that package.”

Code of conduct and contributor license agreements

The Debian Project has a code of conduct, and multiple contributor license agreements (CLA). The project leader determines which CLAs to use, so contributors will need to sign a few. Additionally, the Debian project prides itself on its Free Software Guidelines and Social Contract.

Summing Up

Is Debian’s decision-making process hierarchical or consensus building?

Debian’s decision-making process appears to be consensus building. Many different people work independently on tasks they believe will help grow or develop the program further, and can do so freely. While there are people who oversee the project, they do not directly interact or tell the developers what to do. Debian’s developer also use a “do-orcracy” to make their decisions, and look to further their idea of “freedom.”

Is Debian a toy, group, federation or stadium?

Debian is close to a federation, with high user growth and medium to high contributor growth.

Would you recommend Debian as a good place for someone to join if they were a novice or a pro, or would you dissuade people from joining at all?

Overall, we would recommend Debian for pros rather than novices. While novices can join, Debian requires a lot of technical knowledge in order to make good contributions. Debian is an interesting project with a lot of freedom and possibilities, so we would recommend that people join regardless of skill level.

Links


Like Community Analyses?

Read more: VS Code’s Community Architecture and An Analysis of FarmBot’s Community Architecture.


Written by Olivia Gallucci, Justin Nauta, Mark Shaw, and Bryan Xue.

The original Humanitarian Free and Open Source Software Development (HFOSS) blog is located on the HFOSS blog.