A matter of copyrights

One of the issues that came through with the recent drama about the n-th udev fork is the matter of assigning copyright to the Gentoo Foundation. This topic is not often explored, mostly because it really is a minefield, and – be ready to be surprised – I think the last person who actually said something sane on the topic has been Ciaran.

Let’s see a moment what’s going on: all ebuilds and eclasses in the main tree, and in most of the overlays, report “Gentoo Foundation” as the holder of copyright. This is so much a requirement that we’re not committing to the tree anything that reports anyone else’s copyright, and we refuse the contribution in that case for the most part. While it’s cargo-culted at this point, it is also an extremely irresponsible thing to do.

First of all, nobody ever signed a copyright assignment form to the Gentoo Foundation, as far as I can tell. I certainly didn’t do it. And especially as we go along with getting more and more proxied maintainers, as they almost always are not Gentoo Foundation members (Foundation membership comes after an year as a developer, if I’m not mistaken — or something along those lines, I honestly forgot because, honestly, I’m not following the Foundation doing at all).

Edit: Robin made me notice that a number of people did sign a copyright assignment, first to Gentoo Technologies that were then re-assigned to the Foundation. I didn’t know that — I would be surprised if a majority of the currently active developers knew about that either. As far as I can tell, copyright assignment was no longer part of the standard recruitment procedure when I joined, as, as I said, I didn’t sign one. Even assuming I was the first guy who didn’t sign it, 44% of the total active developers wouldn’t have signed it, and that’s 78% of the currently active developers (give or take). Make up your mind on these numbers.

But even if we all signed said copyright assignment, it’s for a vast part invalid. The problem with copyright assignment is that they are just that, copyright assignments… which means they only work where the law regime concerning authors’ work is that of copyright. For most (all?) of Europe, the regime is actually that of author’s rights and like VideoLAN shows it’s a bit more complex, as the authors have no real way to “assign” those rights.

Edit²: Robin also pointed at the fact that FSFe, Google (and I add Sun, at the very lest) have a legal document, usually called Contributor License Agreement (when it’s basically replacing a full blown assignment) or Fiduciary Licence Agreement (the more “free software friendly” version). This solves half the problem only, as the Foundation would still not be owning the copyright, which means that you still have to come up with a different way to identify the contributors, as they still have their rights even though they leave any decision regarding their contributions to the entity they sign the CLA/FLA to.

So the whole thing stinks of half-understood problem.

This is actually gotten more complex recently, because the sci team borrowed an eclass (or the logic for an eclass) from Exherbo — who actually handles the individual’s copyright. This is actually a much more sensible approach, on the legal side, although I find the idea of having to list, let’s say, 20 contributors at the top of every 15-lines ebuild a bit of an overkill.

My proposal would then be to have a COPYRIGHTS.gentoo file in every package directory, where we list the contributors to the ebuild. This way even proxied maintainers, and one-time contributors, get their credit. The ebuild can then refer to “see the file” for the actual authors. A similar problem also applies to files that are added to the package, including, but not limited to, the init scripts, and making the file formatted, instead of freeform, would probably allow crediting those as well.

Now, this is just a sketch of an idea — unlike Fabio, whose design methodology I do understand and respect, I prefer posting as soon as I have something in mind, to see if somebody can easily shoot it down or if it has wings to fly, and also in the vain hope that if I don’t have the time, somebody else would pick up my plan — but if you have comments on it, I’d be happy to hear them. Maybe after a round of comments, and another round of thinking about it, I’ll propose it as a real GLEP.

