Throughout the semester we have seen a lot of committees. All the
ones we have sen have been from standards institutions. Let's look at a
community ran one!
Debian advertises itself as the universal
operating system. This is because they aim for everything to work well
out of the box, and to be easily extendible. Since Debian is the [basis
of so many distortions][deb-fork], it can be seen as a standard setting
body. It is also one of the most bureaucratic, but in a good way. Unlike
many other free software projects, the Debian project is guided by a
well structured [constitution][deb-cont]. This constitution guides how all of the decision making processes are made within an organization.
The
Debian project is headed by a Project Leader (PL). Their roles and
responsibilities are mainly discussed in §5. The PL serves in one year
terms, and is voted in by the Debian developers. Each term does not have
to last the full year if a developer puts forward a resolution to
remove the PL. They appoint members of technical committees, make urgent
decisions, or make decisions that no one else has the authority to
make. I have not listed all of their responsibilities, but the PL is the
main organizational unit, and all committees end up reporting to them.
Another
unit is the Technical Committee (TC). TC is the group that makes the
finial decisions on technical problems. They also help to mediate
technical decisions between developers, if they are unable to. The main
other goal of the TC is to offer general technical advice. Any developer
can ask the TC about it's views on any matter.
To be honest, I
find their voting system pretty wonky. The rules for voting can be found
in §A.6. Quorum is based on the min(5, log(number\_devs)/2).
Then
depending on the type of vote, there are a few different ways to
progress. For simple yes no votes, they are simply tallied up. For votes
that require a series of options to be listed, a [Schwartz
set][schwartz] is used. Honestly, the Schwartz set is pretty complicated
math, but the end result is that each item in a list of options is
weighted differently. It would be useful in a situation where no one can
decide on a first option, so then the second option would be counted.
Although
this is a very brief introduction to Debian's structure, it should
start to show how it is organized. It is possible to go into much deeper
detail on this topic, but that is for another day. Compared to many other community ran open source project, Debian's is probably the most well structured. One of the cool thinks about this structure is that it is freely copyable. Even
though any group could copy Debian's rules, without the proper people
taking responsibilities, the rules won't matter too much.
[deb-fork]: https://www.debian.org/misc/children-distros "Debian Forks"
[deb-const]: https://www.debian.org/devel/constitution "Debian Constitution"
[schwartz]: https://en.wikipedia.org/wiki/Schwartz_set "Schwartz Set"
No comments:
Post a Comment