8

Many of my coding projects are licensed under the MIT license, with my copyright notice at the top:

Copyright (C) 2019 David Callanan

Anyone making modifications to my code must keep the MIT license in place.

How do contributors add copyright for their changes to my code? I'd feel bad having my name if 90% of the contributions were by other people.


One solution I've seen (if your project is on github) is to use the following copyright notice (in a markdown file):

Copyright (C) 2019 [these people](https://github.com/<repo>/contributors)

This has a few issues:

  • Any revision of the project is now copyrighted by the contributors of the latest revision
  • This form of copyright doesn't seem legally acceptable, because the page linked to isn't in plain text and therefore might not be clear
  • GitHub could break these links at any time
  • The project could be moved to a new git provider (such as GitLab) and all copyrights are then broken
  • Forks to the project will be copyrighted by the original project
  • The entire project is copyrighted by each contributor rather than the sections they changed being copyrighted by them

My other idea would be to have a folder for each contributors work and they can put whatever license they like in that folder. These folders would contain machine-readable instructions to modify the original with their changes to produce their modification.

This has following issues:

  • The produced final code would not include their copyright/license
  • Messy - it's like reverse-engineering a copyrighted project and then creating code that adds changes on top of the project without including the original project in their source (except in this case there's no reverse-engineering)

Another way would be to just add the contributors names to the MIT license (How should I assert copyright when I'm forking an MIT project?)

This has following problem:

  • It's not clear what portions of the project they worked on

What is the proper way to note contributors work with the MIT license? Or is another license necessary?

3 Answers 3

5

The correct answer likely depends on how many contributors you have and how much work you want to keep track of it all. If you only have a few contributors, you can use language such as:

Portions Copyright (c) 2016-2019 Geddy Lee 
Portions Copyright (c) 2016,2017 Alex Lifeson
Portions Copyright (c) 2018 Neil Peart  

You can keep track of which portions through the use of a source control tool. If this becomes too cumbersome, you can replace the above notices with a pointer, along the lines of:

Copyright 2019 The Rush Project Developers. 
See the COPYRIGHT file at the top-level directory of this distribution and at https://ru.sh/project/COPYRIGHT.

Again, you will want to use source control to keep track, but this will provide a consistent way to keep track.

2
  • This makes most sense if Geddy created the first version, then Alex took over, and Neil is in charge now.
    – vonbrand
    Commented Aug 27, 2019 at 12:01
  • Is there any command or tool to generate a file containing the different portions of code created by each contributor when given a git repository. One could then use this file for copyright. Commented Aug 27, 2019 at 20:20
1

The cleanest way to do this is to keep a changelog, summarizing changes with authors.

0

If you have the chance to look to a Divi Theme - you will notice a CREDITS.md file which lists all those people who contributed and the licenses of their code. In the code itself you need to list the ones who previously contributed to the code as a copyright (xx.xx.xx) Name of Developer / Company

Keep I mind that it can be very important to know all people who have ever contributed to an application or library just in case you want to change its license to something else all of them need to agree with no exception!

Therefore it is very recommended to keep a proper Credits file and a proper Changelog.

Your Answer

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

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