HACKER Q&A
📣 sam0x17

"Free if you know how to compile it" open source license?


Has anyone tried setting up an open source license oriented around the idea of "it's free if you are savvy enough to compile a binary, otherwise here you can pay for a pre-compiled binary"? I feel like this could be a very interesting option for solo developers who want to monetize their open source work but want to keep things free for other developers and/or people willing to spend 5 minutes reading documentation on how to build the project.

This would also encourage non-developers to dip their toes in a development environment which would be an undeniably positive thing for the community.

Anyway was just wondering if at any point someone tried to set something up like this. I've been toying with adopting a model like this for one of my popular open source projects that has a _lot_ of non-programmer users and would benefit from increased participation from users in the open source process.


  👤 philipswood Accepted Answer ✓
This makes me think of pgModeller:

"pgModeler is open-source software, and you can get its source code anytime if you want to compile it by yourself. As a convenience, we provide compiled binary packages at a really fair price. Also, if you're interested in evaluating a binary package, you can get a demo copy before proceeding with the purchase." (quoted from from [1])

It's open source (GPL 3).

They give build instructions, but it's quite strenuous to build[2].

[1]:https://pgmodeler.io/download

[2]:https://pgmodeler.io/support/installation


👤 ahazred8ta
Do you mean that the license does not permit third parties to distribute compiled binaries, but only modified source code? Such a license does not meet the https://en.wikipedia.org/wiki/The_Open_Source_Definition . If you just mean that you (the original developer) want to give away the source but charge money for a compiled, installable version, you can already do that.

👤 dalke
The early days of PyMol (software for molecular structure visualization) were like that.

The software source was available to download and compile under a free software license. Pre-package binaries were available, but not under the same license. (Plus I think it included some non-free extensions). The developer made money selling site licenses for the pre-compiled binaries.

It wasn't much money. He had to deal with a lot of licensing paperwork. This was ~20 years ago, when credit card purchases were often over the telephone.

But this was also 20 years ago, before package managers became popular. I've had source-only free software distributions of mine turned into packaged distributions, without me even knowing about it. (Someone added one package to PyPI, and someone else another two to Debian.)

If your non-programmer users are used to installed from PyPI, or conda, or some other package management server, then they'll want to download your package from there too.

If your free software source is available, and it isn't packaged, then I think someone else is going to do it.

One of the downsides of package managers is how they worsen the connection between developer and user, and make it harder for users to 'dip toes' in the development environment.


👤 f0e4c2f7
I can't remember what the software was but I once ran across an open source project on GitHub that you could download there or at the bottom of the docs there was a link to steam basically saying "if you don't want to mess with GitHub you can download it from steam like you would a game or other software"

The Steam version was priced at $3 and had lots of positive reviews.


👤 sandwichbop
Armory3D seems to be doing just that. Looks like custom licenses are best for this scenario. Example https://armorpaint.org/download.html

Their license https://github.com/armory3d/armorpaint/blob/master/LICENSE.m...

ArmoryPaint is a sort of alternative to substance painter, and you can download it for 16€, but they also give you the choice of compiling it from source for free. It has a nice balance between people who pay for the convenience and frugal developers who understand and can compile it themselves (or don't but are now incentivized to learn, usually kids getting into game development) and can use the program; otherwise, wouldn't have been accessible.


👤 SahAssar
Caddy (web server written in go) used to do something like this, basically it was ad-supported (injected ad headers) in a non-commercial free-as-in-beer pre-compiled version and had a paid commercial version.

If you compiled it yourself there were no ads or commercial restrictions though.


👤 dyingkneepad
What in GPL or MIT is preventing you from selling the binaries? I mean, you'd have to ship the source code along with the binaries in the GPL case, but it doesn't prevent you from charging for it.

👤 btschaegg
This sounds like what Symless does with Synergy[1]. Or did -- now the repo is named "synergy-core", so they are likely also using an "open core" model now.

[1]: https://github.com/symless/synergy-core


👤 umen
Also this great pixel art editor doing it https://www.aseprite.org/

Wander if it's a good business decision ....


👤 caslon
It wouldn't be open-source, but there are a few companies that do something similar.

👤 the__alchemist
I still don't understand why compiling C programs is such a pain. Something about linking and dependencies; assumptions about system state that are often not true. IMO it should be as simple as 'cargo build'.