Here's something that's confused me for a little while. Perhaps
someone in this group can shed some light? It's a bit off topic, I
guess, but I'm not sure where else to ask.
From several sources I've gathered that it's not healthy for an open
source project to have authors' names in the source code. It would
promote unwanted territorialism. Make potential contributors hesitant
to touch the code. Also, it's never clear when you've earned the right
to have your name up there. From Producing Open Source Software, by
Karl Fogel:
"In order to combat incipient territorialism, or even the appearance
of it, many projects have taken the step of banning the inclusion of
author names or designated maintainer names in source files. I
wholeheartedly agree with this practice: we follow it in the
Subversion project, and it is more or less official policy at the
Apache Software Foundation."
In principle I agree. However, to apply the GNU GPL license to the
code, it would appear a copyright notice in each file is mandatory.
"Whichever license you plan to use, the process involves adding two
elements to each source file of your program: a copyright notice (such
as “Copyright 1999 Terry Jones”), and a statement of copying
permission, saying that the program is distributed under the terms of
the GNU General Public License (or the Lesser GPL)."
Karl Fogel agrees. From his book:
"In general, the notice you put in each source file does not have to
look exactly like the one above, as long as it starts with the same
notice of copyright holder and date, states the name of the license,
and makes it clear where to view the full license."
So... how does this work? Is there a way to have the cake and eat it
too?
> Here's something that's confused me for a little while. Perhaps
> someone in this group can shed some light? It's a bit off topic, I
> guess, but I'm not sure where else to ask.
> From several sources I've gathered that it's not healthy for an open
> source project to have authors' names in the source code. It would
> promote unwanted territorialism. Make potential contributors hesitant
> to touch the code. Also, it's never clear when you've earned the right
> to have your name up there. From Producing Open Source Software, by
> Karl Fogel:
> "In order to combat incipient territorialism, or even the appearance
> of it, many projects have taken the step of banning the inclusion of
> author names or designated maintainer names in source files. I
> wholeheartedly agree with this practice: we follow it in the
> Subversion project, and it is more or less official policy at the
> Apache Software Foundation."
you can also watch this great video from Ben Collins-Sussman and Brian
Fitzpatrick
"What's In It for Me? Benefits from Open Sourcing Code"
http://www.youtube.com/watch?v=ZtYJoatnHb8
where they talk about this same issue, and even give an example ;)
> "Whichever license you plan to use, the process involves adding two
> elements to each source file of your program: a copyright notice (such
> as “Copyright 1999 Terry Jones”), and a statement of copying
> permission, saying that the program is distributed under the terms of
> the GNU General Public License (or the Lesser GPL)."
> Karl Fogel agrees. From his book:
> "In general, the notice you put in each source file does not have to
> look exactly like the one above, as long as it starts with the same
> notice of copyright holder and date, states the name of the license,
> and makes it clear where to view the full license."
> So... how does this work? Is there a way to have the cake and eat it
> too?
contributor(s)/author(s) and owner(s) are 2 different thing
“Copyright 1999 Terry Jones” is TJ applying his copyright on the
source code
so he can attribute a licence to it and extend rights to people who
would want to use/copy/etc. the code.
There is no other way to do that, you can only apply a copyright on
something you own.
"
Contributor(s):
- Terry Jones <te...@jones.com>
"
is TJ mentioning that he contributed to this file.
this is what K. Fogel talk about in your first quote, and this can
only be decided by the owner(s)
of the source code.
some projects will ban it, some other projects will have no problem
with that,
depends on the owners, the scale/size of the project, the number of
commiters etc.
The book of Fogel is pretty good but I would take everything as rules,
more as advices.
You know, try it for yourself, see what works, what don't, and form
your own opinion ;).
On Jul 6, 8:45 am, zwetan <zwe...@gmail.com> wrote:
> you can also watch this great video from Ben Collins-Sussman and Brian
> Fitzpatrick
> "What's In It for Me? Benefits from Open Sourcing Code"http://www.youtube.com/watch?v=ZtYJoatnHb8
> where they talk about this same issue, and even give an example ;)
I've already watched that talk. It's where I got the idea to read the
book. But they don't talk about this issue at all. Perhaps you're
thinking of a different video?
> contributor(s)/author(s) and owner(s) are 2 different thing
> ...
> The book of Fogel is pretty good but I would take everything as rules,
> more as advices.
> You know, try it for yourself, see what works, what don't, and form
> your own opinion ;).
My opinion is that I would like to leave author and contributor names
out of the code altogether. My question was whether this is possible
if the code is to be released under the GNU GPL, which seems to
require the name of the copyright-holder(s).
On Jul 6, 1:52 pm, Ben Collins-Sussman <suss...@google.com> wrote:
> The easiest solution is just to do
> (C) The blahblah project
> [GPL Terms]
> To see a list of contributors/copyright holders, see the COMMITTERS file.
Sounds reasonable. I wasn't sure if the GPL allowed something like
this.
So does this mean that patch-writers and committers 'give up' their
personal copyright when they contribute? I know you can always check
the version control system for the author of a specific line of code,
but I'm not sure if that has any legal basis.
I know I'm nitpicking here. But I just want to know how it is, so I
can get the legal stuff out of the way.
Caveat: I am not a lawyer, I'm just speaking from my own experience here (as Secretary of the Subversion Corporation, we've been dealing with lots of issues like these, chatting with lawyers...) If you want "official" legal advice, you need to consult your own lawyer.
Anyone who contributes code to an open source project retains their copyright. So if N people all work on a source file, they all hold joint copyright on it together, each over their respective pieces. That's why most big open source projects are generally a mish-mash of copyright ownership, held jointly by dozens or hundreds of people.
It's impossible to "give up" your copyright unless somebody gets you to sign a document where you explicitly do so. (Say, a record label asking a musician to "transfer" their copyright to the corporation.)
What many well-organized open-source projects do is create an umbrella organization (i.e the Apache Software Foundation, the Subversion Corporation, etc.) and then require all code contributors to sign a "Contributor License Agreement" (CLA). This isn't a transfer of copyright, but more like a "duplication" of copyright: you give the organization "perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute" your contribution. In other words, you don't give up your original copyright, but the organization gets unlimited rights to use it however they wish. Google itself requires CLAs from contributors for open source projects that it runs. So does the ASF, SVN Corp, and so on. An example of the SVN corp's CLA is here (which is almost identical to Google's): http://www.subversion.org/legal/individual-cla.html
Really, this is all a big headache and complete overkill for small projects. Just understand that it doesn't really matter what you put at the top of the file: it could say "(C) The Easter Bunny"... but if it ever came down to a dispute in a real court case, everyone would still recognize that the copyright actually belongs to everyone who contributed code to the file. It would be fairly easy to prove who wrote what. It's sort of silly to worry about. That's why I suggested just putting "(C) Foo project, under the terms of the GPL. See COPYING for license terms and COMMITTERS for a list of contributors." This keeps things legal, sane, and prevents people from "owning" certain files. As in Karl's book, people want and deserve recognition -- but it's best to do it on a project-wide basis so as to develop a "collective project ego" rather than individual egos.