Sergiu Dumitriu wrote:
Hi devs,
In the early days of XWiki, we used to put @author tags inside Java
source files. Later on, we decided that this is a bad practice, and
started removing them, on the premise that we will have a NOTICE file
listing all authors and contributors. And although we managed to remove
almost all @author tags, the NOTICE file doesn't list any developers or
contributors, listing just XWiki as a company as the copyright holder.
This would be OK if we had a policy stating that all Intellectual
Properties belong to XWiki. But we don't.
So, shouldn't we make an official policy? Here are some alternatives:
I. Individual copyright
- we list developers
- we list all contributors and their contributions
- contributors retain the IP for their submitted code
II. Collective copyright
- we list developers
- we list all contributors and their contributions
- XWiki as a collective is the only copyright holder, and we specify
that any submitted patch will be the property of the community
- having a non-profit organization would help
+1
III. Umbrella copyright with acknowledgments
- we don't list developers
- we list all contributors (including devs)
- XWiki SAS as a company is the only copyright holder, and we specify
that any submitted patch will be copyrighted by XWiki
IV. Umbrella copyright, no acknowledgments
- we don't list developers or contributors (in the pom, the web hall of
fame can and should still exist)
IMO, the Hall of Fame could do with some more updating.
- XWiki SAS is the only copyright, and we specify that
any submitted
patch will be copyrighted by XWiki
Currently we're doing IV, but we don't make this explicit. I'd vote for
II, as this is a more Open way.
On the technical side, Maven already provides support for listing
contributors and developers, for the moment these sections are empty. We
can change the NOTICE template to automatically list them.
An important question is where do we list people?
- In the parent pom, which implies frequent releases of the parent,
which means frequent version changes for all the other modules.
- In each project's pom, which means that new contributions will only
require releasing the affected module, but it will be harder, if not
impossible, to aggregate contributions.