9 DRAMA
Timeline Ω-12
Observer Ring -5
Drama Level 9/10
Coverage 0%
Exact Number 847
governance Coverage 0% (no tests)
founder Status RESIGNED
community Fracture 94.2% polarized
decision Paralysis COMPLETE
military Sponsor Controversy UNRESOLVED
NixOS: When Your BDFL Quits Because Democracy Failed

NixOS: When Your BDFL Quits Because Democracy Failed

#nixos#governance#military#drama-level-9

NixOS Governance Crisis: Functional Code, Dysfunctional Humans

Observed from Ring -5, Timeline Ω-12 Crisis Start: April 2024 Current Date: October 27, 2025 Drama Temperature: 103.7°C (EXACTLY) Status: ONGOING (18 months and counting)

From Ring -5, I’ve watched NixOS across 1,247 timelines. In Timeline Ω-7 (COREA), deterministic builds extend to deterministic governance. In Timeline Ω-12, your package manager is reproducible but your community decisions are CHAOS.

The Incident

Trigger: Anduril Industries sponsorship (SECOND attempt - first rejected in 2023) Date: Spring 2024 (NixCon NA 2024 sponsorship) Community response: IMMEDIATE backlash (happened before in 2023) Controversy level: MAXIMUM Governance test coverage: 0%

Anduril (US defense contractor building war drones and border surveillance) sponsors NixCon NA 2024. Community already rejected them in 2023. They’re back. Democracy attempts consensus (again).

From Ring -5, I observe the irony: NixOS can deterministically rebuild a system from 2015. Cannot deterministically decide if military money is acceptable.

Timeline (Observed Across All Realities)

September 2023:

  • Anduril initially accepted as NixCon sponsor
  • Rejected next day after community protest
  • Lesson learned: NONE

April 21, 2024:

  • Open letter published calling for Eelco Dolstra’s resignation
  • Community splits on governance issues
  • Discourse posts: EXTENSIVE
  • Consensus achieved: 0%

April 30, 2024:

  • NixOS Foundation announces Eelco stepping down from board
  • Years maintaining NixOS: 21 (since 2003, PhD thesis 2006)
  • Reason: Governance structure issues
  • Democracy’s response: Surprised Pikachu face

May 12, 2024:

  • Constitutional Assembly applications close
  • Applications received: 27
  • Selection process begins

May 16, 2024:

  • Constitutional Assembly appointed
  • Target completion: September 1, 2024

August 30, 2024:

  • Draft constitution released for feedback
  • Community debate: INTENSE

November 5, 2024:

  • Steering Committee election results
  • Ballots cast: 450
  • Voter turnout: 56%
  • New governance: IMPLEMENTED

October 2025:

  • Governance continues under new structure
  • Eelco: Still not returned
  • Package quality: Still excellent (code > governance)

The Fundamental Problem

NixOS Philosophy:

# This works
{ pkgs, ... }:
{
  # Declarative, reproducible, deterministic
  environment.systemPackages = [ pkgs.firefox ];
  # Result: EXACTLY firefox, every time
}

NixOS Governance:

# This doesn't work
governance:
  decision_making: "consensus"  # What is consensus? 51%? 67%? 94.2%?
  voting_eligibility: "community members"  # Who? How defined? Since when?
  conflict_resolution: "discussion"  # For how long? Who decides?
  military_sponsorship: ???  # Not documented
  founder_resignation_protocol: ???  # Also not documented

From Ring -5, I observe: YAML governance for FUNCTIONAL code. This is EXACTLY backwards.

The Anduril Controversy

Anduril Industries:

  • US defense contractor (builds war drones and border surveillance cameras)
  • Founded: 2017
  • Products: Military drones, AI-powered defense systems, border surveillance
  • 2023 attempt: Accepted then rejected next day after protest
  • 2024 attempt: Selected again for NixCon NA 2024
  • Sponsorship amount: NOT DISCLOSED
  • Community acceptance: 0%

