close

DEV Community

Cover image for Stop Egoism in Open Source: Let the Community Decide
Sumit Mishra
Sumit Mishra

Posted on

Stop Egoism in Open Source: Let the Community Decide

Open source is built on a simple idea: people should be able to build, improve, inspect, and contribute to software together.

But there is a problem that many open-source communities eventually face: ego-driven leadership.

A project starts with one developer. That developer creates the repository, writes most of the initial code, and naturally becomes the maintainer. Over time, however, the project grows. Hundreds or thousands of people contribute.

Yet the decision-making structure often doesn't change.

The original creator still decides what gets built, who gets accepted as a maintainer, which proposals matter, and sometimes even what the community is allowed to discuss.

At that point, an open-source project can become open source in code but closed source in governance.

That needs to change.

The Founder Shouldn't Automatically Own the Future

Creating a project deserves respect.

But creating a project shouldn't give someone permanent political control over it.

The person who started a project may eventually contribute less than other developers. Someone else may fix hundreds of bugs, maintain major subsystems, review thousands of lines of code, improve documentation, handle releases, and support the community.

Why should the original creator automatically have more authority forever?

Leadership should be based on continued contribution and community trust, not simply on who created the repository first.

That doesn't mean removing founders.

It means recognizing that the project can become bigger than its founder.

Weighted Voting: One Person, One Vote Isn't Enough

Pure one-person-one-vote sounds democratic, but it creates its own problems.

Someone who joined yesterday would have exactly the same voting power as someone who has maintained the project for five years.

Worse, a malicious person could potentially create multiple accounts and manipulate a vote.

Open-source governance needs something better:

Contribution-Weighted Voting

Voting power should be influenced by a person's meaningful contribution to the project.

For example:

Contribution Possible governance weight
Occasional user
Regular contributor
Active contributor
Core contributor
Long-term maintainer
Highly trusted project steward 10×

These numbers are only an example. Each project could define its own system.

The important principle is:

The more you consistently contribute to a project, the more responsibility you should have in deciding its direction.

But there should also be a maximum voting weight.

Someone shouldn't be able to accumulate unlimited power simply by contributing more.

A 10× maximum, for example, could prevent a founder or extremely prolific contributor from becoming effectively dictator.

Don't Count Commits. Count Contributions.

This system shouldn't simply be:

"You made 10,000 commits, therefore you control the project."

That would be incredibly easy to exploit.

One-line formatting changes could be used to inflate someone's contribution count.

Instead, projects should calculate a broader Contribution Score.

It could consider:

  • Meaningful code contributions
  • Bug fixes
  • Code reviews
  • Documentation
  • Security work
  • Issue triage
  • Release management
  • Testing
  • Community support
  • Design and UX work
  • Long-term maintenance
  • Mentoring new contributors

Longevity should matter too.

Someone who contributes consistently for three years demonstrates a different level of commitment from someone who submits 50 commits in a weekend and disappears.

The goal isn't to reward activity for activity's sake.

The goal is to measure meaningful participation.

Contribution Should Create Influence, Not Ownership

There is an important distinction here.

Contribution-weighted voting should give someone more influence, not ownership.

A core maintainer might have 5× the voting weight of a new contributor.

That does not mean:

"This project belongs to me."

It means:

"I've invested significant time and responsibility into this project, so my opinion carries more weight."

That's a much healthier relationship between contribution and authority.

Let Contributors Elect the Leadership

Major projects could periodically hold governance elections.

The community could vote on:

  • Project lead
  • Core maintainers
  • Steering committee members
  • Release managers
  • Technical committee members

And those votes could use the project's contribution-weighting system.

For example:

A new contributor has 1 voting unit.
An active contributor has 3.
A core contributor has 5.
A long-term maintainer has 7.

The exact numbers can be debated by the community.

The key is that leadership should be accountable to the people who actually build and maintain the project.

What Should the Community Vote On?

Not everything should become a referendum.

Nobody wants 500 developers voting on whether a function should be called getUser() or fetchUser().

Voting makes sense for significant decisions.

Community-level decisions

  • Who should lead the project
  • Who should become a core maintainer
  • Major roadmap priorities
  • Major architectural changes
  • Breaking changes
  • Project direction
  • Governance changes
  • Adoption of major dependencies
  • Long-term strategic priorities

Technical-maintainer decisions

  • Implementation details
  • Code style
  • Individual pull requests
  • Routine bug fixes
  • Security patches
  • Refactoring
  • Emergency releases
  • Minor technical decisions

