6

Continuing from Author has inserted copyright into code with gnu public license notice - implications?, can I add my author name to a new file (with original code) that I added to a project that comes with a GPL license - as in:

# GPL License and Copyright Notice ============================================
# This file is part of __PROJECTNAME__.
#
# __PROJECTNAME__ 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.
#
# __PROJECTNAME__ 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 __PROJECTNAME__; if not, write to the Free Software Foundation,
#  Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
# __PROJECTNAME__ Copyright (C) 2005-2009 __ORIGINAL_AUTHOR__, 2010-2015 __TEAM__,
# 2016 __ME__    # <-- this ?

Should/could I (preferably) add a "this file" notice as in:

# __PROJECTNAME__ Copyright (C) 2005-2009 __ORIGINAL_AUTHOR__, 2010-2015 __TEAM__
# This file Copyright (C) 2016 __ME__

Note that as discussed here "The GPL is not a per-file copyleft license, but per the whole package" - so can I add a "This file Copyright (C) 2016 ME" clause ? Can I drop the:

# __PROJECTNAME__ Copyright (C) 2005-2009 __ORIGINAL_AUTHOR__, 2010-2015 __TEAM__

line from the new file ?

In short is it as simple as:

# GPL License and Copyright Notice ============================================
# This file is part of __PROJECTNAME__.
#
# __PROJECTNAME__ is free software: ...
#
# Copyright (C) 2016 __ME__

?

The file in question: https://github.com/wrye-bash/wrye-bash/commit/e58607e53229a869712b6729720d378081e7a513

Here is a relevant faq item from the GNU faq: http://www.gnu.org/licenses/gpl-faq.en.html#GPLModuleLicense

EDIT: I care cause this is original design solving a long standing problem and I want to be able to use my design in a possibly closed source application in the future. Not sure how this mixes with the GPL though.

2 Answers 2

7
+50

There are two separate copyrights in play when you contribute to an open-source project. There's the copyright on your individual contribution, and then there's a copyright on the entire collective work of the piece of software.

Additionally, there's the general issue of whether a copyright notice is required to satisfy the terms of the law or the terms of the license. For both the law and the terms of the GPL license, a copyright notice is not required to preserve your rights: your rights are assigned automatically upon creation.

Because there is no legal or contractual obligation related to copyright notices (except so far as to not modify existing ones without permission), it's up to the project to decide how best to handle this situation. There are three main scenarios:

  • The software project requires contributors to assign copyright upon contribution. This is the stance the Free Software Foundation takes and it makes the whole notice thing super simple: you don't get to have your own copyright notice because you no longer have a copyright to the code.

  • The software project maintains a centralized copyright notice. In this case, the entity that holds the collective copyright on the entire piece of software generally gets a notice, and a link to some other file may or may not be maintained indicating the individual contributors. If it isn't maintained, remember that you still have copyright over your contributions: typically the changelog or SCM is enough to establish authorship over significant contributions to the code in that file.

  • The software project maintains per-file copyright notices, which is what you are leaning towards. In this case, the recommendation of the Software Freedom Law Center is to add a new line for each significant contributor to the file, indicating their contributions.

Since you're concerned about adding a new file, if you went with per-file copyright notices, it'd look something like this:

Project Name, Copyright 2012 Collective Copyright Holder. Licensed under the GPLv2 or later.
module.c, Copyright 2016 John Doe <[email protected]>: Original implementation

Subsequent contributors would add a new line to this notice:

Project Name, Copyright 2012 Collective Copyright Holder. Licensed under the GPLv2 or later.
module.c, Copyright 2016 John Doe <[email protected]>: Original implementation
module.c, Copyright 2017 Jane Smith <[email protected]>: Fixed foo

Again, since there is no legal or contractual requirement to have a copyright notice to assert copyright, whether or not you should maintain the collective copyright holder notice would be based on the preference of the project: if it's there or they want it there, you shouldn't remove it.

