Free software is not antithetical to commercial success
A common misunderstanding regarding the concept of free software, or a question you might see tossed around by people on the internet in different chat rooms, forums, and whatnot, comes from the misconception that the "free" in "free software" means free as in "free beer," i.e. gratis. When we, free software enthusiasts, refer to "free software", we are talking about software that respects the four essential freedoms to run, modify, copy, and share the software. As such free software can be a product you must pay for. To avoid confusion, free as in freedom software is often also called "libre software" to distinguish it from gratis software.
Companies and investors get easily scared away by the term "free software." I experienced this many times, from business incubators to working with corporate clients. The ideals of freedom and community often go together poorly with greed and selfishness. Telling a bunch of businesspeople that you intend on giving everything about your product to the user of said product, and that they can modify it how they see fit, doesn't usually sit well with them. Usually, you are expected by for-profit companies to give the least control possible to the users so that they depend on you. But as you may know, there are many free software projects out there with lots of people working on them full-time and earning money from doing just that; in the following paragraphs I
seek to explain how this is possible.
To understand how you can make money off free software, you first need to know that most libre software is in part or in full developed by volunteers, by people who want software that solves a specific issue and who want to share that with the world. One of the biggest problems is that it is hard to do something like that at scale. Volunteers may lack the time for continued engagement or other solutions appear and projects get abandoned. Others can choose to continue using and developing such a project if they so desire, that is one of the wonders of free software. However, this doesn't guarantee that someone will spend the time and effort updating something if they don't need it or find the work satisfying. There are projects such as GNU or the Linux kernel that could not exist in their current state without people being paid to maintain them. Developing an operating system is a challenging and time-consuming task, and a lot of highly critical infrastructure depends on it; you can't just leave someone stranded on the moon because a Node package got deprecated.
There are a couple of ways you can make your free software commercially viable: through offering support, customization, learning materials, server services, donations, or simply by selling the software you developed. These are the options which came to my mind first and which I will elaborate on. You're welcome to email additional ways of earning money with free software to firstname.lastname@example.org or share your thoughts on a microblog using the hashtag #EarningMoneyWithFreeSoftware. In addition, you can add your ideas to the LibrePlanet wiki page dedicated to making money as a libre software programmer.
Support: you offer support for a piece of free software (i.e. regular updates for a period of time, troubleshooting assistance, better documentation, priority bug fixes and patching of security vulnerabilities, other maintenance) in exchange for money. The GNU Free Documentation License, for example, was designed to be appealing to commercial publishers. Examples of companies or projects which offer support for money are Herodevs, which provides EOL support, such as patching vulnerabilities, for a bunch of free software projects, TWEAG which provides consulting services, or the web publishing software Wordpress which offers servers for you to host your own service, technical support, and more.
Customization: you create certain plugins or help a client integrate libre software with an existing application. Vuetify for example offers technical support and creates custom components with the VueJS component framework.
Learning materials: you create books, training videos, tutorials, workshops, or something similar about free software, which help the person who buys them to better understand a certain topic. Examples are Nixcademy which provides training classes for the NixOS distribution of the GNU/Linux operating system, Laracasts which has learning materials for the Laravel PHP framework, and the 3D software Blender with its Blender Studio subscription where you get access to learning materials for their app.
Server services: you have a piece of free software that you host somewhere and let other people use for a fee (i.e. a git server, XMPP server, chat applications). The self-hosted software forge Gitea is for example offering server services for money as does the software development platform Sourcehut and the web hosting platform Neocities. The online service platform Disroot offers paid plans for more storage space.
Donations: you accept donations for your work, usually also offering some creative control to the highest donors; it is important to make sure your donors understand the importance of the donations and be very transparent with what you do with the money and trust that people offer you. This is how the Free Software Foundation is financed, or the graphic editors Inkscape and GIMP.
Selling: There is also the option to simply distribute copies of free software you developed for a fee. You need to provide the source code upon selling it, of course. People are free to copy and redistribute the source code, but if you ask people to pay for the product at least some who value the work put into this piece of software will do so.
The realm of free software is far more complex and economically viable than the simplistic notion of "free as in free beer" suggests. The strategies outlined should offer a starting point for deciding how to make your project a commercial product. Or who knows for when you want to see how a project managed to get off the ground. Free software is not antithetical to commercial success, it's just a different way of looking at things. At its core, libre software is first and foremost about freedom and community, sharing knowledge, and solving problems.
Image Copyright © 2024 Gabriel-Cezarin Popovici, licensed under Creative Commons Attribution 4.0 International license.