This distinction is important.

Democracy should decide direction. Expertise should decide implementation.

Let the Community Decide What Gets Built

Imagine a project has five major feature proposals:

Proposal Votes Technical assessment Suggested priority
Plugin system 1,240 Feasible High
Better documentation 980 Easy High
Mobile client 760 Expensive Medium
New UI framework 410 Risky Low
Blockchain integration 80 Experimental Very low

The community expresses what it wants.

Maintainers then evaluate whether those requests make technical sense.

This prevents two extremes.

Without community input:

"The maintainer wants it, so we're building it."

Without technical review:

"It got the most votes, so we must build it."

Neither is ideal.

The better system is:

Community priority → Technical evaluation → Public roadmap

That gives users a voice without pretending that popularity equals technical feasibility.

Preventing Vote Manipulation

Contribution-weighted governance introduces another important responsibility: the contribution system itself must be transparent.

Projects should publish how voting weight is calculated.

For example:

Contribution Score = code + reviews + documentation + issue work + maintenance + longevity

There should also be safeguards against gaming the system.

Potential protections include:

  • Maximum voting weight
  • Minimum contribution requirements
  • Account-age requirements
  • Anti-Sybil protections
  • Review by multiple maintainers
  • Contribution quality checks
  • Periodic recalculation of voting weight
  • Public governance records

Most importantly, don't let a single person control the scoring system.

Otherwise you've simply moved the dictatorship one level down.

What Happens When the Leader Becomes the Problem?

This is where governance really matters.

Suppose a project leader starts rejecting contributors for personal reasons.

Suppose they refuse to accept competing ideas.

Suppose they stop maintaining the project but refuse to give up control.

Suppose they use their position to silence criticism.

What happens?

In a healthy governance system, the answer shouldn't be:

"Nothing. They're the founder."

There should be a documented process for replacing leadership.

Contributors should be able to propose a leadership change.

The community votes.

Contribution weighting determines voting influence.

And if the required threshold is reached, leadership changes.

No individual should be permanently irreplaceable.

But Isn't This Just Popularity Politics?

This is the strongest criticism of community governance.

Technical projects shouldn't be governed entirely by popularity.

A developer with 10,000 followers shouldn't automatically have more authority than someone who understands the project's architecture.

That's why weighted governance should combine contribution and trust, rather than social popularity.

A useful model could be:

Governance Weight = Contribution × Trust × Longevity

with a predefined maximum.

Even then, votes should primarily decide people and direction, while technical experts remain responsible for implementation.

The goal isn't to turn GitHub into a parliament.

The goal is to prevent it from becoming a monarchy.

The Founder Can Still Have a Special Role

There is nothing wrong with giving the founder an important position.

They may have:

  • Historical knowledge
  • Architectural expertise
  • Strong technical understanding
  • Community trust
  • A vision for the project

But that influence should be earned continuously, rather than being an unlimited lifetime entitlement.

The founder should be able to win an election.

They shouldn't automatically win one.

That's the difference.

Open Source Should Mean Open Governance

Having publicly accessible source code isn't enough.

If one person controls the roadmap, leadership, maintainers, and decision-making process indefinitely, the project may be open technically while remaining closed socially.

A healthier open-source ecosystem would have:

Open code
Anyone can inspect and contribute.

Open discussion
Ideas can be challenged.

Open roadmap
The community can influence priorities.

Weighted governance
People who meaningfully contribute have greater influence.

Limited authority
No contributor receives unlimited control.

Transparent rules
Everyone knows how decisions are made.

Accountable leadership
Leaders can be replaced.

Build Communities, Not Kingdoms

The biggest mistake an open-source maintainer can make is confusing being the founder with being the owner.

You started the project.

You don't necessarily own its future.

The developer who fixes bugs at 2 AM matters.

The person reviewing hundreds of pull requests matters.

The person writing documentation matters.

The person answering questions from new users matters.

The person maintaining infrastructure matters.

The person contributing quietly for years matters.

Open source succeeds because thousands of people contribute pieces of something they don't individually own.

Governance should reflect that.

Contribution should create influence.
Trust should create responsibility.
Leadership should be accountable.
And no one's ego should be bigger than the community.

An open-source project shouldn't be a kingdom with a benevolent dictator.

It should be a community where leadership is earned, decisions are transparent, and the people who build the project have a meaningful say in where it goes.

Build the software. Build the community. Don't build an empire around yourself.

Top comments (0)