[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