logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

A-few-ways-to-make-money-in-FOSS.md (5719B)


  1. ---
  2. title: A few ways to make money in FOSS
  3. date: 2020-11-20
  4. outputs: [html, gemtext]
  5. ---
  6. I work on free and open-source software full time, and I make a comfortable
  7. living doing it. And I don't half-ass it: 100% of my code is free and
  8. open-source. There's no proprietary add-ons, no periodic code dumps, just
  9. 100% bona-fide free and open source software. Others have often sought my advice
  10. — how can they, too, make a living doing open source?
  11. Well, there's more than one way to skin a cat. There are many varieties of
  12. software, each with different needs, and many kinds of people, each with
  13. different needs. The exact approach which works for you and your project will
  14. vary quite a bit depending on the nature of your project.
  15. I would generally categorize my advice into two bins:
  16. - You want to make money from your own projects
  17. - You want to make money participating in open source
  18. The first one is more difficult. We'll start with the latter.
  19. ## Being employed in FOSS
  20. One way to make money in FOSS is to get someone to pay you to write free
  21. software. There's lots of advantages to this: minimal personal risk, at-market
  22. salaries, benefits, and so on, but at the cost of not necessarily getting to
  23. choose what you work on all the time.
  24. I have a little trick that I often suggest to people who vaguely want to work
  25. "in FOSS", but who aren't trying to find the monetization potential in their own
  26. projects. Use git to clone the source repositories for some (large) projects
  27. you're interested in,
  28. [the kind of stuff you want to work on](https://drewdevault.com/2020/08/10/How-to-contribute-to-FOSS.html),
  29. and then run this command:
  30. ```
  31. git log -n100000 --format="%ae" | cut -d@ -f2 | sort | uniq -c | sort -nr | less
  32. ```
  33. This will output a list of the email domains who have committed to the
  34. repository in the last 100,000 commits. This is a good set of leads for
  35. companies who might be interested in paying you to work on projects like this
  36. 😉
  37. Another good way is to explicitly seek out large companies known to work a lot
  38. in FOSS, and see if they're hiring in those departments. There are some
  39. companies that specialize in FOSS, such as RedHat, Collabora, and dozens more;
  40. and there are large companies with FOSS-specific teams, such as Intel, AMD, IBM,
  41. and so on.
  42. ## Making money from your own FOSS work
  43. If you want to pay for the project infrastructure, and maybe beer money for the
  44. weekend, then donations are an easy way to do that. I'll give it to you
  45. straight, though: you're unlikely to make a living from donations. Programmers
  46. who do are a small minority. If you want to make a living from FOSS, it's
  47. going to be more difficult.
  48. Start by unlearning what you think you know about startups. The toxic startup
  49. culture around venture capital and endless hyper-growth is more stressful, less
  50. likely to succeed, and socially irresponsible. Building a sustainable business
  51. responsibly takes time, careful planning, and hard work. The fast route —
  52. venture capital funded — is going to impose constraints on your business
  53. that will ultimately make it difficult to remain true to your open-source
  54. mission.
  55. And yes, you are building a *business*. You need to start thinking of your
  56. project as a business and of yourself as a business owner. This undertaking is
  57. going to require developing business skills in planning, budgeting, scheduling,
  58. resource allocation, marketing & sales, compliance, and more. At times, you will
  59. be forced to embrace your inner
  60. [suit](http://www.catb.org/jargon/html/S/suit.html). Channel your engineering
  61. problem-solving skills into the business problems.
  62. So, you've got the right mindset. What are some business models that work?
  63. [SourceHut](https://sourcehut.org), my company, has two revenue streams. We have
  64. a hosted SaaS product. It's open source, and users can choose to deploy and
  65. maintain it themselves, or they can just buy a hosted account from us. The
  66. services are somewhat complex, so the managed offering saves them a lot of time.
  67. We have skilled sysops/sysadmins, support channels, and so on, for paying users.
  68. Importantly, we don't have a free tier (but we do choose to provide free service
  69. to those who need it, at our discretion).
  70. Our secondary revenue stream is [free software
  71. consulting](https://sourcehut.org/consultancy). Our developers work part-time
  72. writing free and open-source software on contracts. We're asked to help
  73. implement features upstream for various projects, or to develop new open-source
  74. applications or libraries, to share our expertise in operations, and so on, and
  75. charge for these services. This is different from providing paid support or
  76. development on our own projects — we accept contracts to work on *any*
  77. open source project.
  78. The other approach to consulting is also possible: paid support and development
  79. on your own projects. If there are businesses that rely on your project, then
  80. you may be able to offer them support or develop new features or bugfixes that
  81. they need, on a paid basis. Projects with a large corporate userbase also
  82. sometimes *do* find success in donations — albeit rebranded as
  83. sponsorships. The largest projects often set up foundations to manage them in
  84. this manner.
  85. These are, in my experience, some of the most successful approaches to
  86. monetizing FOSS. You may have success with a combination of these, or with other
  87. business models as well. Remember to turn that engineering mind of yours
  88. towards the task of monetization, and experiment with and invent new ways of
  89. making money that best suit the kind of software you want to work on.
  90. Feel free to [reach out](mailto:sir@cmpwn.com) if you have some questions or
  91. need a sounding board for your ideas. Good luck!