Hello everyone, A word or more about the action plan to deal with the copyright/licensing issue raised earlier.
The main aim is not relicensing but just to try and get a handle on who wrote what parts of Lilypond. So, for each code file, I'm using git shortlog to get the list of contributors (thanks to Francisco's .mailmap file this is much simplified) and then using gitk to browse the commit history of the file. I'm dividing commits into Tweaks and Contributions. Tweaks are things like removing whitespace, changing a version statement, changing the name of a symbol or function -- small editorial changes in other words. Contributions involve addition of a reasonable amount of novel material. Following the GNU guidelines at: http://www.gnu.org/prep/maintain/html_node/Legally-Significant.html#Legally-Significant I've taken the line that tweaks are not significant for copyright purposes unless there are a lot of them (i.e. 10+). So far anyone with 10+ tweaks has also got at least one commit that counts as a 'contribution' anyway. For each significant contributor (C) I note their earliest and most recent commit and use that to date their copyright. In the event a contributor already has a copyright notice in the file, I take the earliest starting date of the two. For tweakers (T) I note the number of tweaks (in commits). I'm then entering these details into a Google Docs spreadsheet (which I'll share with anyone who requests it). The same spreadsheet also contains a complete list of contributors (from Francisco's .mailmap) and a note on whether they support switching the license to GPLv2+ and whether they are willing to dual-license doc contributions as GPLv2+. The attached patch for lily/accidental.cc shows one result. A git shortlog shows that the contributors are Han-Wen (68 commits), Jan (17), Joe Neeman (8), and Mats Bengtsson and Neil Puttock (1 each) and Werner Lemberg (2). Mats', Neil's and Werner's contributions are all small tweaks, while Han-Wen, Jan and Joe have all made at least one significant contribution. Han-Wen's first patch is dated from 2002, but the existing copyright notice puts the beginning of his work in 2001; so I've taken the earlier date, but kept the final date at 2008 with his last commit. Jan's commits date from 2002-2009 and Joe's from 2007-2009. The proposed copyright/licensing notice gives copyright to all 3 for the appropriate dates, and credits contributors of tweaks and corrections without declaring copyright for them. Feedback (most of all from the authors!) on whether this notice is acceptable would be gratefully received. The docs are much more difficult to trace than code, with material having been moved and copied and pasted all over the place. :-( But when the code parts are finished, I'll see what I can do with them. Best wishes, -- Joe
From 848114f18748bb70f199e6d8f6a9c6cc0cdf6a32 Mon Sep 17 00:00:00 2001 From: Joseph Wakeling <joseph.wakel...@webdrake.net> Date: Sat, 12 Sep 2009 21:02:26 +0200 Subject: [PATCH 5/5] accidental.cc licensing and copyright notice. * Contributions (major and minor) tracked via git logs * Copyright credited to major contributors with dates corresponding to first and last commit * Contributors of small tweaks and corrections given brief credit in alphabetical order * ... and trailing whitespace correction courtesy of Kate editor :-) --- lily/accidental.cc | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lily/accidental.cc b/lily/accidental.cc index a017cf8..16d57e0 100644 --- a/lily/accidental.cc +++ b/lily/accidental.cc @@ -1,9 +1,26 @@ /* accidental.cc -- implement Accidental_interface - source file of the GNU LilyPond music typesetter + Copyright (c) 2001--2008 Han-Wen Nienhuys <hanw...@gmail.com> + Copyright (c) 2002--2009 Jan Nieuwenhuizen <jann...@gnu.org> + Copyright (c) 2007--2009 Joe Neeman <joenee...@gmail.com> - (c) 2001--2009 Han-Wen Nienhuys <han...@xs4all.nl> + Small corrections and tweaks by Mats Bengtsson, Werner Lemberg + and Neil Puttock. + + This source file is part of the GNU Lilypond music typesetter. + + GNU Lilypond is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "accidental-interface.hh" @@ -19,7 +36,7 @@ Stencil parenthesize (Grob *me, Stencil m) { Font_metric * font - = Font_interface::get_default_font (me); + = Font_interface::get_default_font (me); Stencil open = font->find_by_name ("accidentals.leftparen"); Stencil close @@ -98,7 +115,7 @@ Accidental_interface::accurate_boxes (Grob *me, Grob **common) SCM alt = me->get_property ("alteration"); string glyph_name = robust_scm2string (ly_assoc_get (alt, alist, SCM_BOOL_F), ""); - + if (glyph_name == "accidentals.flat" || glyph_name == "accidentals.mirroredflat") { @@ -183,14 +200,14 @@ Accidental_interface::get_stencil (Grob *me) SCM alist = me->get_property ("glyph-name-alist"); SCM alt = me->get_property ("alteration"); SCM glyph_name = ly_assoc_get (alt, alist, SCM_BOOL_F); - + if (!scm_is_string (glyph_name)) { me->warning (_f ("Could not find glyph-name for alteration %s", ly_scm_write_string (alt).c_str ())); return SCM_EOL; } - + Stencil mol (fm->find_by_name (ly_scm2string (glyph_name))); if (to_boolean (me->get_property ("restore-first"))) { @@ -205,17 +222,17 @@ Accidental_interface::get_stencil (Grob *me) else mol.add_at_edge (X_AXIS, LEFT, acc, 0.1); } - + if (to_boolean (me->get_property ("parenthesized"))) mol = parenthesize (me, mol); return mol.smobbed_copy (); } - + ADD_INTERFACE (Accidental_interface, "A single accidental.", - + /* properties */ "alteration " "avoid-slur " -- 1.6.3.3
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel