I've started to consider how I want to license a project of mine, and I want people to be able to read, modify and distribute the source code. However, I also want to be able to monitise the project, and GPL and similar licenses aren't ideal for doing that. My concern is that someone will take my project, and either be able to distribute it for free, or sell it themselves.

I was wondering if there's a way to allow people the benefits of modifying and distributing source code, but disallow them to distribute binary versions, modified or not (meaning that if someone modified the source code, the only form they'd be allowed to distribute it in is as source code, not as a binary). This ideally would allow me to be the exclusive seller/distributor of binary copies/derivatives, but allow anyone to distribute it in the form of source code.

A follow up question: If this sort of licensing is possible, is there a way I could allow specific people/websites rights to the distribution of binaries (for the case where I want to work with a third-party distributor in the future)?


IANAL/IANYL. That said, the only halfway house I can think of is the path that Red Hat have taken with access to RHEL. If you want to get precompiled binaries (of other people's GPL'ed software) from them, you have to sign a contract that says you will not redistribute those binaries. However, anyone may get the source from them (which, it being some third party's GPL software, they are obliged to provide). And anyone with that source may build their own binaries from that source, which they may in turn redistribute so long as they do not in the process commit some other offence (eg, trademark infringement) - hence CentOS.

Since you intend to permit recipients of your source to compile it for themselves, and one of the freedoms of free software is the freedom to redistribute copies (with no limitation as to format), you're going to find it hard to stop people from getting your source, compiling it, then distributing the resulting binaries, without making your program non-free.

You can, as RH and Ubuntu do, prevent them from claiming it's your software, possibly by registering a trademark and requiring that that trademark be removed from those binaries. But I don't think you can go further than that and still be free.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.