[Nagiosplug-devel] Antwort: Antwort: Contributing patches and retaining copyright

Andreas Ericsson ae at op5.se
Thu May 7 10:13:24 CEST 2009


Olivier 'Babar' Raginel wrote:
> On Wed, May 06, 2009 at 04:23:30PM +0200, Andreas Ericsson wrote:
>> Not necessarily. In a court of law, copyright holders must show that 
>> their contribution is not insignificant. A one-line fix from me to 
>> net-snmp gives me absolutely zero right to decide over the license of 
>> the project. Also, if a large enough majority of the contributors (and 
>> contributors here is counted by number of contributed lines of code), 
>> the license can be changed without even asking the remaining 
>> programmers, so long as they didn't write a significant part of the 
>> project as a whole.
> 
> IANAL, so I'll refrain from commenting on this. I'm just like Sasha, 
> meaning I couldn't contribute back some code because the company I wrote 
> it for owned the copyright.
> 
> Anyway, Andreas, are you sure about that?

Yes. It's been done for example for the netwide assembler, and we're
doing it as we speak for the scm tool git, relicensing key parts of it
to gpl + gcc exception for use in libgit2. In git, we have the consent
of the authors of 94% of the lines of code in question. The authors of
the remaining 6% can't be found, do not respond or have contributed
typo fixes or other microscopic and obvious bug-fixes and are therefore
not interesting.

> This seems pretty hard to enforce to me.

Well, yes. "Significant part" etc are the things that the court will
decide, so it's far from trivial. If it *was* trivial, no court of law
would ever be bothered with things like this.

> Let's take a concrete example: Nagios::Plugins. Afaik, Gavin Carr wrote 
> the first shot at this. It's been extended a lot since then. What if, 
> over time, someone refactors that up to a point that not a single line 
> of what Gavin wrote is left in the source. If I did that re-factoring, 
> would I then be able to claim copyright?

You would certainly be able to claim copyright for the parts you wrote,
but the code you wrote is a derivative work, so Gavin would hold copyright
to the original version and you would hold copyright to the new version.
Depending on the license in question, it may hold views on derivative
works ;-)

> Would the copyright be shared 
> between Gavin, myself, and the others who made substantial contributions 
> to that piece of code?

Insofar as I understand it; Yes.

> May I also rip Gavin's name out of N::P then?
> 

No, you may not, because of the derivative work thing above. It's not enough
to just change phrases in a book and claim you wrote it afterwards. A work
is more than just *how* something is put together. If, however, you were to
write a completely new framework that happens to be compatible API-wise to
N::P, but without looking at Gavin's code, you would then be the sole owner
and copyright holder.

These things are tricky though, but use of common sense sees you through
99.999% of the time. The questions to ask yourself, in the following order,
when in doubt are these:
1. Is anyone likely to be pissed off if I claim credit for this?
2. Will they be pissed off enough to sue?
3. Will it hold in court?
4. Is it worth the hassle?

If you answer 'yes' to 1-3, I'd probably not find you very likable, and
you'd be the sort of person I'd expect to have ulterior motives.
If you answer 'no' to any of 1-3, you're most likely safe, but if you're
in the slightest doubt, just *ask* the person who wrote it, or add a small
comment where the copyright owners are listed why you removed someone from
the list. Preferrably with a "kudos to" attribution.

I have a feeling these things are discussed a billion times for every time
it's actually a problem, and for those few times when it actually *is* a
problem, it could have been avoided by simply talking about it and asking
nicely what the possibly-offended person would think of this and that.

> And no, I'm not planning to re-write N::P, it's perfectly fine. This is 
> just intended as an example, as I've been wondering this for quite some 
> time, and could never find a clear statement about this.
> GPL mentions something about every contributor should be credited, but I 
> couldn't find anything about copyrights and what it actually means.
> 

The "every contributor should be credited" is best stored in the version
control system, really. Here are the owners of "transport.c" in git.git,
for example (it's trivial to get ownership for all of git.git in one go,
but it takes quite a long time with the clumsy script I wrote for it, so
I'll refrain if it's all the same to you). The first column represent the
lines of code last modified by the author in the second column.

exon:~/git/git (master)$ git showners transport.c
transport.c
    400 Daniel Barkalow
    359 Johannes Schindelin
    141 Jeff King
    106 Shawn O. Pearce
     48 Andreas Ericsson
     29 Junio C Hamano
     12 Mike Hommey
      9 Paolo Bonzini
      7 Andy Whitcroft
      5 Petr Baudis
      4 René Scharfe
      3 Steffen Prohaska
      2 Miklos Vajna
      2 Johannes Sixt
      1 Tuncer Ayaz
      1 Sam Vilain
      1 Jim Meyering
      1 Clemens Buchacher
      1 Blake Ramsdell
      1 Alexander Potashev

Similar things can be done with all version control systems that have
a "blame" command aware of code moves between file boundaries, but I
only know how to do it with git as I've never fiddled with other DSCM's,
and centralized ones are agonizingly slow for digging into archaeology.

> But once again, IANAL, I'm only very interested and eager to learn how 
> this licensing model can work.
> 

It works just fine unless someone actively *wants* to be an arsehole and
just steal the code to profit from it without giving things back.

-- 
Andreas Ericsson                   andreas.ericsson at op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Register now for Nordic Meet on Nagios, June 3-4 in Stockholm
 http://nordicmeetonnagios.op5.org/

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.




More information about the Devel mailing list