History of Debian
Debian is a Linux distribution that uses free and open source software (FOSS). It was created and led by Ian Murdock, but is now completely community driven. Debian is one of the oldest Linux-based operating systems. It is famous for supporting both proprietary drivers and open drivers. In addition, many other Linux distributions are based on it, such as Ubuntu. 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 the project’s leadership?
Core team turnover
The number of contributors and contributions are difficult 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. Occasionally, teams and contributors will drop packages, or they are removed from them. However, most contributors work on the same project or package for years.
Unique knowledge: git-by-a-bus
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
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. Salsa administrators are the only people who can transfer or delete projects under Debian. Salsa is the name of Debian’s collaborative development server; Salsa based on GitLab.
🌸👋🏻 Let’s take this to your inbox. You’ll receive occasional emails about whatever’s on my mind—offensive security, open source, academics, boats, software freedom, you get the idea.
Maintainers approve patches individually. Minor bug fixes and security patches are usually approved after review. Large patches are reviewed extensively and passed to the relevant subsystem maintainer. Then, the patches are reviewed again and merged into Linus Torvalds’ mainline repository.
Quality control and bug repair
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 of Debian Linux
Calloway Coefficient of Fail
The Calloway Coefficient of Fail (CCoF) is ranked between 0 (“Perfect! All signs point to success!”) and 5 (“You’re probably doing okay, but you could be better”). 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
In November 2002, a fire burnt some Debian servers. In November 2003, some of Debian’s servers were hacked. There is an ongoing list of release critical bugs (1633 as of writing).
What if the most active contributor was hit by a bus?
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?
Debian would probably survive, but it would struggle for awhile. Again, the 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.
Onboarding and support
Debian’s homepage links to a “get-involved” page. The page details where potential contributors can learn about the project’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.How You Can Join by The Debian Project
In addition, Debian has a new contributor guide. The guide serves as a checklist for what new contributors should do to participate in its community effectively. The Debian Project has communication leads, called sponsors, who focus specifically on newbies.
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.How You Can Join by The Debian Project
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 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 community prides itself on its Free Software Guidelines and Social Contract.
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.
Recommend to a friend?
Would you recommend the project 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, the project 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.
- IRC Channels
- Source Code Repository
- Mail List Archive
- Other Communication Channels
- Project Website
- Project Blog
If you enjoyed this post, I recommend reading VS Code’s Community Architecture and An Analysis of FarmBot’s Community Architecture. Olivia Gallucci, Justin Nauta, Mark Shaw, and Bryan Xue wrote this post. It was first published on the deprecated HFOSS’21 blog. The blog post image depicts Debian mini conference group photo. Nicolas Dandrimont released the photo under the CC-BY 4.0 license.