10
  • Very helpful thanks. The sole maintainer of the project is me, so I can take decisions. What I want to make sure is that I can use my design wherever I want, even if I decide to close source it. Given that this is a GPL project as whole can I do that ? So I do not want to "to assign copyright upon contribution", I want to keep the copyright of my original design but still be able to mix the code with the project (see my last edit to the question) May 18, 2016 at 17:34
  • @Mr_and_Mrs_D since you're the sole contributor, you can license your code however you want, including licensing it via the GPL and a closed-source license at the same time. In the future, you could decide to stop licensing new versions via the GPL, effectively close-sourcing it. However, you can't retroactively revoke the GPL: the previously-released versions would still fall under the GPL, allowing others to fork from an older version and continue developing it as GPL-licensed code.
    – Evan
    May 18, 2016 at 17:41
  • @Mr_and_Mrs_D if, however, you allow outside contributions, you would not be able to close-source those contributions since the GPL license would apply to those unless you got an agreement from the contributors to relicense their contributions under another license. The alternative would be to strip out those contributions or reimplement them in a clean room. That's the main benefit of the copyright assignment: it would make you the sole decider of relicensing questions since you would hold the copyright for 100% of the code, even with outside contributions.
    – Evan
    May 18, 2016 at 17:42
  • Thanks - so how should I spell this ? Can I replace the # 2016 __ME__ # <-- this ? line in my first listing with games.py , Copyright 2016 Utumno: original design, All rights reserved and be done with it ? A linky on that would be great too. I am really not sure the GPL would allow that - note So your module has to be available for use under the GPL. in gnu.org/licenses/gpl-faq.en.html#GPLModuleLicense May 18, 2016 at 18:25
  • You are the sole contributor of your program and have the copyright. You can license that program under multiple licenses. A license determines what other people, who are not the copyright holder, can do with your work. You are not bound by that license as the copyright holder. You can choose at any time to not license new versions of your software (the collective work) under the GPL and close source it. However, if you choose to continue licensing the collective work as GPL, your new code, as part of that collective work, is bound by the GPL.
    – Evan
    May 18, 2016 at 18:53
5

License and copyright are two very different things.

GPL, in general, makes sure that any derivative works are still GPL.

If you add new code to code that is GPL, that will still be GPL, but you have the copyright to the new code, and can put that into a copyright notice in your files (and you should do that).

That will not do much for you, except that anyone who wishes to make a non GPL version of the code will have to get your acceptance for the license change if any part of your code is included.

18
  • Thanks - which is the right way to word it though ? May 6, 2016 at 20:23
  • 3
    If you are the only one who have done work on the file then: Copyright 2016 Mr_and_Mrs_D. Don't overthink it. If you are the only one who worked on a file then your copyright comes into force no matter what. Stating it in the file only makes it obvious to the world. But stating it is a good thing to do.
    – Bent
    May 6, 2016 at 20:34
  • 1
    Removing copyright notices? Didn't you ask about adding a copyright notice? And is the new file entirely of your own copyright or a derivative work of an existing work of which you created a new copy and modified it or which you translated into the new file and which you adopted / extended?
    – hakre
    May 11, 2016 at 17:06
  • 1
    @Mr_and_Mrs_D: I can not answer that authorative. The only person who could for yourself would be you, your own. As this is a bigger project, contact the maintainer / lead(s) and ask what is accepted. They probably have a CREDITS file or some meta-files for extensions or similar. As long this is your copyright, it's you who can write the copyright line. No fuzz. But there are others with the project as well, so ask there what is accepted and raise your concern. In the end this is most often less a legal issue, but more a social one.
    – hakre
    May 13, 2016 at 15:46
  • 1
    You can't get a final wording for that, because if it's your copyright you decide entirely your own. From what you write (original file, written entirely by yourself, no influence on the code from other works) this is entirely to you. As for the project, decide if you want to give copyright ownership to the project. Contact them what is common with them. If that is your project, ask yourself what you want.
    – hakre
    May 16, 2016 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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