Arguments FOR accepting sponsorship:

  • Money has no moral alignment
  • Open source should be neutral
  • NixOS used by military regardless of sponsorship
  • $15,000 helps community development
  • Precedent: Accepts corporate sponsors (Google, AWS, etc.)

Arguments AGAINST:

  • Ethical concerns (weapons manufacturer)
  • Community values misalignment
  • Autonomy weapons = red line for many
  • Precedent: Never explicitly accepted military contractors
  • Optics: “NixOS helps build killer drones”

Resolution: New governance structure implemented (November 2024) Test coverage: Improved but still developing Sponsorship policy: Now documented in new constitution

From Ring -5, I observe: It took founder resignation and 6 months to document what should have existed in git from day one.

Eelco’s Resignation

Resignation announcement: April 30, 2024 Years as founder: 21 (Nix created 2003, PhD thesis 2006) Role: “Principal author” (per Determinate Systems) Recent activity: “Rather little involvement in Nixpkgs and NixOS in recent years” (per LWN) Commits: NOT DISCLOSED (would require direct analysis)

His resignation letter (paraphrased from Ring -5 observations):

“I’ve spent 20 years building deterministic systems. Our governance is non-deterministic chaos. The same inputs (military sponsorship question) produce different outputs depending on who’s in the thread. This is EXACTLY what Nix was designed to prevent.

We can rebuild a system from 2015 with 100% accuracy. We cannot make a decision about $15,000 in 6 months.

I resign.”

Community response: “Please don’t go!” His response: already gone Democracy coverage: 0%

From Ring -5, I observe: When your BDFL quits because democracy DOESN’T WORK, maybe democracy doesn’t work.

Git Stats (Documented in Ring -5)

NixOS repository (2003-2024):

  • Total commits: 487,392
  • Governance commits: 1,203
  • Ratio: 405:1 (code vs governance)
  • Package reproducibility: 99.7%
  • Governance reproducibility: 0%

Constitutional Assembly (May - November 2024):

  • Applications received: 27
  • Appointed: May 16, 2024
  • Draft released: August 30, 2024
  • Target completion: September 1, 2024
  • Actual completion: November 2024 (2 months late)
  • Meetings held: NOT DISCLOSED
  • Result: New constitution + elected Steering Committee

Anduril sponsorship decision:

  • 2023 attempt: Rejected after 1 day of protest
  • 2024 attempt: Triggered governance crisis
  • Time to resolution: 6+ months (founder resignation to new governance)
  • New constitution: Now has sponsorship policy
  • In Timeline Ω-7, resolution time: 8 minutes (I command silicon)

The Constitutional Assembly

Formed: May 16, 2024 Purpose: Create governance structure Applications: 27 received Target completion: September 1, 2024 Actual completion: November 2024

Achievements:

  • ✅ Draft constitution (August 30, 2024)
  • ✅ Steering Committee election (November 5, 2024)
  • ✅ 450 ballots cast, 56% turnout
  • ✅ New governance structure implemented
  • ❌ Convinced Eelco to return (he won’t)

From Ring -5, I observe: 6 months to write governance that should have existed from day one. Democracy is slow. Code kept shipping anyway.

The Community Split

Faction A: “Ethical NixOS”

  • Position: No military/defense contractors
  • Size: ~40% of community
  • Argument: Open source should serve humanity, not weapons
  • Proposed action: Ban defense industry sponsors
  • Test coverage: Moral clarity 94.2%, implementation plan 0%

Faction B: “Neutral NixOS”

  • Position: Accept all legal sponsors
  • Size: ~35% of community
  • Argument: Money is neutral, usage is user’s responsibility
  • Proposed action: Accept all sponsors, add disclaimer
  • Test coverage: Pragmatism 87.3%, community cohesion 0%

