Making money as a libre software programmer
- 1 Work on the internal software of a company
- 2 Write or customize libre software on a contract basis
- 3 Write or customize libre software for an online service
- 4 Write or customize libre software for a hardware product
- 5 Sponsorship
- 6 Trademark Licensing
- 7 Crowd-funding
- 8 Support
- 9 Subscriptions
- 10 Pay what you want distribution
- 11 Sell a limited run of physical copies
- 12 Funding from charities
- 13 Funding from other non-profit organizations
- 14 Grants
Contrary to what some may believe, working in libre software does not mean you cannot make money as a programmer. Libre software is not anti-business. Richard Stallman used to live on selling tape copies of GNU Emacs for $150 back when internet connectivity was rare. Later, he made enough money customizing GNU software that he was able to only work seven weeks out of the year and spend the rest of year working on important free software projects.
Here are ways programmers could make money today while respecting user freedom. You will also find case studies exemplifying each business model. Successful projects and programmers often employ a mix of these methods. Makers of proprietary software also employ these methods sometimes to increase revenue or because they do not make enough money from licenses due to unauthorized copying. However, we do not list proprietary software here.
Work on the internal software of a company
Private software is libre. This is a common job for programmers already.
Write or customize libre software on a contract basis
Customization services are commonly offered by software companies. They call it “open source customization”, but we reject this terminology.
Write or customize libre software for an online service
Service sales fund development. Excludes Service as a Software Substitute
Write or customize libre software for a hardware product
Product sales fund development.
- PureOS/Purism Note: Purism hardware is not yet generally recommendable because of proprietary firmware. However, PureOS is FSF-endorsed.
Organizations provide funds and benefit from the software and marketing.
Your trademark is licensed to service providers in exchange for a fee.
Can be one-off or recurring.
Companies or organizations subscribe for commercial support for a specific software. The income is then used to fund the development of that specific software.
End-users make payments to receive updates and new releases.
Pay what you want distribution
End-users pay for a ready-to-run supported program from an official source.
Sell a limited run of physical copies
Works well for games. Gives collector value to the product.
- independent art and music
Funding from charities
In the United States, non-profit 501(c)3 charities will sometimes fund software development
Funding from other non-profit organizations
In the United States, 501(c)(6) organizations include Business leagues, Chambers of commerce, Real estate boards, Boards of trade, and Professional football leagues. Business leagues represent the interests of an industry. Most industries would benefit from funding some libre software projects. Similarly, Chambers of commerce represent the interests of all industry in a trade community. Most would also benefit from funding some libre software projects.
Grants are monetary gifts that do not require repayment. Oftentimes the grantmaker receives other benefits from giving you the grant, such as access to you, demonstration of impact, a report of your work, or tax benefits.
Grants can come from many places, including companies, software foundations, philanthropic foundations, and the government. The technical and legal aspects of a grant vary greatly depending on where it comes from. For example, a company might give you a "grant" but legally treat it as a consulting invoice. A philanthropic foundation can only make grants to nonprofits, so you would need to be a nonprofit yourself, or (more commonly) find a nonprofit to sponsor you. If you're unfamiliar with grants, the best way to understand how grants work is to talk to someone who has received one before.
- Sentry Grant
- The Chan Zuckerberg Initiative
- Alfred P. Sloan Foundation
- Andrey Petrov + Stripe Open-Source Retreat and urllib3
- Dat Project
- Django + Mozilla Open Source Support
This page was a featured resource in July 2019.