By George Hammerbeck

Attorney David Loundy’s clients never meant for their database to be free software or for its code to be open source. But when a database contractor used snippets of code copyrighted by the GNU General Public License (GPL), the clients were shocked to find they couldn’t sell their own software as a proprietary work.

Because of the way the GPL is written, if you, your staff, or your contractors use code that falls under this copyright license, the end product must also use the GPL. It’s a lesson that many more development managers are likely to learn the hard way, especially if they draw heavily from GNU or Linux communities, which rely on this license. Here’s a look at the history and purpose of this popular license and the ways it can affect you.

What is GPL?
Many people think GPL is a general term describing a type of license or an open source license. In fact, the GPL is properly called the GNU GPL and is a specific, copyright-based license developed by Richard Stallman and the Free Software Foundation.

While Stallman’s story is almost mythical in the computer community (and well documented elsewhere—try Salon’s “The Saint of Free Software”), what is pertinent here is the integral role of the GPL in the evolution of the free software movement.

In 1984, Stallman noticed that proprietary companies were using copyright law—which applies to copying, modifying, and distributing intellectual property—to keep users from sharing or modifying the code after purchasing it. Since copyright law has been nearly universally adopted outside the United States, it proved very effective in creating proprietary software. Stallman wanted to turn that idea on its head.

Bradley Kuhn, vice president of the Free Software Foundation (the organization charged with enforcing the GPL on GNU software), said that Stallman decided to use copyright law to assert the user’s right to copy, modify, and distribute the code—a usage he called copyleft.

“The GPL, in its very first section, says you have the fundamental right to copy, share, modify, redistribute, and use this code. We assert those rights. The restrictions in the GPL are designed to make sure no one takes away those rights,” Kuhn said.

These rights were critical to the development of GNU, which relied on a widely dispersed group of programmers. The GPL ensured that everyone’s work would remain open and that no one would be allowed to effectively steal other people’s contributions. It requires that if you benefit by creating a derived work, you must contribute that work back to the commons.

While the GNU GPL is the original free software license, it is no longer the only free software license. During the 1990s, companies such as Netscape and Mozilla decided to write their own versions. In some case, these licenses are incompatible with the GPL, Kuhn said. The GNU GPL is available, along with a complete list of free software licenses, on GNU’s site.

Not just open source
Although GPL is often thrown about as a synonym for open source license, it predates the open source movement, and its scope extends beyond simply releasing the source code. The open source movement promotes the idea that open code creates better technology, but the Free Software Foundation focuses on the belief that free software ensures that the software market remains a free market.

“GPL asserts your freedom to copy, share, modify, and redistribute the software,” Kuhn explained. “So a free software license has to give you the freedom to copy the software any way you want; it has to give you the freedom to modify the software in any way you want and distribute those modifications. And it has to give you the freedom to redistribute at-will modifications, be they gratis or for a fee.”

Kuhn noted that while the open source movement has certified the GPL as an open source license, its does much more. In fact, since GPL came before the open source movement, calling it an open source license is actually anachronistic, he said.

This may seem to split hairs, but such details can make a difference in how much control you eventually hold over your software. For instance, the X Windows System uses an open source license that keeps the code open but allows companies to use that code in other, proprietary products. Simply put, companies can use the code for X Windows to build a new product that does not fall under the open source license.

With GPL, this isn’t allowed. Any work that uses any GPL code must, under the terms of the license, also fall under the GPL.

Joining the GPL club
In some ways, using the GPL is a political statement, Loundy said.

“The goal of it is to say you can have this software, but it is subject to certain licensing terms. And those licensing terms are that you have to let other people build on what you’ve done,” he said. “So free software is not free as in cost, it’s free as in political.”

GPL can also be a valuable business tool, as companies such as Red Hat and MySQL can attest. In a follow-up article, we’ll discuss how the GPL can make good business sense and the issues you should consider before deciding whether to use it.

Developers should remember that the GPL’s purpose is to create free software. If you use it, you are committing your work to a free and open community, where other developers and users can modify, copy, and distribute it.

“You don’t have to join the GPL club,” Kuhn said. “You’re not required to get involved. If you do get involved, you have obligations.”

Are you a member of the GPL club?

Have you or your organization ever developed software under the GPL? Are there any pros or cons that you think others might not be aware of? Send us an e-mail with your thoughts and experiences, or post a comment below.