HACKER Q&A
📣 sylvain_kerkour

How to sell apps on Linux?


Hi HN, With the recent major advancements of Linux phones and tablets, convergence becoming a reality, I was wondering:

How to make a living creating apps for Linux, whether it be for the Desktop or the phones?

Do you have any experience or examples you want to share?

Are in-app subscriptions and enterprise support the only way to go? As the usual distribution channels (repositories and 'App Stores') don't seem to provide a straightforward way to sell software.


  👤 hn_throwaway_99 Accepted Answer ✓
Take this for what it's worth, but virtually every example I see here is for applications that are supported on Linux, but certainly not specifically targeted towards Linux. Looking through the comments I see Jetbrains apps (which are built in Java and designed to be cross-platform), Steam, Sublime, Spotify, Dropbox, etc. I can guarantee all of those apps make the vast majority of their money from paying Mac and Windows customers, and they either offer a Linux version because they can afford to for essentially developer goodwill, or there is an interoperability story (e.g. a Dropbox user may use Mac most of the time, but needs it to manage some shared storage on all of their machines, including some Linux ones). Perhaps one exception I could see to this is highly technical or engineering focused software (e.g. Matlab, CAD software), but that software is largely paid for by large organizations like companies and universities.

HN folks may not like to hear it, but in general your "average" Linux user makes the absolute worst software customer: they can get tons of stuff for free so there is a high bar when it comes to willingness to pay for non-free software, they have very high demands about how software should work, and they are most likely to run customer configurations on different combinations of hardware, making bugs more likely, and they are usually quickest to switch if something better comes along.

And by the way, calling someone a "bad customer" is not really a putdown; being highly discerning about where one spends their money is more of a compliment.


👤 dec0dedab0de
You can follow all the same techniques that software companies on other OSes use, for example I bought Pycharm to use on linux, and its no different than anywhere else. Steam also runs on linux.

If you want to be OpenSource and sell your apps there are a few different ways. You could not provide any official downloads unless they pay, your paying customers could legally redistribute your code, but only you would have the official source. You could charge for binaries and provide code free of charge like Ardour. You could also sell support contracts, so paying gives them an offical account to ask questions on the forum or a number to call in.

But either way its the same as windows or mac, the only reason most non free software companies don't sell linux software is because there are less users, and they don't want to deal with making sure it works.


👤 jll29
Since the discussion here is a lot about business model and package managers etc., I'll throw in two pieces of advice from the business side:

§1. You want to make sure that your app solves a real problem well that users actually care about.

This is easy to understand, but sadly many talented software people ignore the wisdom and pay dearly. It fair enough if you WANT to write yet another text editor or you WANT to write something in Go and you pick yet another password manager as an exercise. But to build a commercially successful product, you should do plan for success and not leave it to luck. What areas are underserved for Linux, what groups have the budget to purchase your program and also are actual Linux users? (How) can you reach them?

§2. Develop apps that are better than the free apps.

This isn't very hard for many areas, since there are a lot poor free applications out there. However, many app types are not "mission critical", which means you can live fine without using/having them at all.

An example of a killer app was the spreadsheet app on the Apple II: people literally bought the machine to use the software. Of course there's a lot available today, so the bar for success is higher.


👤 wesamco
Sublime HQ Pty Ltd, developers of Sublime Text and Sublime Merge sell licenses and use the package managers of each distro and host their own package mirror.

> Sublime Text 3 includes an auto-upgrade mechanism on Windows and OS X to make upgrades a snap. Instead of going against the grain of the Linux ecosystem, packages and package repositories are provided for most of the major distributions.

https://www.sublimetext.com/docs/3/linux_repositories.html


👤 eps
It's a popular subject in the shareware/isv circles and the stable consensus is that it's a phenomenal pain in the ass.

