views:

191

answers:

4

Working out some code to release under the apache license. At the end of the license it shows you what to include in yoru files to indicate the copyright and licensing info. However, some software released under this license (e.g. testng) only includes a copy of the license and the source code has no copyright statements.

Does it matter if the code has copyright headers in it? I really hate seeing these things in my code, but I want to do what is needed to ensure the licensing applies.

+1  A: 

The copyright is owned by you regardless of where you put the license. If you communicate the license as applying to the code that you own, then you're good regardless of where you put it.

It is very convenient and much less likely to confuse everyone if you put it everywhere, but putting it everywhere has no significant legal impact.

One compromise that seems wise to me is to put the full license only in a few places, and then a pointer to it in every other file ("This file is licensed under the same terms as...")

Of course, IANAL.

Daniel Papasian
+4  A: 

It's useful to have a short license statement a the beginning of each file, just to make it clear if said file gets separated from the rest of the pack or is accessed through some non-tar.gz interface like Koders or Google code search.

jamuraa
A: 

While you do own the copyright whatever you do with the license, if the terms of the license aren’t made to legally apply, then the legal rights of the recipient could turn out to be very different than what the license says.

If you want to have a very high degree of confidence that the terms of your license will be legally binding on the recipient of the code, you should have a process in place that requires them to signify their agreement to the terms before they get the code (for example, the usual “click here to agree” and if they don’t click, then no code is delivered). Without something like that, they MAY be bound to those terms, but it will depend on a variety of other issues their lawyer would point to if it ever mattered.

There are many circumstances that may make it matter – here are three of them: If you want to be able to use legal process to collect money from the licensee (presumably not your situation), if you are concerned about getting the licensee to agree not to hold you liable if the code doesn’t work, and if the code actually belongs to a third party who requires you to apply their terms.

Obviously, you should talk to a software lawyer for advice in any particular case. Point is, just doing what Apache says may or may not be enough to cover all the legal issues.

Will M
A: 

Dunno about apache, but some licenses like the CDDL have an explict "file by file" nature, so that it is explicitly clear that code of one license and code of another license can be mixed together so long as each file has a license header. Most other licenses are silent on the issue of what happens when you have a project that has source from six other projects, each with a different licenses. Licenses such as GPL make such file by file mixing of licenses impossible or trickier. Obviously I'm a developer not a lawyer.

MatthewMartin