SSD Nodes Learn Hosting plans →
Guides Matt ConnorBy Matt Connor

How Debian votes: the General Resolution

Debian policy is set by a ranked ballot of about a thousand developers. How a General Resolution is proposed, seconded, counted, and reaches your server.

Who decides what goes into Debian

A Debian General Resolution (GR) is a vote of the whole project, and it is how Debian settles a policy question instead of leaving it to one person. The people who vote are the Debian Developers, roughly a thousand of them. The ballot is ranked, and it always carries an option that nobody proposed: "None of the above". That option can beat every proposal on the paper, and when it does, the project has decided not to decide.

None of this is folklore. The Debian Constitution sets out who may decide what, how a proposal reaches a ballot, how the votes are counted, and which decisions need more than a simple majority. It is worth reading before you choose a distribution for a server, because it tells you how a policy change reaches your machine and how much notice you get.

The Constitution, and what it fixes

Debian ratified version 1.0 of its constitution on 2 December 1998. The text in force is version 1.9, ratified on 26 March 2022. The document lists every earlier version at the top, because the only way to change it is the vote it describes.

Four parties matter here. The Developers acting together hold the final authority. The Debian Project Leader (DPL) is elected each year. The Technical Committee (TC) rules on technical disputes between maintainers. The Project Secretary runs the votes and rules on procedure.

Section 4.1 lists what the Developers may do as a body:

  • Appoint or recall the Project Leader.
  • Amend the constitution, with a 3:1 majority.
  • Make or override any decision authorised by the powers of the Project Leader or a Delegate.
  • Make or override any decision authorised by the powers of the Technical Committee, with a 2:1 majority.
  • Issue, supersede and withdraw nontechnical policy documents and statements.

The ratios carry the design. Overriding the leader needs a simple majority, because a leader's decision is meant to be provisional. Overriding the Technical Committee needs 2:1, because the committee was asked to rule for a reason. Changing the constitution, or a foundation document such as the Social Contract, needs 3:1. The harder a decision is to undo, the higher the bar to make it.

Who votes, and what the leader can actually do

Only Debian Developers vote. These are the project members admitted through Debian's New Member process, which includes people who maintain no packages but do other work for the project. A contributor who has not gone through that process gets no ballot, and neither does a user. The vote belongs to the individual member, so employers hold no seat and no block of votes.

The DPL is elected every spring on the same ranked machinery, with "None of the above" as the default option, and serves for one year. In the 2026 election, nominations ran from 7 to 13 March, campaigning to 3 April, and voting from 4 to 17 April 2026. Sruthi Chandran stood as the only candidate and was elected: the tally recorded 289 votes preferring the candidate to None of the above, and 50 the other way. The result was published on 18 April 2026.

The office has less power than the title suggests. The DPL appoints delegates, speaks for the project, decides matters that need urgent action, and decides matters nobody else has responsibility for. The DPL cannot set technical policy by decree, because section 4.1 lets the Developers override any decision the leader is authorised to make, and that override needs only a simple majority.

The Project Secretary is the quiet office that makes the rest work. The Secretary publishes the ballot, calls the vote, runs the count, and rules on procedural questions such as which majority a given option needs.

How a General Resolution gets proposed and seconded

A resolution starts as an email to a public list, in practice debian-vote@lists.debian.org. Anyone may read it. Only a Developer may propose one.

The constitution says a resolution or ballot option "is introduced if proposed by any Developer and sponsored by at least K other Developers". K comes from the size of the project, and so does the quorum:

2022 non-free firmware vote, published quorum 47.9765567751584

  developers on the roll      1023
  Q  = sqrt(1023) / 2       = 15.992
  K  = min(Q, 5)            = 5        sponsors needed to introduce an option
  3Q = quorum               = 47.977   votes an option must draw to survive

Q is half the square root of the number of current Developers, and K is Q or 5, whichever is smaller. Debian has been well past 100 developers for decades, so K is 5 in practice. Five other Developers must reply on the list to sponsor the proposal. That bar is low on purpose, and sponsoring is not agreement: it is a statement that the question deserves a ballot.

Then the discussion period runs. The minimum is 2 weeks and the maximum is 3 weeks. During that window any other Developer may add a different option to the same ballot, with five sponsors of their own. Since the resolution process was rewritten by a vote in January 2022, all options are equal, and the original proposer holds no special standing over the others.

That is why a Debian ballot is rarely a yes or no question. A GR usually arrives as a list of competing proposals written by different people during the discussion period.

