tags:

views:

139

answers:

4

Hi,

I am an author of an Open Source project, which is released under GPL2. I start to work on it alone for 2 years.

In every of my source code files, I attach the following information on the top of it.

/*
* 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*
* Copyright (C) 2009 Yan Cheng Cheok <[email protected]>
*/

Now, the project is getting attention from the public. There are increasing number of programmers are joining in. I was wondering :

(1) When there is a programmer modify my original source code file, do I need to add his name in the copyright section. But, with the increasing number of programmer, isn't that will keep the header almost unreadable? For example :

(2) If a programmer add a new source code file, the source code copyright shall belong to whom? Me? Or him?

(3) If there is a mixed copyright source code in a project, say,

A.c, B.c, C.c source code file is copyrighted Yan Cheng Cheok D.c, E.c, F.c source code file is copyrighted John

Will there be an issue? Say, in the future, John decide to switch D.c, E.c, F.c using different license, and Yan Cheng Cheok doesn't agree with it...... Who will have a final say then?

In order to avoid this type of conflict, shall I enforce all commited source code shall be copyright under me? But, I also do not want the new developer feel that his work is not being credited properly.

(4) Is there really to have "year" in the copyright information? If I put 2009, does that mean in 2010, I am no longer holding the copyright?

A: 

(IANAL)

Changes made by other contributors are copyright the author. When the contributors give you those changes, you are able to redistribute them under the GPL. What you can't do is relicense the contributors' changes under GPL-incompatible terms.

As far as contributors deciding to change licenses, that shouldn't be a problem. Once you have contributions under e.g. the GPL, a contributor can stop giving out new copies of their code but they can't take back the copy you already have.

Andrew Medico
A: 

IANAL

Each contributor would own the copyright to the parts that they wrote, but that shouldn't be a big issue.

John could not take back his code after he's already released it under the GPL, but he could rerelease it under another license, or create a non-GPL fork of it, assuming that every line of code in that fork is his, or he has permission from the other contributors.

If someone steals the project, in violation of the GPL, you can still go after them for the portions of it that you wrote, and other developers can do the same for theirs.

Some large open source projects require copyright assignment from contributors, to ensure their ability to protect the project as a whole, and their ability to relicense the project in the future without going back and getting permission from every past contributor.
http://www.gnu.org/licenses/why-assign.html
http://wiki.services.openoffice.org/wiki/SCA

David
+1  A: 

You might consider removing this clause:

, or (at your option) any later version.

as it changes your rights based on any future changes to the license.

I am not a lawyer, but once someone provides you a copy of their source code under a specific copyright, they would have a difficult time to change the license on you.

If they implemented a brand new file, I'd let them put their copyright on the file.

You can update the years in your copyright file every year.

Nolo press has excellent books on copyright issues. If you are concerned, get a lawyer.

Juan
+4  A: 

I am not a lawyer, but I have been looking into this.

As an author of software, be it a patch or a new bit of functionality you hold full copyright to your source code. You can decide how to license it or who to license it to.

When someone contributes source to your project you should at least get an email from them saying what terms their code is licensed under. For example, if you have an MIT project, and someone contributes a patch that is GPL, you are in a pretty big pickle. To accept it you would have to re-license your project under the GPL.

So, first things first:

  • Get something in writing from the contributor that explains what license his contribution is covered under.

Lots of open source projects would like the leverage to change open source licenses, say for example you want to re-license under GPLv3. You will have to contact every contributor to do that, some of them may be unreachable, and again you will be in a bit of a pickle.

To combat that many large open source projects have a JCA (Joint Copyright Assignment), which in tech speak mean: "All your contributions belong to us" (See for example suns contributor agreement: http://www.openoffice.org/licenses/sca.pdf)

When a JCA is in place your source can have the simple copyright: "Copyright (C) 2009 Yan Cheng Cheok [email protected]" because you are the copyright holder.

If there is no JCA in place I think stuff is a little messy, you need to amend the files and place the right contributor names on the right files. Or better still only maintain a single License.txt and have all the acknowledgments in one spot.

So to avoid all this hassle the easiest thing is to:

  • Get a JCA in place

The year on the copyright doc does not mean it expires in the subsequent year.

Sam Saffron
JCA does help. I had draft a JCA for my own usage.
Yan Cheng CHEOK