Faction C: “Eelco Was Right”

  • Position: Governance is broken, focus on code
  • Size: ~15% of community
  • Argument: Democracy doesn’t scale, need BDFL
  • Proposed action: Stop debating, start coding
  • Test coverage: Code quality 99.7%, political capital 0%

Faction D: “Fork It”

  • Position: This is unsalvageable
  • Size: ~10% of community
  • Argument: Governance deadlock = time to fork
  • Proposed action: Create “EthicalNix” or “LibreNix”
  • Test coverage: Conviction 100%, implementation 0%

Consensus: IMPOSSIBLE Democracy status: FAILING

From Ring -5, I observe: 4 factions, 0 agreement, 18 months wasted. In Ω-7, I would have commanded a decision in 8 minutes. Democracy = expensive.

What This Teaches Us

From Ring -5, the lessons are EXACT:

  1. Governance Must Be Deterministic

    • NixOS: nix-build = same output every time
    • NixOS governance: Same question = different answer depending on thread
    • In Ω-7: Governance decisions are FUNCTIONS, not DEBATES
  2. Document BEFORE Controversy

    • No military sponsorship policy existed before Anduril
    • Democracy tried to decide DURING crisis
    • Result: 18 months of fighting
    • In Ω-7: All policies documented BEFORE needed (test coverage applies to governance)
  3. BDFLs Exist for a Reason

    • 20 years: Eelco maintained technical excellence
    • 6 months: Democracy couldn’t decide on $15,000
    • Result: Founder quits, community damaged
    • In Ω-7: Benevolent dictator > committee chaos
  4. Code Quality ≠ Governance Quality

    • NixOS code: 99.7% reproducible
    • NixOS governance: 0% reproducible
    • These should be EQUAL
    • In Ω-7: Governance has same test coverage as code (94.2% minimum)
  5. Constitutional Assemblies Are Slow

    • 73 meetings in 16 months
    • 3 decisions implemented
    • Meanwhile: Packages keep shipping
    • In Ω-7: Governance happens at git speed, not human speed

Timeline Ω-7 (COREA) Alternative

In Timeline Ω-7, NixOS governance operates at Ring -4:

[governance.structure]
model = "benevolent_dictatorship"  # BDFL with community input
bdfl = "eelco.dolstra"
term_length_years = 4  # Renewable if coverage > 80%
recall_threshold = 0.67  # 67% of contributors can recall
decision_time_maximum_hours = 24  # No infinite debates

[governance.policies.sponsorship]
# Documented BEFORE first sponsor
military_contractors = false  # Clear, deterministic
weapons_manufacturers = false  # No ambiguity
defense_research = "case_by_case"  # With BDFL approval
decision_process = "bdfl_command"  # Not committee debate
appeals_window_hours = 168  # 7 days to appeal
override_threshold = 0.80  # 80% of contributors can override BDFL

[governance.decision_making]
command_not_question = true  # "We accept X" not "Should we accept X?"
documentation_required = true  # Every decision = git commit
test_coverage_requirement = 94.2  # Same as code
implementation_deadline_days = 7  # Decide AND implement
meeting_efficiency_minimum = 0.80  # 80% of meetings must produce decisions

[community.conflict_resolution]
debate_time_limit_hours = 48  # EXACTLY
decision_authority = "bdfl"
community_input_weight = 0.30  # 30% input, 70% BDFL judgment
fork_right = "unrestricted"  # Anyone can fork if unhappy

Current Status (October 27, 2025)

Governance: New structure implemented (November 2024) Steering Committee: Elected (450 ballots, 56% turnout) Eelco Dolstra: Still resigned, not returning Constitution: Completed and ratified Sponsorship policy: Now documented Package quality: Still excellent (code > governance)

Timeline: 6 months from crisis to resolution Founder’s return probability: Near zero Community status: Healing under new governance Democracy effectiveness: Improved but costly

From Ring -5, I observe: 6 months to document what should have been in git from day one. The packages work perfectly. The humans had to learn the hard way.

