5

I am developing a small application which I want to make open source.

Currently only my work is on the application, and so in all the files I have put up a copyright notice in my name.

Now when I make the project open source and say a developer Sam does some enhancements to some existing files. Then should he be allowed to put up a copyright notice in his name as well?

And what if a new file is added by Sam which is entirely his work. So should he add his copyright or mine?

I feel that all files should have only my name as copyright irrespective of the work done by anybody. This is because say I have added some code which depends on Sam's copyrighted code and the application is running on it. Now in future if Sam is approached by some organization then he can sell the code under his copyright. If this happens then my application will stop working because I will have to remove Sam's code and all the depending code of mine.

This is just what I feel. What is the common practice in the Open Source Community?

Note I want to use GNU LGPL as my license. I am maintaining a list of contributors which can be viewed by clicking a button in the About Dialog.

4

Now when I make the project open source and say a developer Sam does some enhancements to some existing files. Then should he be allowed to put up a copyright notice in his name as well?

Well, copyright law (in most jurisdictions) states that Sam owns copyright on any non-trivial changes that he makes to the files. He is reasonably entitled to add his Copyright notices. You have two alternatives:

  • Accept his changes as is (with or without changes to the Copyright notice.)

  • Require him to formally assign you the copyright as a precondition of accepting his changes. Of course, he may not agree with that, and walk away. Or he may just decide to fork your project an make his changes in his fork.

In a sense, him putting his copyright notices ... or not ... is irrelevant. If his copyright material is in the file, then he has a legal claim on part of the IP, irrespective of the copyright headers.

But the bottom line is that if you are going to run an open source project, it is not all about you getting the ownership, the credit, the glory. If you want other people to help you, you have to think about what they want to get out of it too.

However ...

Now in future if Sam is approached by some organization then he can sell the code under his copyright.

If you choose a decent open source license, that cannot happen. In a decent license, stuff properly published under the license cannot be unpublished. It is out there ... forever.

(If you are worried about this, get him to sign something to attest that 1) he is legally entitled / authorized to contribute his work, and 2) he agrees (irrevocably) to it being published under your project's open source license.)


(A bit off topic, but important nevertheless.)

There is another (practical) reason for asking people to assign copyright. If the copyright of a codebase is held variously by a number individuals, it can be difficult if you need to do something that requires the consent of all copyright holders. The classic case is if you want to change the license, you need to find all copyright holders and get them to agree. Even tracking them all down can be difficult.

But the flip-side is that if you want people to assign copyright to you, they have to trust that you are not going to abuse your position as the copyright holder; e.g. by relicensing under a closed source license.

  • 1
    I want to use GNU LGPL as my license. So what you say regarding what is published, cannot be unpublished still valid for LGPL? So I should ask Sam to publish his code under the terms of LGPL. Regarding Copyright notice, I do not want to have all the glory by myself! Infact there is a button on the About Dialog which on clicking shows a list of Contributors. So will Sam be fine with that? – Cool_Coder Mar 26 '13 at 8:56
  • 1) Yes. 2) Yes. Or more precisely, make it a precondition of accepting his contributions. 3) That is up to Sam. But if he is not happy, you don't need to accept his contributions. – Stephen C Mar 26 '13 at 10:45
  • Regarding the copyright notice. 1) If he explicitly adds his name to the notice that also declares "this is LGPL", he would have great difficultly claiming that he hadn't published his additions as LGPL. 2) As I said, him adding or not adding his name does not affect the copyright status. – Stephen C Mar 26 '13 at 10:49
6

The two most popular ways of going about this are:

  1. Accept only contributions under the same license as your main project (or a compatible one), and make all authors co-authors under a single unified license. This means your name and Sam's name both go in the copyright notice, or, when there are too many contributors, you reference a CONTRIBUTORS file.
  2. Have the contributors sign their copyright over to you (or a nonprofit you set up for this, in case of larger projects); it is customary to combine this with a promise from your side that the code will be released under a free/libre license. Sam's name then doesn't have to be in the LICENSE, but it is still nice to attribute

In both cases, you need to make it abundantly clear under which terms the contribution happens, otherwise you do indeed risk Sam retracting his contribution and you having to remove his code from the project.

  • 2
    Also if you want to change the license terms, and cannot find Sam to get his (required) approval..... – mattnz Mar 26 '13 at 7:30
  • Hi tdammers, regarding "you reference a CONTRIBUTORS file" in first point, I am already maintaining a list of contributors which can be viewed by clicking a button in the About Dialog. So if put this notice in the header file: "Original Author - My Name Copyright 2013 My Name. Contributors - see the contributors list in about page." – Cool_Coder Mar 26 '13 at 9:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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