On 05/14/2013 12:56 PM, Mark Washenberger wrote:
On Thu, May 2, 2013 at 10:07 AM, Richard Fontana <rfontana@redhat.com <mailto:rfontana@redhat.com>> wrote:
On Thu, May 02, 2013 at 08:56:03AM -0700, Mark Washenberger wrote: > > > This is really an education issue. Lots of first time Open Source folks on > the project that don't understand that copyright + license grant in each > file is actually quite important to ensure things are actually Open Source > in all jurisdictions. > > > This seems to be the detail I was missing. Can someone elaborate a bit about > where this is a problem?
While I can't speak of 'all jurisdictions', just as a matter of common practice in open source projects this is not so, and I'm not sure what the notice 'ensures'. There is no particular *need* to have a copyright notice and license grant in each file; if that were so then probably half or more of all open source projects, including, no doubt, OpenStack dependencies, would fail the test. There are some arguments in favor of having such notices in each file, but there are also arguments against (well, particularly with respect to copyright notices, as over time they tend to become misleading as indications of the actual provenance of the file in question).
Aaron Williamson wrote a good article on this topic, though I don't agree with all of his recommendations: http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
Thanks so much for this link. This page looks like a much better informed way of expressing my viewpoint, which boils down to 1) Copyright headers in source files are not really necessary, and often give an inaccurate view of the provenance of a file. 2) Some folks, like me, find copyright headers in source files tedious to maintain.
Unless anyone has a stronger counterpoint to the view Richard has expressed here, I'd like to proceed with plans to stop allowing commits that add new copyright headers to new file additions in Glance (LICENSE file is an obvious exception).
- a hacking check that prohibits copyright headers, with exceptions made for all currently existing files - some sort of commit hook or automated process for setting up the static license header in files that are missing the license notice - seek permission from the OpenStack Foundation to move their copyright headers into LICENSE (or remove them entirely) - seek similar permission from other original copyright holders
(these last two steps really aren't that crucial, since the goal from my perspective is for folks to stop having to pay attention to copyright headers while coding)
So the only issue I see is not doing it consistently, and leaving legacy bits in there which don't match with the policy. I'm 100% cool (+1, +2, + as much as you'll let me) with a policy where we say copyright statements should come out of the code and into the top level license file. But if that's what we are doing, we need to go run at the patches and pull all the lines quickly, then turn on the hacking rules. Leaving a whitelist is kind of terrible, and will be confusing. Yes, running through changes like this that touch lots of files are never fun, but we've done it before in Nova and Tempest for pep8 fixes. You just build a patch queue, get a couple of reviewers lined up to help sheppard it, and off you go. Also, better to do this sooner than later. The gate is pretty lightly loaded right now, so running through big changes like this work better now rather than later. -Sean -- Sean Dague http://dague.net