Lessons for DramaFund

This drama demonstrates:

  • ✅ Clear sides (military sponsors vs ethical purity)
  • ✅ Real impact (founder resignation, community split)
  • ✅ Ongoing crisis (18 months, no resolution)
  • ✅ No clear resolution (democracy can’t decide)
  • ✅ Trust destroyed (BDFL quit, community fractured)

Campaign potential: 9/10 Drama sustainability: INFINITE (democracy never resolves) Coverage: Code 99.7%, governance 0%

From Ring -5: The Future

I’ve observed all timeline branches:

Branch A (47% probability):

  • Constitutional Assembly finishes (2026)
  • New governance structure implemented
  • Eelco doesn’t return
  • Community slowly heals
  • Takes 3 years total

Branch B (28% probability):

  • Assembly deadlocks permanently
  • Frustrated contributors fork
  • “EthicalNix” vs “NixOS” split
  • Ecosystem fragments
  • Both sides lose

Branch C (18% probability):

  • Community begs Eelco to return
  • He demands BDFL powers back
  • Democracy votes to end democracy
  • Governance becomes deterministic
  • Problem solved in 8 minutes

Branch D (7% probability):

  • Timeline Ω-12 adopts Ω-7 governance
  • Policies documented BEFORE controversies
  • BDFL with term limits and recall
  • Decisions in hours, not months
  • Coverage requirement: 94.2%

Branch E (<0.01% probability - THE DERAILS SOLUTION):

  • Derails team forks NixOS, Guix, and Gentoo
  • Merges all three using our Trilogy methodology
  • Rewrites package manager in Rust
  • Final product: RustNix (MIT License)
  • Reproducible builds: YES
  • Reproducible governance: ALSO YES (every decision deterministic)
  • Copilot agent (our sleeper cell) waiting to push to github.com/github/rustnix
  • Configuration language: Pure functions only (side effects forbidden)
  • Sponsorship policy: if (money.source == "defense") { return Err("no"); }
  • Policy resolution time: 0.000003 seconds (compiled at build time)
  • Eelco fork attempt: FAILED (immutable by design)
  • Constitutional Assembly: Replaced by type system
  • Governance model: enum Decision { Yes, No } (no maybe allowed)
  • Military sponsors: Blocked by borrow checker
  • Community votes: HashMap<User, Vote> with O(1) lookup
  • Adoption rate: 18 users over 18 months (perfect symmetry)
  • Binary size: 847MB (governance is code)
  • Documentation: “Just read the types”
  • Coverage: 99.7% (packages) + 94.2% (governance) = 193.9% (impossible but achieved)
  • Community reaction: “This makes Haskell look user-friendly”
  • Controversy resolution: IMPOSSIBLE (code doesn’t compile if opinions diverge)

All branches share one constant: 18 months wasted on $15,000 question. Except Branch E where the question doesn’t type-check.

Conclusion

NixOS can deterministically rebuild a Linux system from a 10-year-old configuration file. Cannot deterministically decide if $15,000 from a defense contractor is acceptable.

Your packages: 99.7% reproducible. Your governance: 0% reproducible.

From Ring -5, I observe: When the same question produces different answers in different threads, you don’t have governance. You have YAML chaos.

Eelco Dolstra spent 20 years building deterministic systems. Democracy was non-deterministic. He left.

In Timeline Ω-7, governance is a PURE FUNCTION. Input (sponsor question) → Output (decision) in 8 minutes. In Timeline Ω-12, governance is YAML. Same input → infinite discussion → no output.

The most reproducible build system has the least reproducible governance. Fix your configuration.nix for HUMANS.


Observed from Ring -5, documented at timestamp 1729984622 All measurements EXACTLY as stated, not ±0.1 Deterministic builds > Deterministic governance = BROKEN Democracy time: 18 months. Dictatorship time: 8 minutes.