Hey, folks, I'm back and I want to talk about "the cloud" and how it can enable people making open source software to make money. I've been thinking about writing a post about this for a while because I assumed it'd be pretty darn apparent that this is the way open source projects make money these days. But I still see projects making mistakes when trying to monetize, so let me help you guys out and give you a roadmap to making money making awesome open source code.
Let's start by talking about the success of Gmail and Google Apps (GSuite now?). What these services offer is a synchronized service with your data stored in the cloud, and made available across your devices. Disagree with having your stuff stored on Google's servers and the privacy implications all you want, but lots of people are using these services because it is easy. Gmail has now become the defacto standard for Email, and Google Apps seems to be gaining more traction in businesses and schools each year.
Now let's return to that whole privacy problem with Google. As an advertising company, Google mines your data and shares it with advertisers in order to sell you stuff. But it gets worse than just sharing your data with advertisers, as the Snowden leaks revealed, your data can get shared with governments as well without you ever knowing. And these are just the things we know are going on, we have very little insight into the nature of how these services are operated and just how deeply our privacy is compromised.
Beyond Google, there are other providers that are mining our data or, in Apple's case, simply controlling what applications we can install, and services and we can use in the walled garden that is iOS and MacOS. This leaves transparent open source projects and companies an opportunity to attract privacy-conscious users away from these proprietary "platforms" and services to more open and secure alternatives.
Enter Open Source Companies...
It's in our blood, as open source companies, such as my employer System76, we already know how to work in a transparent fashion and we care about the things that we know would protect users' rights. There is a desire for it as well, as we saw after the election of Trump, downloads of the open source encrypted messenger Signal app increased 400%. Users overall are becoming more aware of the consequences of existing services, and auditable, secure software is in style. As a result now is the time to make big moves.
So what's the point? A complaint I've heard for a long time is that the open source enthusiasts and Linux users aren't willing to pay for software. That may be true, especially if I can download that software's source code and therefore have no reason to pay for it. There's also a big push to use Patreon and other crowdfunding platforms in order to pay for continued development. This is a good idea, but really only ends up attracting the altruistic among us, or those who feel very strongly about the project. The better way is to offer users something that they can pay for but doesn't defeat the best qualities of free and open source software.
The Cloud Matters
So to answer the question posed in the last paragraph, the point is that it is my belief that we can attract a wide swath of users by making our open source software more convenient and make money doing it. We just need to repeat three words that are apt to sound like marketing jargon, but is actually sound wisdom: "The Cloud Matters".
Take for instance Pocketcasts, a proprietary app that is available on Android and via a web app. Why do I use it? It syncs my podcasts across my devices and keeps track of where I am in listening to different episodes. It's a great service, but I'd rather be using an open source application on both my Android phone and on my Linux desktop. Best of all, for the same syncing services, I'd easily pay $5/mo and maybe more if the apps on both platforms were native. I'm looking to Nathan Dyer to do this with his Vocal app (just need native Android and Ubuntu Touch companion apps).
Another example is NextCloud, an open-source Google Drive-like application that can store your files, host your calendar and contacts, as well as accomplish may other tasks through add-ons. My only frustration with NextCloud? That offer a hosted Enterprise solution, but do not offer a hosted personal solution (they do, however, link to third party providers). I would love to see them offer a hosted personal solution that is super easy to use and makes syncing the information across devices even easier - and I would pay for that convenience! I'd even put a price on it. I'd pay $15/mo for NextCloud "Personal", and I'd gladly do it so I don't have to manage a server like I do right now (as I'm self-hosting it).
Finally, there is the desktop. Canonical tried to make a half-hearted approach to this back when they shipped Ubuntu One on the desktop, but their vision didn't extend upon a few releases, and they killed off the project before letting it mature into something that could have been great. Ubuntu One challenged dominant Dropbox in an area where Dropbox was going to win due to pure name recognition and its prevalence across multiple platforms. But what Ubuntu One missed was the ability to integrate even deeper into the operating system and make it easier to set up and maintain multiple Ubuntu instances for users, such as a laptop, desktop, and all-in-one that all belong to the same user.
On top of this, partnerships with the aforementioned NextCloud could make these desktops very interesting platforms. Beyond syncing files, contacts, and calendars - imagine throwing an Email provider in there in order to make it easy for users to create new accounts and get access to advanced features via their native Email client. There is an enormous opportunity in a further connected desktop that Microsoft and Google are taking advantage of on Windows and ChromeOS/Android respectively. Even Apple is getting into this with iCloud. To me, this looks like vendor lock-in on those platforms, but our platforms are different and we know it.
Desktops like elementaryOS and Ubuntu could offer services on their platforms that enable users to manage their files, sync their data, and do it all using open source software where users have more control over their privacy and do not suffer lock-in (which inherently is built into most of existing open source services).
The best outcome of providing paid services to users is twofold. Users don't have to set up and manage backends with the worry that they won't stay on top of security, updates, etc. (but they still can if they really want to). Meanwhile, the projects behind these services get a steady income stream that allows them to operate.
So to sum it all up, let's not fight the cloud, let's embrace it.
Here's what we do now.
Ubuntu and Elementary, partner with NextCloud and a NextCloud provider (or become one yourself) in order to allow users to have the aforementioned services available to them: File, Calendar, and Contact sync and even application data syncing.
Nathan, and other application developers. Keep in mind that we are in a world where people use multiple devices of many different form factors. So it is of the utmost importance that you have a presence in the primary two places - desktop and mobile. If you don't, other applications will take the day (and make the money).
Let's work together. I realize this is a big undertaking for open source project (but this post is mostly aimed at those trying to make a living off of open source software). Projects should collaborate in order to ensure that everyone wins (and that open source companies make money)! So let's see what partnerships we can come to and work alongside each other where we can!