Attribution of contributors to Panda3D


(for the sake of this discussion, please forget I contributed something tiny - I really don’t care, but I do care about this for the sake of more notable contributors)

A while ago I opened a bug ticket that I think “Copyright © 2008, Carnegie Mellon University. All rights reserved.” needs to be changed to “Copyright © 2008-, Carnegie Mellon University and Contributors” in all files with external contributions. Also, an Authors.txt in the main folder should probably list all of them, see other open-source projects.

This was rejected with the following reasoning (I am very deeply sorry if I’m remembering some of this incorrectly, it has been a while):

  1. All contributors would know they are implicitly giving up any copyright claim by contributing

  2. This would not be possible anyway, since Disney and/or Carnegie Mellon might want to use Panda as they wish under arbitrary other licensing

  3. Most contributions would be too little to have the necessary complexity for copyright claims in the first place

The more I think about this, the more I think it is wrong.

Regarding 1.: It is very unusual for people to implicitly give up their claim to contributed code, and for the cases this is done, they usually sign a waiver (also see e.g. Ubuntu’s contributor’s agreement), therefore this is definitely not some expected thing.

Regarding 2.: Why wouldn’t Carnegie Mellon acknowledge the contributors, and stick to the very liberal open-source licensing it has decided for on its own? The license is so overly liberal that not much more beyond a simple attribution would be required anyway, so why would they want to reserve any additional rights for arbitrary licensing beyond that?

Regarding 3.: Even the little changes sum up, and if someone contributes a lot of little things, I’m quite sure as a whole it can definitely be recognized as a notable addition. Therefore, I think this is a bit of a shady argument as well.

If someone who actually represents Carnegie Mellon could chime in, that would be great. Maybe there’s just some misunderstanding and this can be changed as suggested (or in a similar way)?

If Panda3D is actually considered a true open-source project, I really think this should be cleared up.

Hi. I’m assuming everything quoted here was exactly as it was said originally or has the exact meaning. I’m also not a professional lawyer, but I’m willing to bet even real lawyers can’t answer most of these questions easily.

Strictly legally this is incorrect. Waiver of a right has to be expressed explicitly, except for rights which cannot be waived.

Well, they can do that, so can anyone else (by giving attribution) but I don’t see the point here.
You could say it would make this “problematic”, but that’s different.

The size of the work does not automatically determine the ability to make a copyright claim. This point also doesn’t address every case and is only related to smaller contributions.

I think this question is best asked somewhere else like a suitable stack exchange site where there are people with the expertise who could answer this.
All I know is if a work has several authors, each is the owner of their “piece”. I have no idea what is the case with open source software.

In practice I think unless you really want your name to be displayed in a text file included with the software, there’s no reason to worry about this. Disney and CMU have not really been developing (the public version on this site) of Panda for years now. And even then the main contributor was a single guy, David Rose.
And even he hasn’t worked on this project much in the last few years. … -26&type=c
rdb has been writing most of the code since then.
CMU does host the website and files, have to give them credit for that.
If Disney/CMU decide one day to change the software license to a more restrictive one they will just have their own version of Panda (which Disney probably does) and others will just fork it.

I’m not sure what we gain by letting contributors retain copyright over their contributions. It just makes it very difficult (impossible if there are people we can’t track down) to change the license to a more permissive license in the future, if we wanted to. I’d be opposed to that.

This is an entirely separate matter, and has absolutely nothing to do with licensing. If anything, an authors file is a friendly courtesy to the contributors who care about receiving attribution for their work. It’s also a bit of an obsolete concept, I think, now that you can just get the same information out of the Git software, and the contributors are listed on the GitHub contributors page.

(I personally think it’s a bit of a silly concept, but I appreciate that some people might feel differently; but you’re honestly the first to raise an issue of it.)

It could indeed be a valid point that implicit copyright waivers might be legally problematic. (Insert IANAL disclaimer here.) We could do a better job at communicating the fact that people waive rights over their contribution by submitting a pull request or patch.

What I don’t like is the idea of making contributors sign CLAs. I find they have a chilling effect on people who’re just trying to be helpful. The barrier for contributing to Panda3D is already high enough, we shouldn’t make it even higher. Personally, I detest it when I try to make a contribution to a project only to have a legal document pushed into my face.

This does make me think you’re possibly confusing attribution and copyright. Copyright is the legal ownership of intellectual property and the right to decide how the work is licensed. It has nothing to do with acknowledgement of contributors.

You’re mistaken in that the BSD license requires attribution of any kind. It requires acknowledgement of copyright. In the IP field, in many cases the rights holders have almost nothing to do with the people who actually contributed to the content.

