Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Part of the FSF's instructions for placing a program under the GPL is including the following "copying permission statement" at the top of your file, under the copyright notice:

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

I am wondering what is the significance of each paragraph in this statement. In particular, for a program that I am about to release under the GPL, I am considering omitting the second and third paragraphs to reduce the length of the statement, and I'm wondering what would be the negative consequences (if any) of doing so.

share|improve this question
    
The license says you can't do that. That's all. –  Robert Harvey Jul 20 '12 at 0:50
    
@RobertHarvey: Can't do what? –  HighCommander4 Jul 20 '12 at 3:59
    
Can't abbreviate the "copying permission statement." If you don't like the licensing terms, select another license. There are plenty to choose from. –  Robert Harvey Jul 20 '12 at 5:32
    
@RobertHarvey: Could you point me to the part of the GPL that forbids this? I couldn't find it. Thanks! –  HighCommander4 Jul 20 '12 at 7:37
1  
@RobertHarvey: The note that suggest so is located after the "END OF TERMS AND CONDITIONS" marker in the GPL license text. It's therefore non-normative. –  MSalters Jul 20 '12 at 9:18
show 1 more comment

2 Answers 2

up vote 5 down vote accepted

The GPL FAQ answers all your questions (and more!).

The short answer version - Yes, you can shorten the copyright, copying permission, warranty, and license statement. (And yes, that's a flip-flop from my previous answer).
But you (still) may not want to.

From the GPL License under

"How to Apply These Terms to Your New Programs"

emphasis mine.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

Translated:
You do not have to insert that block of text at the beginning of every source file. FSF highly recommends it since they called that the safest course of action. Either they envision or have dealt with problems where the full block wasn't included in every source file. FSF is pretty conservative in their legal stance, so I take heed when they make a strong statement like that.

If you were looking to shrink things down, then at a minimum you would want your copyright statement and the exclusion of warranty claims.

It's distinctly possible that you could run into problems later on as your project grows and is shared by others. Developers are lazy efficient. When they pull only the sections they need from your project, they may or may not remember to update the correct places where the copyright, permissions, warranty, and license statement are now supposed to exist based upon the reduced form you started using with your project. If the block is already there, then the only thing that might be missing is their addition of their copyright statement.

IMO, it's easiest and safest to include the block in each source file. That best covers all of the what-if scenarios that you can fall into. Most IDEs provide a way to fold comment blocks so you don't have to see it every time. Comments aren't included with source, so it won't bloat your program. If you honestly don't care about losing control over the code, then don't worry about it. For that matter, then you should consider licensing as public domain instead of GPL.

FAQ sections of relevance

Omitting the preamble

The preamble and instructions are integral parts of the GNU GPL and may not be omitted. 
In fact, the GPL is copyrighted, and its license permits only verbatim copying of the 
entire GPL.

Including the license

Including a copy of the license with the work is vital so that everyone who gets a 
copy of the program can know what his rights are.

Which extends to developers looking at your code, and in part that's why you have to have the preamble in place.

However, you're still free to add additional disclaimers, if need be.

Summary of the paragraphs

  1. "This is free. Here's how you can use it."
  2. "No Warranties. Hope you find it useful anyway."
  3. "Got License? No? Here's where you can find it."
share|improve this answer
    
The "preamble" and "instructions" mentioned are the first and last bits of the actual license text. I am not intending to omit those, and I am certainly not intending to omit the entire license text. I simply want to shorten the notice that's put at the top of each code file. –  HighCommander4 Jul 20 '12 at 16:29
1  
"Free" meaning "free as in speech." –  Robert Harvey Jul 20 '12 at 18:00
add comment

I don't see how the header could be shorter and effective in doing what needs to be done. The first paragraph declares the code free under the stated license. That license places some restrictions on what can be done with the software/source code.

The second paragraph is a disclaimer of warranty. I am not a lawyer, but personally I would want that paragraph retained. It may not prevent someone from suing you, but it makes it difficult for them to succeed.

The last paragraph is a pointer to a much larger set of information which should replace the paragraph. It shortens the header significantly by omitting the contents of the document it points to.

share|improve this answer
    
Why does the disclaimer of warranty need to be in the source file? It's already there in the license text, to which the source file points. –  HighCommander4 Jul 20 '12 at 4:11
1  
Because source files don't always come with the license. Also programmers often read the source and not the license file. Even if they do, it is many paragraphs down where they may miss or claim to miss seeing it. –  BillThor Jul 20 '12 at 4:27
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.