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 (5694B)


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