[Discuss] Profiting from GPL software

Matthew Gillen me at mattgillen.net
Wed Jan 27 09:42:46 EST 2016


On 01/26/2016 07:31 PM, IngeGNUe wrote:
> I'm not good with legalese, but does the GPL allow for that? For
> releasing the source code only after payment?

Yes, because the requirement to release source code only comes into play 
when you /distribute/ the software.

The trouble you can run into is that nothing stops your first customer 
from then turning around and giving it away for free (other than maybe 
their own self-interest if your software gives them an advantage over 
their competitors).

This is why most companies that successfully do business around the GPL 
(e.g. Redhat) sell services, and don't try to make money directly from 
selling software. It's just too unreliable to depend on every customer 
to not turn around and give it away.

An interesting exception to this was various instances of 
dual-licensing.  Two that I had either first or second-hand experience 
with were QT and MySQL-AB.

Long ago, before Oracle bought MySQL-AB, they had a rather obnoxious 
business model (they were perfectly within their rights, the way they 
went about it was underhanded though).  They gave away the 
mysql-connector under the GPL.  Then later, after you had a product, 
their lawyers would stop by and inform you that because you used the 
connector, the GPL will infect your product.  Unless you want to buy a 
license for the non-GPL version of the connector.   What made it perhaps 
seem underhanded is that they all of a sudden realized this was a 
possibility and sent lawyers first thing.  Just had the feel of 
extortion.  Which is bad for your company, esp. when your product is 
trivially replaced in many cases by other free(er) alternatives.

TrollTech (owners of Qt before Nokia bought it) had a similar 
dual-license model for Qt: use the free GPL version, or they would 
license you a version for use in commercial software.  TrollTech was 
very up-front about it, and made a concerted effort to educate people 
about the distinction between those two versions /before/ you were 
committed.   So they had a bigger hammer which they could have tried to 
beat people with (their product was absolutely unique compared to the 
well-trodden relational-database space; there still to this day is not a 
cross-platform C++ GUI framework that is so elegant), and yet they 
resisted the urge to adopt the extortion-like business model.

These days, I don't think many people would fall into the MySQL-AB trap, 
because everyone (at least in the circles I run in) pays pretty close 
attention to the licenses of third-party software.  It took getting 
burned by not paying attention to some details of what some of your 
lower level programmers were doing, but I'm actually happy to see 
lessons got learned.  The more voluntary compliance there is, the less 
lawyers have to be involved, and then everyone stays productive.

The interesting corollary to this though is that when dual-licensing, 
you're potentially giving up the community contributions.  Not many 
developers will be willing to sign over their work so other people can 
sell it (which is what TrollTech and MySQL-AB had to do so they could 
legally do the commercial license).   This was probably less of an issue 
for MySQL-AB, since the only point of contention was the connector, 
which is a relatively small piece of software; the main database being 
GPL didn't cause any problems.  Qt was much bigger code-wise, and had 
major open source projects built on it (e.g. KDE), so there was a 
constant tension.  Amazingly they made it work, although admittedly I 
was not in the trenches of KDE development to know the nitty gritty.

Matt



More information about the Discuss mailing list