I’m not sure if they read the forums. If you wanted to contact them, you’d have to e-mail the Panda3D ETC list address available on the web site.

This is a bit silly. Panda3D is an open-source project because the source is openly available, freely modifiable and distributable. I’m not sure how much “truer” open-source you can get. Is there an honour code somewhere a “true” open-source project is supposed to live up to?

In any case, I agree that we can probably do a better job at communicating that by contributing to Panda3D, people waive copyright over their contributions.

Well but I think that might already be the case (since you haven’t explicitly made anyone waive, also see previous poster who seems to agree this would be necessary). And the situation you describe is the case for literally every other open-source project UNLESS they sign a waiver as e.g. for Ubuntu.
There have been a couple of license changes where the project initiators tracked down and asked all contributors. How else would it work unless they explicitly waived their opposition for incompatible license changes beforehand? It usually took them some large effort, but they eventually managed to make it work out (e.g. see Ogre3D or SDL 2 for prominent examples that changed to a more liberal license).

So since the previous poster also seems to agree that an explicit waiver would be necessary, why can’t the acknowledgement be changed to include Contributors? - Or have people actually agree to a waiver and make it transparent.

But this is why I brought up Carnegie Mellon:

Is this really what the university wants (and the other people running Panda3d?) Is it really necessary to be able to change to any license conflicting with the current Modified BSD? (most known licenses including GPL or a proprietary release with simply proper copyright attribution are compatible, so even if you acknowledge and respect the Copyright of all contributors without having them to waive, you could still change the license later to most known stuff)

No other big engine project (Ogre3D, Irrlicht, Love2d, …) I know requires such a waiver.

Therefore, I suggest the people running Panda3d (I can’t tell who exactly this is and if you are speaking for them or not) should figure out if they either want everyone to waive their rights explicitely, or become a true collaboration effort but then also properly recognize that it is a collaboration, and not fully the university work anymore. (e.g. with my suggested change, or in some different way)

Right now, the situation is pretty unclear and all I have is your feedback that fully allowing contributors to retain their copyrights (still under the liberal Modified BSD license of course) would be an inconvenience. Is that worth not running this project as a true collaboration effort though? Does Carnegie Mellon share that sentiment?

EDIT: incorrectly wrote “MIT” instead of “Modified BSD” before - should now be correct

EDIT 2: I was possibly wrong regarding Ogre3D if a quick google search is to be believed: agreement - so if this is what you want, you should actually write such an agreement/waiver as well and make people agree.

Ok I think in the chat it has become somewhat clear that it’s not known what CMU thinks of this, and they’re the copyright holders. So before something can be done with either the copyright notice extended to a generic “and Contributors” or an actual waiver/contributor’s agreement to make the waiving of rights explicit, someone needs to contact CMU.

Since I poked you about it, I will now try to do that and get back to you afterwards.

I think every contribution which has been made so far is the copyright of the person who wrote it since there has not been a waiver agreement. You could add a waiver agreement requirement before being able to submit code, but it wouldn’t have any effect on all of the older contributions and even if it didn’t have any chilling effect the difficulty of changing the license of the whole sourcecode would still be an issue. I’m afraid we can’t bypass law to avoid difficulties.

I also don’t think for this case there’s any reason to differentiate between attribution and copyright. I don’t think anyone has submitted someone else’s code and anyone who has submitted code is both the copyright holder and the author.

Again, I think this is best to ask somewhere where there are people with the correct legal knowledge.

Personally I don’t think this is an issue for most contributors. I think most of them think just because they don’t have a copyright notice in their submitted code they are giving away their copyright holder rights, but that’s not the case.
I also don’t see anyone suing CMU or Disney over this either.

Assuming I’m wrong on all the legal points and putting them aside, I am in favor of attribution. I personally find it wrong to mention Disney and CMU only. I have two reasons for this:

  1. Disney and CMU have pretty much abandoned the project. CMU I think has been teaching its students Unity for a while. Not everyone checks github to see how much the project is still being developed by 3rd parties.
  2. Because why not, honestly? If you want to turn this into a community project, what’s so difficult in making the community feel more engaged and appreciated by giving attribution, instead of making them feel like Disney and CMU are taking all the credit for everyone’s work, like some kind of bosses whom you have never met with.
    It’s seems like a waste of time, but you have to make people feel a part of a community if you want to build a strong community.

I wouldn’t say this would have any significant effect on Panda. I think the lack of contributors is a result of lack of some basic features for a current gen engine, good demos, tutorials, advertisement and community interaction (blog posts now and then about some technical details is interesting for me personally, but I’m talking about reddit, facebook, twitter…).
But that doesn’t mean this point doesn’t deserve attention and has no effect.