Ken Whaley objects to some wording in my Wednesday column, in which I said, “A programmer using software licensed under the GPL also must publish new software based on it free of charge, with the source code available for anyone to use and modify.” This was my shorthand version of the license, and I thought was a fair description.
Whaley disagreed:
There are 3 incorrect implications or possible mis-readings here:
1) Simply “using” (running) GPL’d software imparts an obligation on the user to release source code to their programs.
2) Incorporating or using GPL’d souce code to create derivative works
requires the publication of the derived work.3) When publishing derived works of GPL’d software, the publisher is
not allowed to charge a fee.The truth is…
1) Using (that is, running/executing) GPL’d programs places no obligation upon the user. E.g., anyone can use the GNU C compiler and the program that is generated is not under the GPL at all. You could sell your program and not release the source. Technically, the output of a GPL’d program is not under the GPL except when the output constitutes a copy of the GPL’d program’s content. You really have to make clear the distinction between simply using GPL’d software and creating derived works of GPL’d software.
2) Incorporating GPL’d software into your own projects places no burden upon you unless you *distribute* the derived work. Companies are free to base internal tools and programs on GPL’d software without
having to release the resulting tools to the world. This is an extremely important point, because there *are* licenses that require the publication of any modifications (I think Apple and Bell Labs have licenses like that), whether they’re distributed or not. There is no reason why a company couldn’t make extensive use of GPL’d software and tools and still produce closed-source commercial
products. I think that this will be the major use of GPL’d software in for-profit companies.3) If a company chooses to make an actual derived work, it is free to charge whatever they want for it. The GPL says that the source must be made available to whomever you *distribute* your derived work. You are *not* obliged to release source code to the world, only to the recipients of the program. Yes, the GPL also says that the recipient of the software could then turn around and post it to the internet, or even charge a fee and re-sell it, but the distinction is an important one that is often missed.