6 thoughts on “A matter of copyrights

  1. 1. At LEAST one developer did sign the original copyright assignment document explicitly, and it’s possible that others may have implicitly. I documented it on private bug #443832 (locked due to it containing some posts from -core).2. FSFE has the FLA, Google has the CLA, both of which are a better way forward. Notice that they are NOT assignments, but license grants.The copyrights for any changes really belong in the commit message, and with Git, I believe this will be trivially possible, without polluting the tree with the COPYRIGHTS.gentoo files you propose (if we format the commits right, we could even generate those for you later).FSFE FLA:http://fsfe.org/activities/…Google CLA:http://code.google.com/lega…Google requires the CLA, and then ends up with this one-liner in files:// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.You’re clearly ok with the CLA given your employment, but what about others?Additionally, can the Kernel DCO be useful?

    Like

  2. I’m fine with FLA/CLA — if you look at older posts I think I’ve also made it explicit I did sign one with Sun when they opened OpenJDK — and yes I did sign one for ChromiumOS before as well.The one problem I have with such a system though is that it requires us to have some kind of signed FLA from each contributor — especially considering we’re trying to reduce obstacles for people to contribute back to Gentoo, that can be difficult, even more so if somebody for whatever reason refuses to sign an FLA.Do note though that Google’s line is “The Chromium OS Authors”, not “Google, Inc.” — which is correct. Right now the wording “Gentoo Foundation” is explicitly excluding contributors that are _not_ part of the Foundation…As for the DCO — as far as I can tell that’s just a way for people to declare they didn’t get the work from someone else, but it still require explicit naming. In the kernel each file has the author’s name at the top.I can’t get to the bug you listed, as I’m not in the ACL — but still, great, so somebody at some point did sign a copyright assignment.. I’m pretty sure I didn’t, either explicitly or implicitly, and as I said since I’m still in an “author’s right” regime, even the copyright assignment I signed for FSF is more proforma than realistic. it’s not named in the quizzes last I checked, and I’m pretty sure that even the people I proxy for didn’t sign it.As for “polluting”, I’m not sure if I would call a file with the authors polluting, as much as providing that data… do you think it’s excessive? I’m not sure, it might be or it might not, that’s why I’m stating this out loud, to see if others have different ideas about that.

    Like

  3. I guess I’m not sure if any of this is worth the trouble. As you and others have pointed out, copyright assignment doesn’t really get us much if it isn’t 100%. That means turning up our noses at lots of perfectly good GPL code.I’d be interested in the opinions of a few lawyers, but I’m not convinced there is anything wrong with removing the copyright notices in files that are GPL – likely also under other FOSS licenses as well though it would be wise to review the wording on each case. The copyright notice is just part of the file, and it is in itself covered by the license. Since the license says that anything can be changed, and gives explicit instructions to some instructions as to how to handle copyright/notices/etc, I would think that on matters where it remains silent that anybody copying the file is welcome to make changes as they see fit – including removing the name of previous copyright holders. That doesn’t change the fact that they hold copyright to some parts of the file – only that their name no longer appears.The main exception would be if GPL v3 clause 7 is used, which is an optional clause that can be used to forbid this sort of editing. The fact that the FSF chose to make it an option suggests that it doesn’t apply otherwise.As you’ve said copyright law varies by country, but the Foundation has been largely focused on US law, and it is US-based corporation. Even corporations that do 100% work for hire likely struggle with some of these issues, so it only makes sense that a volunteer organization that accepts code from anybody will do so.As long as we’re accepting GPL code I don’t think anybody is going to have standing to sue us over trimming copyright notices, as long as we follow our GPL licensing obligations. We are, after all, complying with the license, and it would be difficult to show harm.

    Like

  4. I’d be fine with dropping it (including at that point, even the Foundation notice, though) — my main reason to post about this is half what happened yesterday (with a copyright to the Foundation added from nowhere), and half the fact that we’ve been lately relicensing/expliciting the licenses of the init scripts…

    Like

  5. Add it to metadata.xml, do not create yet another small file which will waste a lot of space on a big sector size fs.

    Like

  6. > Let’s see a moment what’s going on: all ebuilds and eclasses in the main tree, and in most of the overlays, report “Gentoo Foundation” as the holder of copyright.I think that this copyright belongs only to ebuild file itself, isn’t it?I.e. I take ebuild skeleton which is under GPL and has “Gentoo Foundation” as a copyright holder, then I add some code to make it build something, then put it in tree or overlay. Original author is still Gentoo Foundation, but adding my name as a contributor won’t hurt

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s