When discussion ends, the Project Secretary publishes the ballot and calls for a vote, and must do so within seven days. Recent voting periods have run two weeks: 18 September to 1 October 2022 for the firmware resolution, and 15 to 28 August 2026 for the one open now.

Why the ballot is ranked, and what the default option does

Debian counts votes with a Condorcet method. Each voter ranks the options in order of preference. The count then compares every pair of options: for options A and B, it counts how many ballots rank A above B, and how many rank B above A. An option that wins all of its one against one comparisons is the winner. When preferences form a cycle and no such option exists, the constitution drops the weakest defeats until a winner appears from the Schwartz set, which is the group of options that nothing outside the group beats.

Ranking removes the split vote problem. Four proposals that broadly agree cannot cancel each other out, because a voter who prefers one of them can still rank the other three above the options they dislike.

Every General Resolution ballot ends with the default option. The constitution says it "has no proposer or sponsors, and cannot be amended or withdrawn". Today it is called "None of the above". Until the process change voted in January 2022 it was called "Further Discussion", and the older results pages still show that name.

The default option is the reference point for the two rules that can kill a proposal on its own:

  • Quorum: any option other than the default that does not get at least 3Q votes ranking it above the default is dropped from consideration. That was about 48 votes in 2022.
  • Supermajority: any non-default option that does not defeat the default by its required ratio is dropped. A 3:1 proposal must beat "None of the above" three to one.

Read the second rule twice, because it is the one people misremember. A supermajority in Debian is measured against the default option. The rival proposals do not enter into it.

If the default option wins outright, no proposal is adopted and the question goes back to the list. That is a real outcome. Ranking the default above an option is how a developer says "I would rather Debian said nothing than said this".

Since March 2022 the ballots are secret. The resolution that made them secret was proposed by Sam Hartman and voted from 13 to 26 March 2022. The winning option hides which developer cast which ballot, while still letting a voter confirm that their own vote was included in the count. Before that, every ranked ballot was published with a name against it.

What a General Resolution has actually changed

The init system, twice. On 11 February 2014 the Technical Committee resolved "that the default init system for Linux architectures in jessie should be systemd", after a deadlock that the chair, Bdale Garbee, broke with a casting vote. The committee's own resolution added that if the project passed a GR on init systems before jessie was released, "that position replaces the outcome of this vote". Ian Jackson proposed that GR. Voting ran from 5 to 18 November 2014, and the winning option was "General Resolution is not required". The project used the ballot to decline to overrule its own committee.

The question came back in December 2019 as "Init systems and systemd", with seven substantive options written by five developers, running from "Focus on systemd" at one end to "Support for multiple init systems is Required" at the other. Voting ran from 7 to 27 December 2019, and the tally recorded 425 votes. The winner was "Systemd but we support exploring alternatives".

Non-free firmware, and the installer you download. In 2022 the project voted on whether the official installer should carry non-free firmware for network cards and other hardware. Six proposals reached the ballot. Voting ran from 18 September to 1 October 2022, and the winner was "Change SC for non-free firmware in installer, one installer". Because that option amended the Social Contract, it had to defeat the default option by 3:1, and it did.

That vote is the clearest example of a ballot reaching your machine. Debian 12 "bookworm", released on 10 June 2023, moved most firmware packages out of non-free into a new non-free-firmware component, and its installer enables that component where the hardware needs it. Before the vote, a machine with a firmware-hungry network card meant knowing to fetch an unofficial image. The mailing list post, the ballot and the ISO you download are one chain of events.

Saying nothing, on purpose. In April 2021 the project voted on whether to issue a public statement about Richard Stallman rejoining the board of the Free Software Foundation. Eight options reached the ballot. The winner was "Debian will not issue a public statement on this issue". A resolution can establish that the project has no collective position, which is a decision a company press office rarely gets to make.

A resolution in progress: LLM usage in Debian

The machinery is running right now on large language models (LLM). Discussion of the resolution "LLM usage in Debian" ran on debian-vote from 23 July to 13 August 2026, and it produced eight proposals, each from a different developer:

  • No LLM contributions to Debian via Social Contract
  • Allow AI-Assisted Contributions with conditions
  • Reject LLMs as far as practical, update Code of Conduct
  • Accept AI contributions for Debian specific work
  • Responsible Use of Generative AI
  • A cautious approach to generative AI
  • Debian is created by humans
  • Avoid the use of LLM: climate destruction is a deal breaker

The first of those works by amending the Social Contract, so it needs a 3:1 majority over the default option. The other seven need a simple majority. Voting opened on 15 August 2026 and closes on 28 August 2026.

