Selling my own GPL software part 3, prior art (existing GPL software for sale)
Published: 24-04-2022 | Author: Remy van Elst | Text only version of this article
Table of Contents
In my earlier posts I described the hurdles I faced with my plan to sell my own GPL software and I described how to embed the source code directly inside the app (for mobile platforms). This post looks at a few other projects that sell GPL software and it's a bit of a progress update regarding my plans and software.
I'm developing a desktop monitoring app, Leaf Node Monitoring, open source, but paid. For Windows, Linux & Android, go check it out.
Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.
You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days.
This is part 3 in my series on selling GPL software. You can find the other parts here:
- Part 1: Selling my own GPL software, part 1: a lot of hurdles
- Part 2: Embed the source code directly in your Qt app with qmake and qrc, for GPL compliance
- Part 3: Existing GPL software for sale
Recap & progress update
I'm planning to sell my own open source software. I've decided I don't want to make a profit, just cover the running (hosting and a Qt license) cost, which lifts a lot of the business problems. In The Netherlands, there are a few rules which classify when you are a business, and making a profit is one of them, so by not doing that, I'm excluded from all the privacy hurdles that you have when you have a business (public records related). If I get any sales, I'll remove the price (or lower it significantly) once the cost for that year is covered.
The second post, describes a solution to a licensing issue, namely, embedding the source directly in the app itself. If I sell via my own site, I can send the user the source code (or provide it for download). On mobile app stores, I cannot directly interact with the users, so by embedding the code in the app itself, they still get access, without me having to make the code public. I'm not sure if app stores accept that, but I'll figure that out soon enough in the review process of the Play Store.
Do I expect to sell a lot? Probably not, but I've set the target to 5 sales a year The running costs are not covered with 5 sales, but it's a nice target to start with.
Now a progress update. The website is set up, payment provider integrated, Linux AppImage build script works, Windows installer also done. Even the static compile of Qt with automated builds works. So, most of my checklist is done. Android and a new version check are the major things left to do. You can check out the site, please send me comments, feedback and your thoughts via email (see the about page for my email address).
Enough with the recap, let's start by looking at prior art.
Existing GPL software for sale
As described in the previous post, it's fine to sell GPL software as long as you meet the license demands. I've written a summary here, and this post will cover a few examples I found online including how they differ from my approach.
I'm skipping over all companies that make their source available but sell support or consulting, like Red Hat. If you know of any more projects like below, please let me know. I'll add them to this page.
Fritzing is an open-source initiative to develop amateur or hobby CAD software for the design of electronics hardware, to support designers and artists ready to move from experimenting with a prototype to building a more permanent circuit. It was developed at the University of Applied Sciences Potsdam. Fritzing is free software under the GPL 3.0 or later license, with the source code available gratis on GitHub and the binaries at a monetary cost, which is allowed by the GPL.
I use Fritzing myself for a few schematics and as an easy prototyping tool, lower barrier to entry than KiCad and it's more visual to discuss a colorful example board with non-technical co-workers than a PCB design.
The download page states:
We are asking you to pay EUR 8 (around USD 10) for downloading the application. This way we can ensure future releases, bug fixes and features.
There is a choice for price, EUR 8 or EUR 25 and a checkbox for business customers. The version (installers) you get is the same, no matter the price or business-checkbox. I paid EUR 8 for the installers recently.
If you do not want to pay for a convenient installer, Fritzing provide detailed instructions on compiling from source.
Textual is an IRC client for OS X, a fork of LimeChat (another IRC client for Mac). LimeChat itself is (now) GPL, but back in 2010 when the fork happened, it was a BSD style license. Textual has a different license, sort of MIT/BSD like.
I've used Textual back in 2013/2015 when I daily drove a MacBook for work, nice piece of software. They provide build instructions and the source code. Pricing for the convenience version is USD 7,99, both Mac App Store as via their site, no other pricing options or business checkbox.
Elementary OS is a Ubuntu derivative Linux distribution. They offer a few apps written in Vala and link to all sources here.
The payment page has USD 20 as the default option, but with a free-fill text field. You can enter 0 as the amount, then the blue button text will change from Buy to Download.
There have been recent issues over at Elementary regarding founders and funding. I've never used Elementary myself.
In the HN thread, the creator of Ardour chimed in regarding the topic of selling GPL software. Ardour is a digital audio workstation, I have no experience with it, but have heard of it.
The payment page does not allow 0 to be filled in, 1 is the minimum. The default is USD 30. The page further says:
We ask that you pay about the cost of an average restaurant meal for two people in your country (which for a country without cost-of-living data is about US$30).
If you choose to pay less than US$45, you will get the current version and updates (e.g. buy version 6.0, get access to 6.1, 6.2, etc. but not 7.0). If you choose to pay US$45 or more: get the current version, updates and the next major version, plus access to nightly (development) builds.
No documentation on building is provided. Quoting the ardour faq:
If you don't want to pay for a ready-to-run version, then you'll need to get the source code and build it yourself. We do not provide assistance with this process and particularly on Windows and macOS this can be challenging and take a long time. Also, for Windows, there are no instructions.
The source code is over on github, but without any instructions.
Conversations is an open source XMPP/Jabber client, a mobile messaging app. This example was given over at lobste.rs by Stephen Paul Weber (singpolyma). I had never heard of the app before, but it looks interesting, given it has end to end encrypted video and audio calls.
Price is EUR 3,49 in the google play store, no desktop version is available. The README has build instructions and a boatload of help regarding setup and server features.
There even seems to be a free F-Droid version available.
I'm going to do things a bit different
The example's I listed are diverse in purpose, price, defaults and documentation. Either full build instructions are provided, minimal instructions or just a repository with source code. Some projects allow you to choose the price and some even allow 0 as a price (free).
In any case, the GPL demands are met, source is available. You pay for the convenience of not having to compile the software yourself.
What all cases have in common however, is that the source code is available. You do not need to pay to get it. I'm planning to send the code only to people who have paid.
This includes functionality inside the binary to export the source code which built the app. Whenever you download the app from the official site, you get the source right away, as well as the binaries. On mobile app stores however, I cannot send users a zip with the source and other binaries, so the app itself can export the source code that was used to build it:
Tags: android , blog , business , c++ , gpl , law , leaf-node-monitoring , license , qt