From the userbase being generally against the very idea of paying for software, to the complete clusterfuck of the package managers, the amount of effort required to sell and support native Linux apps is simply not worth the effort compared to even Macs, leave alone Windows. There are some highly visible exceptions, but they are just that - hard to reproduce flukes.


👤 freedomben
I'm a long time Linux user who buys software. If you want me to buy it, these are the things you should do:

1. Provide an RPM repo or COPR repo I can add so it is managed with dnf. You'll also want to provide .deb too

2. Make source available with payment, and allow modification for individual use. It's ok to prohibit redistribution as long as personal use/hacking is ok

3. One time payment is a lot more attractive to me than a subscription. I'm beginning to despise subscription software

What are you thinking of making?


👤 bayindirh
I use some paid applications on Linux: inSync, MATLAB, StarUML, Pagico, Spotify and Dropbox. Last two are maybe services but, they have clients which change capabilities with license level.

If you want to sell me Linux software, provide a fair pricing model and provide a native app (Spotify is Electron but, it's not a bad offender). Also, please do not neglect your app just because it's on Linux. I don't like to feel neglected just because I use a free & open source OS. You'd kill my loyalty.

Some of the applications are subscriptions, some are not. Some require paid upgrades, some do not. If I feel that your software worth the money you ask for, I'll pay for it, no questions asked.

I think inSync, StarUML and Pagico has great pricing models. The other examples I have work as a subscription already.

All of the applications I install (except MATLAB) comes as a .deb package. No frills. Plain .deb. Sometimes a repo is attached, which makes it nicer.


👤 burtonator
I'm about to get downvoted to oblivion but the solution here is don't sell apps on Linux.

People on Linux don't pay for apps. Target a platform like iOS where users are willing to pay for apps. 85% of total app store volume across iOS and Android is from iOS.


👤 inetknght
I am both a developer for and user of Linux.

Paid-for software is best distributed using your own repository. @wesamco's comment describes how Sublime Text is distributed and it works well. Other paid-for softwares have similar success.

I use Synergy. To install, I need to download a pre-built application. When it runs it will ask for a license key. I type in the license key and it goes and verifies it.

Both solutions solve different problems. The repository solves package management: installation, versioning, and dependency chains. License keys ensure that the software is paid for.


👤 amelius
Make your software free to use by individuals and small companies, but require a payment from large companies (with e.g. >$1M revenue).

This way you avoid being pirated too (large companies typically don't pirate).


👤 opan
One idea that I think could be interesting is to take jobs working on existing free software projects. Maybe a project has 150 open issues and someone is particularly bothered by one with no attention since 2018, so they're willing to pay for it to be fixed. This way you still make money (if you can find such deals/jobs) but you aren't locking out a share of users by charging everyone for a piece of software.

I've seen a bit of this sort of dynamic on the omemo.top site, where you can see which XMPP clients have OMEMO support. In the case of clients lacking it, they link to open issues, and some show cash bounties on them.

I care about free as in freedom more than free as in no cost, but I don't think I've used any paid software... pretty much in my whole life. Unless you count using MS Office or Photoshop in a school computer lab where the school had paid for licenses for all the machines. (and even then it was rare for me to use any non-gratis stuff)


👤 herbst
Ubuntu has a store, Steam allows (any/game related?) software, Itch/Humble are kinda common (again kinda gaming related)

But buying little apps is simply not common on linux. Sure many would but why when you can just apt an easily alternative.

If you produce niche or major software subscription, buying licenses and co are more common anyway.


👤 turbinerneiter
I'd really wish for a paid app store on Linux to be more common, especially for open source apps. Make it a monthly recurring donation even, but send me a proper bill for bookkeeping.

👤 brudgers
Make something useful for Linux users. TurboPrint is an example of Linux software I have bought. It's more capable than CUPS for my use case.

It solves a known problem. It sells via a website. Makes enough money to have been around a long time and charges enough to stay up to date.

It is also in a market segment that is orders of magnitude larger than Linux phones an tablets are ever likely to achieve.

Good luck.


👤 sliken
Details matter, but without anything else to go on, I'd consider an open source projects, then sell a professionally managed service that makes it easy for customers to use. Of course include backups, patching, and support as part of the management.

Projects like Piwigo (image editing, organizing and hosting) and SchedMD/Slurm are good examples.

Generally it's MUCH easier to budget based on subscriptions, then playing the prediction game for which users will pay $x for feature Y.


👤 paxys
The Linux phone and tablet market is still too underdeveloped and fragmented for a real answer here. There are several possible approaches for Linux apps on desktop, but that really depends on what you are building, who your target audience is etc.

👤 qbasic_forever
Make a living off it? Write the app in a framework that lets you one click compile and build for Android and iOS too. That's the truth.

👤 lucb1e
Since I have no experience with GNU/Linux phones (only Android/Linux) but you're also interested in desktop answers: just look at what other paid software does that runs on Linux. When I go to sublimetext.com I just click buy and it gives me the option of paying for it with credit card or paypal. Or Atlassian's on-prem option: you just go to the site, pay for it, then get what you paid for. Keep it simple, no need for anything novel. Another example is factorio: again just an up front cost (though they should have offered at least the option to pay towards upkeep costs because they do a superb job and the game is already really "done" and they keep releasing more and more minor features for free).

If it's a subscription, the ongoing cost really needs to be worth it to me. I might donate much more easily than take a subscription, for example I pledged iirc 1% of K-9's (the email client) funding goal for a few months because I would like to get it out of its current stuck position even if I don't believe we need a person on an already-perfectly-functional email client working full time all the time. (I suppose here's at least one app example, though donations are of course not a business model. Then again, this is also about open source software, not a commercial app.)

Paid support would be interesting pretty much exclusively to businesses, from my experience. In general I'd like to say that good support is worth money also for private people, but looking at how often I've paid out of pocket for software support of any kind... After buying a product I just expect it to work, and if it doesn't, then either they fix it or I get the money back and stop being a customer. Feature requests would be something to pay for, but then the rates of that compared to spending a few hours hacking it together myself are again not worth it. You'd need some sort of crowdfunding model where people pledge together towards features, and I fear that might be over-engineering it.


👤 orta
elementary OS has an App Store: https://developer.elementary.io

I'm not sure if it'd be big enough to get you doing it full time though.


👤 happyjack
Man, I've been running Linux on a desktop (on and off, mostly on) since 2009 and I haven't ever paid for an application. Sure, I've paid support / development applications, have donated $, and have paid for SAAS, but never a standalone application. I'm not trying to discourage you or anything of the sorts. Just seller beware of your market and target audience.

I saw a comment below on self contained .tar. I think that's a really smart way to go. Or, make it Debian / LTS Ubuntu and a RHEL package. Support the big two. If anyone runs arch or something like that make them compile it themselves or ldd the binary.


👤 jayp1418
Well if you are focusing earning from desktop users check Elementary OS app store they have options to charge for app similar model to Apple's store.

If your target audience is developers or corporate check this license and their parent project https://prosperitylicense.com/


👤 _e
Develop for cross platform. People have mentioned PyCharm which has the same user experience on Linux, Windows and MacOS.

👤 gtf21
I recently bought a copy of Pianoteq for Linux -- was very simple, I paid and received a license and a download link. Someone has already built a package for archlinux so I just had to point that at the downloaded file from modartt and away we go. Very simple.

👤 swiley
You sell support and maintenance contracts.

That's how busybox and the kernel get maintained. End user software gets written by the users themselves, business software is written by consultants.

Most of the users are willing to pay not to use closed software. Also the distribution channels aren't anything like app stores. They're usually a repo maintained by the community and you work with them to package your software ex: https://gitlab.alpinelinux.org/alpine/aports

If you want to push corporate garbage like most iOS apps at people just build web pages.


👤 suchoudh
IMHO the bottleneck is non-availability of Linux phones and tablets. Once this is sorted out people will be willing to switch to them

Somehow the availability ( I am in India) is just not there as of now.


👤 TruthWillHurt
More often than not I pay for software my business uses as a subscription.

You could go for a "freemium" model where advanced features are payed-for, especially collaborative/multi-user ones, which will increase your userbase (individuals), that then recommend it to their company.

Collaboration/backup/remote-state features are also easier to justify as payed feature because you will need to store and serve content from a central location.


👤 pabs3
There are lots of companies with jobs in open source and other ways to make money from open source:

https://www.fossjobs.net/ https://github.com/fossjobs/fossjobs/wiki/resources


👤 tpoacher
The bad news is, there's no single way to package your product. The good news is, nobody cares, as long as what you choose works.

Also, linux users arent averse to paying for software. They simply expect their software to be respectful. That most paid software also historically happened to be disrespectful is more of a historical accident.


👤 mhitza
Crowdfunding, freemium, support, hosted/managed services, pay to download binary. Different projects have different practices.

If your project brings enough value, you'll definitely get people thay pay for it. But for small software ("apps"), I personally don't see a market anymore outside of mobile.


👤 renewiltord
The only apps I pay for on Linux are cross platform apps. Usually Linux specific apps have good open alternatives. The Ubuntu App Store has sell functionality but I never buy from it. I buy direct from the vendor.

I’m a 20 year Linux user now and I haven’t met in real life anyone who acts differently as a Linux user.


👤 phendrenad2
Linux phones are really taking off without a good app store? That doesn't sound plausible to me.

👤 pjmlp
The only way is to force the users to pay via Web applications and SaaS services, really.

👤 zamalek
Softmaker have a free version and a pro version. The former is available in the public proprietary repos (for Arch, at least). The latter is a download and requires an activation key. Their free version converted me into a paying customer.

👤 engneeer
This(https://build-system.fman.io/) looks interesting for building and distributing cross platform python-applications. Didn’t test it yet.

👤 charcircuit
The software I buy on Linux is pretty much all through Steam. Other than that I have the annual subscription for all of Jetbrain's IDEs.

👤 haecceity
Sell customer support and then get bought by IBM.

👤 pacifika
Sounds like there's a market for tooling to sell to app developers on linux, but not so much a market for selling linux apps.

👤 vbsteven
Support or service subscriptions are probably your best bet.

The only software I have paid for on my Linux machines is IntelliJ.


👤 timClicks
The snap store was specifically designed for commercial use cases, IIRC

👤 NoOn3
Maybe sell binaries for popular distribution.

👤 Railsify
Sell to corporations.

👤 tubularhells
Ask the developers of Insync, UKUU and Aseprite.

They sell licences via their sites, with activation codes or Google authentication.

But if you want to make a living, I suggest making a Linux phone oriented application store first and foremost, and figuring out the DRM that way. Developers will come if an ecosystem is built for easy deployments and selling software.


👤 vram22
There was a site specifically for selling Linux apps called linapp.com or so, that I had seen now and then for some years, but on a check now, it seems gone or down. They had products priced from tens to thousands of dollars.

👤 devenblake
>How to make a living creating apps for Linux, whether it be for the Desktop or the phones?

I want to phrase this with as much hostility as possible: Don't. Software cannot be owned or paid for and any attempt to normalize the opposite is cruel to anybody with a functioning brain. You cannot own a thought, or data, or bits or bytes, and much of the software you will no doubt use to create your premium software was made with this philosophy.

If you want to solicit donations that's very cool and there are people who will donate to you. But any attempt to abridge access to code without mandatory payment is not only ridiculous but purely unethical. (and no, I don't care how many HN points I lose by saying this)


👤 ris
Artificial scarcity is an absurd and broken model. Please don't put yourself or your prospective users through that nonsense.