Living with the GPL

There has been a lot written about the GPL--both good and bad.
For example, sone people write about how it curbs innovation while
others write about how it promotes innovation.
To me, the GPL is a tool.
What the user does with that tool determines the results.

This article is my opinion.
I am not a lawyer and I don't even play one on TV.
To me, that is good.
Innovation should be about innovation, not about how the company with the
most money can have their lawyer claim they are being innovative.

What is the GPL?

GPL stands for GNU General Public License.
In case it isn't obvious, the GPL is a license.
It was written for licensing software but there is no reason why the
same license or at least the same concepts cannot be applied to other
products.
It is not a copyright or a patent.

The GPL essentially says that if you incorporate software that is
under this license into some software you are developing then you have
various responsibilities.
If you look at other software licenses, they are the same.
That is, they may have different responsibilities defined--for
example, you can only use the software on one computer--but that is
all they do.
They define some terms that you must agree to in order to use the
software.
The software that you are using may be covered by one or many Copyrights
and possibly one or more trade secrets.

When you purchase most software you only receive a runnable version of
the software.
This is usually called an executable or a binary.
But, this is not how the program was originally written.
It was written in a programming language and then translated
into this binary form using other software.
This original form is called the source code.
Thus, what you have received is essentially static--you cannot modify
it to correct errors or enhance it.

The GPL was specifically designed to license the source code.
Almost universally, the source code is covered by a copyright.
The GPL then identifies the terms under which one can use this
material.
This is very similar to what you find in the front matter of a book.
That is, there is a copyright by either the author or the publisher
followed by an explanation of how you can use the material.
The most restrictive definition is no use whatsoever beyond reading it..
More common is permission the excerpt a number of words in reviews.

What Does the GPL Say?

You can read the license itself for all the details.
My interpretation is that it says If you incorporate software covered
by the GPL in something you do and make the resulting software
available to others in any form then you have to make the source
code for your resulting software available royalty-free to anyone.

What it does not say is that you have to give everyone your resulting
software if you just made it for your own personal use.
It also does not say you cannot sell your resulting software to others.
They are welcome to buy it but they also could obtain it for free.

I am sure you are thinking about why someone would want to pay for
something if it was available for free.
Here are some reasons:

  • You offer the software as part of a package. For example, you
    sell technical support and training along with the software.

  • You distribute the software in a convenient form (a CD, for
    example) along with printed manuals.

  • Your buyer realizes that in order for you to fix and enhance the
    software you need an income stream.

For the buyer, they also realize that if you do not support the
software then they have alternatives.
They can elect to support it in-house or go to another
company and ask them to support it.
Thus, GPL licensing increases buyer confidence in the product.
If you are a small company, this enhances your competitiveness.

You commonly hear that the GPL inhibits innovation.
I see it as quite the opposite.
If a company has a product covered by a copyright or patent and
licensed such that you cannot modify or enhance it, you are stuck with
only the enhancements they decide to include.
For a new company to enter the same market they first have to create a
base product which is likely to just be a lot of work with little or
no innovation.

With GPL-ed software, starting with the GPL-ed base product and
addressing specific customer demands is both innovation and a good way
to capture market share.
Thus, companies that advance the product, get the customers.
Even though their source code will be avaiablle to other companies,
they get to market first and have the necessary understanding to
properly support the enhancements.

Why is software like a book?

You will hear some people say that software is like a book while
others will say it is not like a book.
Let's look at the comparison.

  • With books and software, there is one original source. It is
    either the source code written by a programmer or the original
    document--most likely in some word processor format--written by the
    author.

  • The author of either might be the employee of a company that
    pays him a wage to produce the product or someone doing work
    for hire.

  • No matter how many copies of theproduct are made, the author cost
    is the same. That is, there is no additional author time
    involved in making more copies.

  • The author payment is negotiated. It could just be their
    salary, an agreed upon amount or a per copy royalty.

  • The publisher will have additional per copy costs.
  • Some authors or publishers get rich, others lose their ass.

Ok, I guess they are exactly the same.

Henry Ford and Innovation

Lets suppose that Henry Ford was the first person to create a vehicle
with four wheels powered by an internal combustion engine.
(Maybe he was. Hell, I don't know and I don't really care.)
In any case, let's further suppose he decided to patent this
innovative technology.
What would have been the result?

There are a lot of possibilities.
Here are a few.

  • Everyone from Chevrolet to Toyota would be paying royalties to
    Ford.

  • Your Buick would have five wheels and your Toyota would have
    three.

  • A whole bunch of lawyers would have made a lot of money off of
    law suites related to the Henry Ford patent.

  • We would all be driving hovercraft.

On this list, the only item I see mildly creative is the last and
unless you claim that a Ford patent would have inspired this
innovation, I see nothing good that could have happened from the
patent.

On the other hand, you see companies that try to market around someone
else's innovation.
For example, Peugeot has a patent on some diesel engine technology
which increases efficiency and reduces pollution.
Some companies will elect to pay Peugeot a licensing fee while others
will try to convince you that the technology isn't important thus
keeping oil prices and pollution levels higher than needed.

Does the GPL Restrict Making a Profit?

This depends on your definition of a profit.
If it is important to you that someone can make a profit on not doing
anything, the answer is yes.
That is, traditional software licenses allow the vendors to continue
to sell the same old stuff without fear of competition.
Not being forced to update your product will, of course, increase your
profits.

On the other hand, if all software was under the GPL, the companies
that made a profit would be those that actually did something.
For example, let's say that Bill Gates has some sort of economically
fatal aneurism and decided to put the source code for Microsoft Windows
under the GPL.
What would happen?

Anyone could make a new version of the software.
They could, for example, fix a few thousand of the bugs in the software
and market it as a better version on Windows.
Lots of virus-infected users would quickly buy it.
Of course, the source code for this improved version would be
available to Microsoft meaning that
the next version of Windows from Microsoft might actually work better.
But, lots of people would support the new company because they fixed
the problems in a timely fashion.

What would likely happen is that many smaller companies would spring
up, many staffed by ex-Microsoft employees, that addressed specific
concerns.
Some customers would want the product that was the most secure.
Others the one that ran the fastest or used the least amount of RAM.
While all these enhancements might make it back into the core
Microsoft product, the availability of the various versions would make
them desirable products.

In addition, many enhancements might not be compatible.
For example, modifications that reduced RAM usage would not
necessarily be compatible with modifications that increased
operational speed.
Thus, individual markets would grow and companies would dedicate
themselves to these specific markets.
That sounds like innovation.

Is there an alternative?

Maybe you have read all this and you think the GPL really stinks.
Read it again--it sounds like you weren't listening.

Ok, you did and you still think I have smoked too much GPL-weed?
That's fine, there are alternatives.
That is, there are other software licenses that combine the freedom of
sharing your source code with others without requiring them to pass
their work along for free as well.
Many will argue that this is less desirable but it is your choice.

The most common of the other free software licenses in the BSD
license.
This license is from the University of California at Berkeley and
essentially says "Here is our code. Do what you want with it but don't
claim we have endorsed your product."
There are others.
There are many articles about software licenses in Linux
Journal
.
Here are a few pointers:

There are many more articles out there but this should get you
started.
Or maybe you really do think the Microsoft approach of buying the
software for $50,000 and selling it over and over again is the best
approach.
You pick.