[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Copyright file granularity

I've been helping package a load of stuff recently for Robot OS and in
checking the copyright files I've come up aginst the question of exactly
how much segmentation there should be in copyright files, and the answer
to that depends on what it is they are actually for?

Is it sufficient to specify what licence things are under, or do we
really want to split it up into every licence x copyright-holder, or
even every licence x copyright statement (i.e date + holder)?

Clearly we need to know what licence things are under, and that seems
to me to be the main purpose of the file. One can imagine
circumstances when some argument develops and we might need to care
about exactly _who_ owns the copyright on each file, but under normal
circumstances that simply doesn't matter. We just care if it was BSD
or GPL or Apache or whatever, not who actually contributed it under
those terms: that's part of the point of free-software licencing. It's
easy enough to go look at exactly which file is copyright who if need

So, for an example of why this matters look at ompl (https://tracker.debian.org/pkg/ompl)

The package is largely BSD-3-Clause, with a couple of files that are Apache-2.0 and Expat

However there are numerous copyright holders and files contributed on
various dates so I spent several hours making this copyright file:
with each copyright owner split out into a separate stanza.

Is there any real benefit in doing this? It's moderately accurate, but
what is the practical benefit over lumping all the BSD-3-clause
copyright holders together into one list?

If the answer is 'it's more accurate' then shouldn't we be requiring a
stanza for every different copyright statement (which in this package
would split the Rice University and Willow Garage sections into
another 10-15 stanzas with different dates/date-combinations). This
plethora of stanzas would also make the file very hard to read which
is why I didn't go that far. But then I thought about it and started
to wonder what exactly are the 'splitting' criteria?

The criteria that makes most sense to me is 'by licence'.

I just uploaded rosdistro
(https://tracker.debian.org/pkg/ros-rosdistro) and got a comment from
the reviewing ftpmaster that combining the two different copyright holders for BSD-3-clause files into one stanza was not really right:

Files: *
Copyright: 2012 Willow Garage, Inc.
           2013-2014 Open Source Robotics Foundation
License: BSD-3-clause

This interpretation says that the copyright line is not a list of
copyright owners having stuff under this licence in the package, but a
statement of the copyright on all of those files. However if you
follow that logic then shouldn't we be having separate stanzas for
each statement:

File: foo
Copyright: 2012 Willow Garage, Inc.
License: BSD-3-clause

File: bar
Copyright: 2008 Willow Garage, Inc.
License: BSD-3-clause
File: bar
Copyright: 2010-2012 Willow Garage, Inc.
License: BSD-3-clause

and so on? Because if not then we are concatenating statements into stanzas:
File: bar
Copyright: 2008,2010-2012 Willow Garage, Inc.
License: BSD-3-clause

And if that's OK then why not concatenate owners too, to get:
Files: *
Copyright: 2012 Willow Garage, Inc.
           2013-2014 Open Source Robotics Foundation
License: BSD-3-clause

Lots of little stanzas is more accurate, but provides a much less
clear overview to the casual inspector. Which comes back to the
question of what exactly is this file for (people or computers)?

So, after thinking about this for a while I decided that it was not
clear to me what best/acceptable practice is, and that it would be
best to ask here.

I can't see much real usefulness in splitting beyond licence-type,
although where separate contributions are clear (e.g debian/*) then
having a stanza for that is generally informative. But in a package
like opml with loads of mixed-up files from various people and
instritutions over several years, the separation into
copyright-holders doesn't tell you much and is very laborious to
produce. Do we always want this done? What logic is there for that
that doesn't also imply splitting by date too?

I'm happy to do whatever we agree is right, but at the moment this
feels like pointless makework, so I'd like to understand what the
ftpmasters/policy actually requires, and why, and what other people do
about this.

I hope I have adequately explained the issue, and await guidance.

Principal hats:  Linaro, Debian, Wookware, ARM

Attachment: signature.asc
Description: Digital signature

Reply to: