Kyle Rankin

Kyle Rankin

PGP ID: 0xB9EF770D6EFE360F
Fingerprint: 0DFE 2A03 7FEF B6BF C56F73C5 B9EF 770D 6EFE 360F
Librem Social
Kyle Rankin

Latest posts by Kyle Rankin (see all)

Free software isn’t free. Free software geeks love to correct people by saying that the “free” in “free software” refers to freedom (libre), not cost (gratis). We even join in this word play at Purism by naming our laptops Librem–a combination of the words libre (freedom) and librum (book). Whether free software is written as a labor of love in someone’s free time or written as part of someone’s full-time job, even if the developer doesn’t charge for the software the cost to make it is still there. In this post I’ll talk about why Purism funds free software through hardware, and why we didn’t take some of the other popular approaches.

Working for Tips

It took me a couple of years to remodel my bathroom, because I only worked on it on weekends. When you already have a full-time job, you don’t necessarily want to work every weekend too, so there were plenty of weekends where I did other things. Yet I probably could have completed that multi-year project in a couple of weeks if I could have worked on it full time.

A lot of great software has been written in a developer’s free time, and arguably most free software is written this way. Yet if we want free software to progress as quickly as possible (and we do), we must enable more people to pursue their labor of love full-time instead of just on the weekends. That means paying people full-time salaries for their work. Giving tips, patronages, or a percentage of sales is all well-meaning and I’m sure developers appreciate it, but few developers get enough from that route to quit their day jobs.

So how do you fund free software in a sustainable way?

Paid Support, Open Core, and Cloud Service Models

The traditional way to fund free software is by charging for support. Indeed there are plenty of examples of free software, like Red Hat and Ubuntu for instance, that take this approach. A variant of the paid support model is the “open core” model, which funds free software by selling a proprietary version of the software, often an “enterprise” version, that adds extra features. In either case the proceeds from paying customers (typically enterprise customers, rarely consumers), funds development of the free software for customers who don’t need support, or don’t need the features from the proprietary version.

Unfortunately for this model, paying for software directly (whether proprietary or free) is falling out of favor. Even Microsoft, who has made billions selling software in the past, is moving away from that model and moving instead to a subscription and cloud services model. These models exchange one-time fees for monthly payments to continue to use the software or service.

The cloud services model is particularly popular for funding free server software that powers many cloud services. In this model the customer pays hosting fees to use a company’s free software on the company’s cloud instead of hosting it themselves, with the belief that the company who developed the software is best suited to host and support it.

Yet even some companies who have opted for the cloud services model are finding it difficult to fund themselves (and therefore free software) with that approach. They face direct competition from other companies who can host the same software on their own cloud infrastructure. Since the software itself is freely available, they must compete on cost and quality of the cloud service, and rely on their reputation of being the experts who developed the software to begin with. Competitors who only have to cover hosting and support costs may find themselves at an advantage over the company directly funding the development, particularly when price is the main concern.

Hardware Model

At Purism we realized that charging customers for software and support wouldn’t be a sustainable model for us. Too few people are willing to pay what it actually costs to develop free software for consumers, at least directly. Since proprietary software runs counter to our social purpose, the “open core” model was off the table. Purism started as a hardware company, so we fund free software by selling hardware–something people are willing to pay for–and after the cost of developing that hardware is covered, the rest can go into funding free software development.

While we could have followed the model some other hardware companies take of giving free software organizations the equivalent of a tip with each hardware order, that model just doesn’t provide enough funding to sustain free software development, especially at the pace we need to compete with proprietary alternatives. Instead we hire developers directly, either full-time or part-time depending on the project (and the developer’s availability), so they can make their living advancing the same free software they may have worked on for fun in their free time before.

Indeed a large part of the money we’ve raised in our crowdfunding campaigns, in particular for the Librem 5, has gone to advance areas like making the desktop adaptive for everyone. We’ve made significant progress on these fronts, but it meant directly funding many developers over many years to get here. The progress we’ve made up to this point simply would not have been possible only in someone’s free time.

Because all of this is funded by hardware, it means we can take an “upstream first” mentality more easily. For instance, we are freer to move projects our team has built in-house like Calls, Phosh, Phoc and Squeekboard to GNOME so it’s part of a larger ecosystem. If these projects were funded by a support or open core model, we would have had a stronger incentive to keep a Purism brand on them.

Funding More Free Software

Even with all of the investment we’ve made so far in software development, we are still limited in our ability to grow that team by the amount of hardware we sell. This is a marathon, not a sprint, so we want to fund free software development in a sustainable way. Practically speaking, this means we have to make hard choices about which projects will get our developers’ attention and which will have to wait until later. Our Fund Your App campaign is a way to help us expand our development team and prioritize where we devote our time, based on what the community values the most.

Fundamentally though, our development team grows as our sales grow. When you order Purism hardware, you aren’t just funding advancements in hardware privacy and security, nor just getting hardware that runs free software well. You are directly funding the future of free software, not just software that runs on Purism hardware, but software that benefits the entire free software ecosystem.


Recent Posts

Related Content