Nothing here predicts the result, and no outcome is claimed. When the voting period ends, the Secretary publishes the tally with the full pairwise matrix at the Debian vote pages, and that page is the only source worth quoting. An earlier proposal, "Interpretation of DFSG on Artificial Intelligence (AI) Models", was withdrawn during 2025 before it reached a ballot, and withdrawal is part of the process too: DFSG is the Debian Free Software Guidelines, and a proposal that is not ready can be pulled by the people who put it forward. The wider argument is not Debian's alone, and other projects are settling their own policies for AI-assisted contributions by very different routes.

What this means when you pick a server distribution

Compare the two shapes of decision plainly.

In Debian, a policy change is a public document before it is policy. You can read the proposal on the day it is posted, watch the competing options appear, see the sponsors by name, know the earliest date the vote can happen, and read the tally afterwards. The cost is speed. Each of those votes took weeks of discussion, and the init system question took five years and two resolutions to reach a stable answer.

In Ubuntu, direction is set inside a company. Ubuntu's governance page describes a Community Council and a Technical Board, and it also states that the project sponsor, Mark Shuttleworth, short-lists the candidates for both bodies and holds a casting vote on each, under the title of self-appointed benevolent dictator for life. The result is fast. On 14 February 2014, three days after Debian's committee chose systemd, Shuttleworth announced that Ubuntu would drop Upstart, the init system Canonical had written and shipped since 2006, and follow Debian to systemd. Debian reached the same place through a committee vote, one General Resolution in 2014, and another in 2019.

Neither model is better in the abstract, and they fail in different ways. A vote is slow, and a determined group can put the same question back on the ballot until the electorate changes its mind. A company decision is quick, and it can be reversed in a strategy meeting you were not in. What you are choosing is where your notice comes from: a public list you can subscribe to, or a release announcement you read on the day.

Day to day you will feel the difference through release policy rather than through ballots, so the practical follow-up is Debian's stable, testing and unstable suites on a server. If you are weighing the two families for a new box, the governance question is one input among several, and the story of how Debian and Ubuntu split covers the rest, while picking an operating system for your VPS puts the choice next to the other candidates. The pattern is old, and the way distribution families branched shows how often governance, and not code, was the thing that forked.

How to read a vote yourself

You do not need to be a Developer to follow any of this. Four places hold everything:

  • The vote index at https://www.debian.org/vote/ lists every resolution by year, including the withdrawn ones.
  • Each vote page lists the proposals, the sponsors by name, the discussion and voting dates, and the majority each option needs.
  • Each results page shows the pairwise matrix and the arithmetic. The quorum lines read like Option 1 Reached quorum: 307 > 47.6943392867539.
  • The debian-vote and debian-devel-announce archives hold the argument that produced the options.

The constitution itself is at https://www.debian.org/devel/constitution. Appendix A is the part that describes the voting, and it is the section to read if a result ever looks surprising.

FAQ

Who can vote in a Debian General Resolution?

Debian Developers, meaning the project members admitted through Debian's New Member process. That is roughly a thousand people, and it includes members who maintain no packages but do other work for the project. Contributors who have not joined, package maintainers without membership, and users receive no ballot. The vote belongs to the individual member, so an employer holds no seat and no block of votes.

What happens if "None of the above" wins a General Resolution?

No proposal is adopted, and the question returns to the mailing list. The default option sits on every ballot, cannot be withdrawn, and is also the yardstick for two other rules: an option that fails to draw quorum votes ranked above the default is dropped, and an option that fails to defeat the default by its required ratio is dropped. A proposal needing a 3:1 majority therefore has to beat "None of the above" three to one, and its rival proposals do not enter into that test.

Can a General Resolution overrule the Technical Committee or the Project Leader?

Yes, and the constitution sets a different price for each. Overriding a decision the Project Leader or a Delegate was authorised to make needs a simple majority. Overriding the Technical Committee needs 2:1. Amending the constitution, or a foundation document such as the Social Contract, needs 3:1. In November 2014 the project ran a resolution on whether to overrule the committee about init systems and chose not to, because the option "General Resolution is not required" won the ballot.

How long does a General Resolution take from proposal to result?

About a month when nothing unusual happens. Discussion runs at least 2 weeks and at most 3. The Project Secretary then publishes the ballot and calls the vote within seven days of the end of discussion. Recent voting periods have lasted two weeks. The 2026 resolution on LLM usage shows the typical shape: discussion from 23 July to 13 August 2026, then voting from 15 to 28 August 2026.