Hacker News new | ask | show | jobs
by latj 3383 days ago
What is tricky about using GPL for commercial development?
2 comments

Per-copy licensing, which is the base of most commercial software distribution, is pretty much impossible with the GPL. Also, a software company might have licensed some parts of the code from another party - this might not be compatible with GPL. Finally, some companies like to keep trade secrets. This is also incompatible with the GPL.

I can understand that many here disagree with this, and I am an open source advocate myself. Nevertheless, it is important to understand how some companies work. The best way to change this, is to create enough open source software, which can be used as a replacement for closed packages.

> Per-copy licensing, which is the base of most commercial software distribution, is pretty much impossible with the GPL.

Equivalent basis for support contracts, which have actually been the key part for many years in most non-consumer software contracts even when they nominally include copyright licenses, are quite possible (and common) with GPL software.

When you are selling a support contract, GPL is no problem. But this does not cover the sale of a software which costs many thousands per seat, you cannot make up lost sales revenue with support contracts. The cost pressure would drive customers to use the software with way more seats than they have support contracts for. And the GPL would prevent any legal licensing scheme which would try to enforce a support contract per user of the software. There are exceptions to this - a hosted platform like github can of course count the number of accounts created for invoicing.
Red Hat charges per server, which is pretty much the same thing as per copy licensing.
They figured it out.

You're not paying for the software on that server.

You're paying for a license to use a few non-free packages containing trademarked material (basically the visual skins / logos nicely factored out) but more importantly, support.

And the success of Red Hat comes to no small amount from other software companies, which certify their software products often on Red Hat only. That means, if you are trying to get technical support for that software, it might depend on running on red hat. Of course, the software would in principle run on most other Linux distributions, especially Fedora, but I have seen smaller incompatibilities when running not on Red Hat. So this creates a certain market pressure to use Red Hat.
RedHat is smarter than everyone. The have obtained security accreditation that is required by the USG and many commercial auditors. Ultimate lock in and profit from a protected position. How many RHEL license are bought by the USG and the Fortune 500 for only this reason? RH, the compamy, is a good citizen. These rules only become onerous if you have money, so it is accepted.
Not really. Customers are more than free to switch to CentOS, or even other distributions or pay someone to fork parts of Red Hat. Red Hat is providing support.
If you modify some free software, repackage and resell it without contributing the changes, then you are breaking the intentional viral effects of the license.

Most of the web stuff that people work on these days is rather outside of this problem, unless is an AGPL license.

It is tricky if you want to base your commercial product on a derivation of a GPL licensed software.

Not really, GPL only says whoever receives binaries, must also receive their source code. Receiver then can, but is not obliged to, publish it or contribute back. Still, yes it does cause problem with various licensing schemes.

But per-copy licensing without source code availability is an atrocity enabled only by misapplication of copyright/IP laws, where copyright holder can write practically anything into the EULA and have the law system enforce the terms "for free". I hope our civilization eventually comes up with better and more GPL-aligned software distribution model.

You don't have to contribute GPL changes back. Whomever you give a binary to you'll have to give the source to if they ask. It's pretty much that simple.
That's a distinction without a difference as anyone who receives the binary must also have access to the source and be free to redistribute that source, so effectively all derivative works of GPL'd code are GPL'd unless you refuse to distribute.