Over the course of this series, we’ve taken a look at what the GPL is, why using GPLed blogging software is important and how the GPL impacts some of the more common peripherals and add-ons to most blogging software. However, one of the most critical aspects of the GPL remains to be looked at, what is one’s own requirements under the GPL when they use such licensed code.
Of all the elements of the GPL, this is perhaps the most important. The idea of free software means little is users are unable to use GPLed code or build upon it. However, with those rights does come responsibilities that must be addressed.
An understanding of this is especially vita with blogging software as changes are more easily made, even by novice programmers, and the desire to customize and improve ones blogging platform is almost ubiquitous among those managing their sites. This combination leads to a large amount of tinkering, but by those often unaware of their obligations under the GPL.
However, in this post we’re going to talk about what your obligations are under the GPL and, make it simple to follow both the letter and the spirit of the license.
It’s About Distribution
One of the items commenters have pointed out correctly is that GPL only takes effect when software is distributed, or conveyed as the license itself said.
If you take a GPL-licensed work, edit it and use it for yourself, you have no obligations to do anything further with it. As long as you don’t convey it to others, a process the license defines as “any kind of propagation that enables other parties to make or receive copies” one has no requirements placed upon them.
There are some who believe that, for example, using a modified GPL script on your site is, in and of itself, a form of distribution. After all, others will be accessing the script via their Web browser. However, the license itself says otherwise, specifically writing out such circumstances by providing an exemption for “Mere interaction with a user through a computer network, with no transfer of a copy.”
In short, if you use GPL softawre on your site, even if you manipulate it, you don’t have to meet any of the obligations of the GPL so long as you don’t convey copies to others However, when you do covey copies, even if it’s a limited use such as giving a copy to a friend, the GPL’s obligations kick in.
Since it is very rare for one to create a derivative of a GPL application and never wish to distribute a single copy of it, it is important to be aware of the obligations one has under the GPL and be prepared to meet them.
Completing the Circle
Once you’ve made the decision to convey a copy of a modified version of a GPL application, even if your modifications are very small, it is worthwhile to take a moment and ensure that your redistribution completes the circle of the GPL and meets all the requirements the license sets down.
Please note that the requirements may be slightly different between the various versions of the GPL. It is critical to make sure that you are meeting the requirements for the version of the license your particular application is under.
- The New Works is GPL Licensed: If you create a derivative work of a GPL application, the new work has to be licensed under the GPL as well. It is an obvious first step but one that bears repeating.
- Provide Access to the Source Code: You must provide access to or include a copy of the source code. With most blogging tools and Web applications, this issue is moot as the application and the source code are, effectively, one and the same (meaning they don’t have to be decompiled to be edited). However, with other applications there are various approved ways of providing the source code, the easiest usually being to just provide the code with the distribution.
- Provide Notice You Altered the Work: You must provide “prominent notices” stating you modified the work. How you provide these notices will vary from app to app, but if you look for the notices of others before you, you can likely find the system being used.
- Keep Intact All Notices: All GPLed applications carry a fairly standard disclaimer of liability and warranty that must be kept intact. The license allows allows you to add disclaimers if needed.
- Avoid DRM: You are not allowed to use any software that prevents copying of a GPLed application.
It is important to note that you don’t have to include a full copy of the GPL with every copy you distribute, though most applications still do. Your notices should reference the GPL and make it possible for others to locate a copy of the license easily.
There are also requirements that may or may not apply to specific applications such as the requirement to include appropriate notices in the user interface, which is not a requirement if the application does not provide them currently, but are important to be aware of.
In the end, it is important that you read the GPL license carefully and look at how the specific application is complying with the license. Generally speaking, if you’re editing an existing app, it is better to follow the lead of others than try to forge a new trail.
In the end, GPL compliance is not very difficult but it is important to think about in advance as it does require some preplanning. Even if you never plan on distributing your changes, it is worthwhile to go ahead and treat the application as if you were, simply because you may change your mind and don’t want to be cause trying to “catch up” on the issue.
Hopefully, when it is all said and done, the GPL is welcome sign for developers and not something that will intimidate them into avoiding such applications. The GPL was designed to encourage the building upon of existing works and, if developers find it too intimidating to work with or distribute GPL apps, this purpose would be defeated.
Fortunately, for all of the legalese, GPL compliance is actually fairly easy. It just requires that one be aware of their obligations and plan in advance to meet them.