1Some problems

  • Marketing problem: People don't even know the project exists.
  • Onboarding problem: People want to contribute to the project, but the project's README doesn't have clear instructions.

The only way to make significant money from open source project is to get hired by a company who wants to pay one to develop that project.1

Donations don't work. People are not assholes, but they are lazy, and donation is too hard. The only time donation works is when people can physically give you the cash from their physical, real, meatspace wallet, like in street busking.

Well-designed systems minimize the assumption that humans behave nicely. Well-designed systems minimize wishful thinking.

How to make money from open source software; scarcity?2

Rbpaservices's comment: "Open Source Devs speak at conferences to make ends meet."3

C.J. Silverio raises some concerns about npm in her video4, which gives me some hope that npm will be gone in a few years and be replaced by entropic5, but is it that simple?

2How people can contribute (it doesn't have to be code only)

  • Report issues.
  • Help troubleshoot issues.
  • Contribute code.
  • Write documentation.
  • Request features. Find things to do. Write proposals. Discuss proposals.
  • Spread the word in online forums.
  • Help onboard newcomers.

https://opensource.com/life/16/1/8-ways-contribute-open-source-without-writing-code

3Software business?

https://en.wikipedia.org/wiki/Software_business

https://en.wikipedia.org/wiki/Business_models_for_open-source_software

4What?

The bullshits we hear often6

5Maintaining open-source projects

Be a benevolent dictator. Don't be democratic. Be decisive without being offensive. Skip the swearing. Don't put your words in other people's mouths. Avoid statements whose subject is "you", such as "you are …", "you said …", "you want …", "you think …".

When you don't want something, you can just say "No", repeatedly if necessary. You don't have to explain why. You have the final say. Not everything is open to discussion.

Democracy doesn't work in open source. Most people are lazy, polite, selfish, short-term-oriented, impatient, and incompetent.

If you are democratic, you will waste your time convincing people who won't be convinced anyway. People who already understand don't need to be convinced. People who don't understand will never be convinced.

If you are permissive, your codebase will degrade into a pile full of half-done half-assed workarounds.

Tolerate no mediocrity. Tolerate no misspelling. Reject incomprehensible commits. Demand the absolute best. Never lower the bar. It's better to receive no contribution at all than let a shitty contributor in. Working code is not enough. The code should also be correct.

If you receive an almost good contribution, either you fix it, or you reject it.

Reject incompetent people.

Get out of the way of competent people. Don't distract them from doing their job.

If you want to leave the project, appoint a replacement dictator?

Contributors may often have IQ above 130, but IQ doesn't meant competent. Higher IQ only means faster learning; that's all.


  1. https://www.quora.com/How-do-big-open-source-project-maintainers-make-a-living

  2. https://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity/

  3. https://news.ycombinator.com/item?id=12808429

  4. The economics of open source by C J Silverio | JSConf EU 2019 https://www.youtube.com/watch?v=MO8hZlgK5zc

  5. https://github.com/entropic-dev/entropic

  6. https://modelviewculture.com/pieces/what-your-open-source-culture-really-says-part-one