The GPL is not viral

I was listening to a recording of Chris Messina talking about building infrastructure for the open source community at BarCamp Dallas; in the middle of the recording, a discussion started about the new version of the GNU General Public License.

Someone in the crowd claims the GPL is a “viral” license. This is a claim that has been repeated for years; unfortunately, it’s a ridiculous metaphor. The GPL says that if you download code under the GPL, change the source code, and release a new version, you have to release your changes to the source as well.

A virus, on the other hand is something that infects you, despite your best efforts to avoid it. The measles virus, for example, is passed through airborne particles. Nobody gets the measles on purpose.

The GPL may seem viral—if you include GPL’d code in your proprietary program, then you have to release your entire program under the GPL. The misleading part is that while you might contract the measles despite your best efforts to avoid it, it is unreasonable to say that you will inadvertently introduce GPL code into your program.

“Oh, I accidentally went to Sourceforge, downloaded a tarball, opened it, and copied code with the exact functionality I was looking for into the correct part of my program! Oh no! Help! I’m infected with the GPL virus!”

2 Responses to “The GPL is not viral”

  1. Amgine Says:

    The GPL *is* viral in an open-source community which attempts to build collaborative software. One project after another is forced to adopt it as the complexity of the projects increase, steadily decreasing the available non-gpl building blocks for the next higher-level development projects.

    You can live (or develop) in an entirely sanitary bubble, cut off from the rest of the community. And you will be an anachronism, probably years behind the current technology. Or you can join the community in which the virus is endemic, and be limited by its strictures.

    And you thought the GPL made you free?

  2. brandon.stafford Says:

    Hi Amgine,

    Thanks for the comment. What excitement!

    Here’s where I disagree with you: “One project after another is forced to adopt it . . .”

    If they are “forced,” who is doing the forcing? I don’t think anyone is forced to use GPL code in their project. With a real virus, like the measles, you can do everything in your power to avoid getting it, and you still end up infected. With GPL code, someone has to decide to click “download.”

    I agree that there is a huge benefit to building off GPL building blocks, and the person who doesn’t is in a tough situation relative to the competition. However, I don’t think that, “Give me your code for free with no restrictions because otherwise I’ll have to write it myself,” is a compelling argument.

    Maybe a better term for the GPL would be “popular,” “attractive,” or even “enthralling” or “seductive.” But “viral” implies infection against the will of the victim, and that never happens.

    Also, I would agree with your sort-of implied assertion that the GPL makes you less free, but only in comparison to, say, the BSD license. Within the GPL community, all are totally free– “free, beyond sharing” would be a good description.

Leave a Reply