Difference between revisions of "Community Mapbuilder Provenance Review"

From OSGeo
Jump to navigation Jump to search
 
(19 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
== Community Mapbuilder Code Provenance Review ==
 
== Community Mapbuilder Code Provenance Review ==
Last Updated: 16 June 2006.
+
Last Updated: 23 October 2006  
 +
OSGeo/Mapbuilder Contact: [http://cameron.shorter.net Cameron Shorter]
  
This text has been copied from the Mapbuilder repository at mapbuilder/docs/licenceAudit/licenseAudit.txt.
+
This page is derived from information in the Mapbuilder repository at mapbuilder/docs/licenceAudit/
  
 
== Introduction ==
 
== Introduction ==
Line 8: Line 9:
 
http://wiki.osgeo.org/index.php/Code_Provenance_Review
 
http://wiki.osgeo.org/index.php/Code_Provenance_Review
  
The results of the audit are stored in mapbuilder/docs/licenseAudit/licenseAudit.xls
 
 
== Goal ==
 
== Goal ==
 
To establish a reasonable comfort level that projects going through incubation do not have improperly contributed code, and that the code is all under the project license.
 
To establish a reasonable comfort level that projects going through incubation do not have improperly contributed code, and that the code is all under the project license.
Line 18: Line 18:
 
The current Community Mapbuilder codebase, known as mapbuilder-lib, started development in December 2003.  It drew a number of design ideas from a dynamic web mapping application written by Raj Singh.
 
The current Community Mapbuilder codebase, known as mapbuilder-lib, started development in December 2003.  It drew a number of design ideas from a dynamic web mapping application written by Raj Singh.
  
Community Mapbuilder started out under a GLP licence.  In May 2005 we decided that Mapbuilder would grow into a stronger project under a LGPL licence and the licence was changed.
+
Community Mapbuilder started out under a GPL licence.  In May 2005 we decided that Mapbuilder would grow into a stronger project under a LGPL licence and the licence was changed.
 +
 
 +
All developers who had contributed to the Mapbuilder-devel codebase were contacted and gave their approval to move their code from the GPL to LGPL licence.  The decision was archieved in the Mapbuilder-devel email list.  Mapbuilder-lib 0.4 and subsequent releases have been licenced under the LGPL.  We were unable to contact Amri who had initially been part of design discussions.  However, Amri had not contributed to the mapbuilder-lib codebase and hence it was not essential to gain his approval for the license change.
  
All developers who had contributed to the Mapbuilder-devel codebase were contacted and gave their approval to move their code from the GLP to LGPL licence.  The decision was archieved in the Mapbuilder-devel email list.  Mapbuilder-lib 0.4 and subsequent releases have been licenced under the LGPL.  We were unable to contact Amri who had initially been part of design discussions.  However, Amri had not contributed to the mapbuilder-lib codebase and hence it was not essential to gain his approval for the license change.
 
 
== Email threads giving approval for converting to LGPL ==
 
== Email threads giving approval for converting to LGPL ==
 
   Cameron Shorter, Raj Singh, Nedjo Rodgers:
 
   Cameron Shorter, Raj Singh, Nedjo Rodgers:
Line 33: Line 34:
 
Mapbuilder uses Javascript and XSL which are interpreted languages.  I.e.  They are cannot be distributed as a binary.  However, we do distribute a compressed version of Mapbuilder which removes all white space and comments (including license comments).  We believe this is not an issue since we also distribute the source with license information in the comments.
 
Mapbuilder uses Javascript and XSL which are interpreted languages.  I.e.  They are cannot be distributed as a binary.  However, we do distribute a compressed version of Mapbuilder which removes all white space and comments (including license comments).  We believe this is not an issue since we also distribute the source with license information in the comments.
 
== Library Licenses ==
 
== Library Licenses ==
  Library                                License Ok?    Comment
+
  Library                                License   Ok?    Comment
  mapbuilder/lib/util/overlib/*          Artistic yes    As per: http://www.bosrup.com/web/overlib/?License
+
  mapbuilder/lib/util/overlib/*          Artistic yes    As per: http://www.bosrup.com/web/overlib/?License
  mapbuilder/lib/util/overlibmws/*        Artistic yes    As per mapbuilder/lib/util/overlibmws/license.html
+
  mapbuilder/lib/util/overlibmws/*        Artistic yes    As per mapbuilder/lib/util/overlibmws/license.html
  mapbuilder/lib/util/sarissa/*          LGPL     yes    As per mapbuilder/lib/util/sarissa/Sarissa.js
+
  mapbuilder/lib/util/sarissa/*          LGPL     yes    As per mapbuilder/lib/util/sarissa/Sarissa.js
  mapbuilder/lib/util/scalebar/*          LGPL     yes    As per mapbuilder/lib/util/scalebar/license.txt
+
  mapbuilder/lib/util/scalebar/*          LGPL     yes    As per mapbuilder/lib/util/scalebar/license.txt
  mapbuilder/lib/util/wz_jsgraphics/*    LGPL     yes    As per http://www.walterzorn.com/ and mapbuilder/lib/util/wz_jsgraphics/wa_jsgraphics.js (references http://www.gnu.org/copyleft/lesser.html).  There is a little confusion because the file references the GPL as well.
+
  mapbuilder/lib/util/wz_jsgraphics/*    LGPL     yes    As per http://www.walterzorn.com/ and mapbuilder/lib/util/wz_jsgraphics/wa_jsgraphics.js (references http://www.gnu.org/copyleft/lesser.html).  There is a little confusion because the file references the GPL as well.
  mapbuilder/lib/widget/MapScaleBar.js    LGLP    yes    yes    External library - should be stored in util directory
+
  mapbuilder/lib/widget/MapScaleBar.js    LGPL      yes    External library - should be stored in util directory
== License Explaination ==
+
mapbuilder/bin/jsjam.pl                PubDomain yes    As per http://www.anvilon.com/software/
 +
 
 +
== License Explanation ==
 
There are no issues for libraries with LGPL licenses.
 
There are no issues for libraries with LGPL licenses.
  
Line 48: Line 51:
 
''We cannot say that this is a free software license because it is too vague; some passages are too clever for their own good, and their meaning is not clear. We urge you to avoid using it, except as part of the disjunctive license of Perl.  The problems are matters of wording, not substance. There is a revised version of the Artistic License (dubbed Artistic License 2.0) which is a free software license, and even compatible with the GNU GPL. This license is being considered for use in Perl 6. If you are thinking of releasing a program under the Artistic License, please do investigate other GPL-compatible, Free Software licensing options listed here first.  The Artistic License 2.0 is currently in a draft phase with The Perl Foundation. FSF is in active negotiations with the Perl Foundation regarding the license, and we look forward to a result which will benefit all users.''
 
''We cannot say that this is a free software license because it is too vague; some passages are too clever for their own good, and their meaning is not clear. We urge you to avoid using it, except as part of the disjunctive license of Perl.  The problems are matters of wording, not substance. There is a revised version of the Artistic License (dubbed Artistic License 2.0) which is a free software license, and even compatible with the GNU GPL. This license is being considered for use in Perl 6. If you are thinking of releasing a program under the Artistic License, please do investigate other GPL-compatible, Free Software licensing options listed here first.  The Artistic License 2.0 is currently in a draft phase with The Perl Foundation. FSF is in active negotiations with the Perl Foundation regarding the license, and we look forward to a result which will benefit all users.''
  
== Code Copywrite Review ==
+
== License Assignment ==
 +
Some projects ask contributers to sign a Contributor License Agreement (CLA) where a contributor assigns copywrite to a legal body.  OSGeo originally considered mandating CLAs for all participating projects, however Eric Raymond made a strong case for not requiring CLAs.
 +
 
 +
In the absence of a CLA, a contributor is expected to understand the current license of the project and contribute to the project under that license.
 +
 
 +
By that logic, all Mapbuilder contributors have contributed to Mapbuilder under the terms of the LGPL license.
 +
 
 +
== Code Copyright Review ==
 
All files in mapbuilder/lib/* were reviewed.  With the following exception, each file either contained a reference to the LGPL or no reference at all.  When there is no reference, the license of the project was assumed.
 
All files in mapbuilder/lib/* were reviewed.  With the following exception, each file either contained a reference to the LGPL or no reference at all.  When there is no reference, the license of the project was assumed.
Full details of the audit are stored in mapbuilder/docs/licenseAudit/licenseAudit.xls
+
Full details of the audit are stored in mapbuilder/docs/licenseAudit/licenseAudit.xls in the mapbuilder repository.
 +
 
 +
Most files contain license text similar to:
 +
 
 +
<pre>/*
 +
License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
 +
$Id: Mapbuilder.js 1666 2005-09-16 13:22:07Z madair1 $
 +
*/</pre>
  
 
The following file had an issue with the license:
 
The following file had an issue with the license:
  
  '''Library                                 License Ok?    Comment'''
+
  '''Library                       License   Ok?    Comment'''
mapbuilder/lib/util/MGRS.js            LGPL    no      Contains: "Got library from somewhere but don't know where"
+
  mapbuilder/lib/model/Proj.js  LGPL yes This program uses algorithms derived from GCTPC at http://edcftp.cr.usgs.gov/pub//software/gctpc/ . As this code belongs to the US Government, we believe it is available to the public domain and hence is compabible with the LGPL.
  mapbuilder/lib/model/Proj.js         LGLP yes This program uses algorithms derived from GCTPC at http://edcftp.cr.usgs.gov/pub//software/gctpc/ . As this code belongs to the US Government, we believe it is available to the public domain and hence is compabible with the LGPL.
+
mapbuilder/bin/jsjam.pl      PubDomain yes    "I write software for a living, most of which cannot be made public. Here are a few bits, though, which I can share and which others may find useful."
 +
 
 +
== Copyright Holders ==
 +
The copyright holders is listed in mapbuilder/LICENSE.  This currently states:
 +
 
 +
MapBuilder is a powerful, standards compliant geographic mapping client
 +
which runs in a web browser.  More details at http://communitymapbuilder.org
 +
 +
Mapbuilder source code is copyright (C) 2006 to the following people:
 +
  Name                    Login Id
 +
  ====                    ========
 +
  Cameron Shorter        camerons
 +
  Linda Derezinski        derezinski
 +
  Matthew D. Diez        mattdiez
 +
  Matthew Perry         
 +
  Michael Jenik          maiqui
 +
  Mike Adair              madair madair1
 +
  Nedjo Rogers            nedjo
 +
  Pat Cappelaere          cappelaere
 +
  Radim Blazek            rabla
 +
  Raj Singh              rajsingh
 +
  Richard Greenwood      rgreenwood
 +
  Steven M. Ottens        graphrisc steven
 +
  Tom Kralidis            tomkralidis
 +
 +
This library is free software; you can redistribute it and/or
 +
modify it under the terms of the GNU Lesser General Public
 +
License as published by the Free Software Foundation; either
 +
version 2.1 of the License, or (at your option) any later version.
 +
 +
This library 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
 +
Lesser General Public License for more details.
 +
 +
You should have received a copy of the GNU Lesser General Public
 +
License along with this library; if not, write to the Free Software
 +
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 +
 +
--
 +
 +
It is the intent of this project that all Mapbuilder developers who
 +
have been given write access to the Mapbuilder code repository and
 +
have contributed to source code in mapbuilder/lib/* may become
 +
copyright owners.
 +
 +
Providing a patch to the mailing list does not give someone the right to
 +
become a copyright owner (primarily because it is too hard to track).
 +
 +
Once someone becomes a copyright owner, they do not loose this status
 +
unless they personally request to be removed from the list of copyright
 +
owners listed in this file.
  
== Copywrite Holders ==
+
[[Category:Incubation]]
The copywrite holders is listed in mapbuilder/LICENSE.  Currently this includes:
 
  '''Name'''                    '''Login Id'''
 
  Cameron Shorter        camerons
 
  Linda Derezinski        derezinski
 
  Matthew D. Diez        mattdiez
 
  Matthew Perry         
 
  Michael Jenik          maiqui
 
  Mike Adair              madair madair1
 
  Nedjo Rogers            nedjo
 
  Pat Cappelaere          cappelaere
 
  Radim Blazek            rabla
 
  Raj Singh              rajsingh
 
  Richard Greenwood      rgreenwood
 
  Steven M. Ottens        graphrisc steven
 
  Tom Kralidis            tomkralidis
 

Latest revision as of 12:12, 22 October 2006

Community Mapbuilder Code Provenance Review

Last Updated: 23 October 2006 OSGeo/Mapbuilder Contact: Cameron Shorter

This page is derived from information in the Mapbuilder repository at mapbuilder/docs/licenceAudit/

Introduction

This page documents the results of a Licence audit of the Community Mapbuilder project. It is done in accordance with the OSGEO Foundation guidelines at: http://wiki.osgeo.org/index.php/Code_Provenance_Review

Goal

To establish a reasonable comfort level that projects going through incubation do not have improperly contributed code, and that the code is all under the project license.

A code provenance review is desirable because it reduces the risk of the foundation, project developers or software users becoming involved in a legal action or having their use of the software disrupted by sudden removal of improperly contributed code. In particular, many enterprises will not build on open source software projects without some degree of assurance that care is being taken to avoid improper contributions.

It is not the goal to be able to prove that every source file, and every contribution to those files, was contributed properly. The onus is not on us to prove there are no problem. However we want to ensure we do not release code with provenance issues that we could have identified and corrected with a reasonable effort.

History

The current Community Mapbuilder codebase, known as mapbuilder-lib, started development in December 2003. It drew a number of design ideas from a dynamic web mapping application written by Raj Singh.

Community Mapbuilder started out under a GPL licence. In May 2005 we decided that Mapbuilder would grow into a stronger project under a LGPL licence and the licence was changed.

All developers who had contributed to the Mapbuilder-devel codebase were contacted and gave their approval to move their code from the GPL to LGPL licence. The decision was archieved in the Mapbuilder-devel email list. Mapbuilder-lib 0.4 and subsequent releases have been licenced under the LGPL. We were unable to contact Amri who had initially been part of design discussions. However, Amri had not contributed to the mapbuilder-lib codebase and hence it was not essential to gain his approval for the license change.

Email threads giving approval for converting to LGPL

 Cameron Shorter, Raj Singh, Nedjo Rodgers:
 http://sourceforge.net/mailarchive/forum.php?thread_id=7652435&forum_id=475
 Tom Kralidis:
 http://sourceforge.net/mailarchive/message.php?msg_id=12349638
 Nedjo Rodgers:
 http://sourceforge.net/mailarchive/message.php?msg_id=12254583
 Mike Adair:
 http://sourceforge.net/mailarchive/forum.php?thread_id=7653920&forum_id=475

Packaging

Mapbuilder uses Javascript and XSL which are interpreted languages. I.e. They are cannot be distributed as a binary. However, we do distribute a compressed version of Mapbuilder which removes all white space and comments (including license comments). We believe this is not an issue since we also distribute the source with license information in the comments.

Library Licenses

Library                                 License   Ok?     Comment
mapbuilder/lib/util/overlib/*           Artistic  yes     As per: http://www.bosrup.com/web/overlib/?License
mapbuilder/lib/util/overlibmws/*        Artistic  yes     As per mapbuilder/lib/util/overlibmws/license.html
mapbuilder/lib/util/sarissa/*           LGPL      yes     As per mapbuilder/lib/util/sarissa/Sarissa.js
mapbuilder/lib/util/scalebar/*          LGPL      yes     As per mapbuilder/lib/util/scalebar/license.txt
mapbuilder/lib/util/wz_jsgraphics/*     LGPL      yes     As per http://www.walterzorn.com/ and mapbuilder/lib/util/wz_jsgraphics/wa_jsgraphics.js (references http://www.gnu.org/copyleft/lesser.html).  There is a little confusion because the file references the GPL as well.
mapbuilder/lib/widget/MapScaleBar.js    LGPL      yes     External library - should be stored in util directory
mapbuilder/bin/jsjam.pl                 PubDomain yes     As per http://www.anvilon.com/software/

License Explanation

There are no issues for libraries with LGPL licenses.

The Mapbuilder project doesn't have a problem with libraries which use the Artistic license as we beleive the intent of the license is compatable with LGPL, but the GNU site has the following to say:

(Original) Artistic License: We cannot say that this is a free software license because it is too vague; some passages are too clever for their own good, and their meaning is not clear. We urge you to avoid using it, except as part of the disjunctive license of Perl. The problems are matters of wording, not substance. There is a revised version of the Artistic License (dubbed Artistic License 2.0) which is a free software license, and even compatible with the GNU GPL. This license is being considered for use in Perl 6. If you are thinking of releasing a program under the Artistic License, please do investigate other GPL-compatible, Free Software licensing options listed here first. The Artistic License 2.0 is currently in a draft phase with The Perl Foundation. FSF is in active negotiations with the Perl Foundation regarding the license, and we look forward to a result which will benefit all users.

License Assignment

Some projects ask contributers to sign a Contributor License Agreement (CLA) where a contributor assigns copywrite to a legal body. OSGeo originally considered mandating CLAs for all participating projects, however Eric Raymond made a strong case for not requiring CLAs.

In the absence of a CLA, a contributor is expected to understand the current license of the project and contribute to the project under that license.

By that logic, all Mapbuilder contributors have contributed to Mapbuilder under the terms of the LGPL license.

Code Copyright Review

All files in mapbuilder/lib/* were reviewed. With the following exception, each file either contained a reference to the LGPL or no reference at all. When there is no reference, the license of the project was assumed. Full details of the audit are stored in mapbuilder/docs/licenseAudit/licenseAudit.xls in the mapbuilder repository.

Most files contain license text similar to:

/*
License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
$Id: Mapbuilder.js 1666 2005-09-16 13:22:07Z madair1 $
*/

The following file had an issue with the license:

Library                       License   Ok?     Comment
mapbuilder/lib/model/Proj.js  LGPL	yes 	This program uses algorithms derived from GCTPC at http://edcftp.cr.usgs.gov/pub//software/gctpc/ . As this code belongs to the US Government, we believe it is available to the public domain and hence is compabible with the LGPL.
mapbuilder/bin/jsjam.pl       PubDomain yes     "I write software for a living, most of which cannot be made public. Here are a few bits, though, which I can share and which others may find useful."

Copyright Holders

The copyright holders is listed in mapbuilder/LICENSE. This currently states:

MapBuilder is a powerful, standards compliant geographic mapping client
which runs in a web browser.  More details at http://communitymapbuilder.org

Mapbuilder source code is copyright (C) 2006 to the following people:
  Name                    Login Id
  ====                    ========
  Cameron Shorter         camerons
  Linda Derezinski        derezinski
  Matthew D. Diez         mattdiez
  Matthew Perry           
  Michael Jenik           maiqui
  Mike Adair              madair madair1
  Nedjo Rogers            nedjo
  Pat Cappelaere          cappelaere
  Radim Blazek            rabla
  Raj Singh               rajsingh
  Richard Greenwood       rgreenwood
  Steven M. Ottens        graphrisc steven
  Tom Kralidis            tomkralidis

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library 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
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

--

It is the intent of this project that all Mapbuilder developers who
have been given write access to the Mapbuilder code repository and
have contributed to source code in mapbuilder/lib/* may become
copyright owners.

Providing a patch to the mailing list does not give someone the right to
become a copyright owner (primarily because it is too hard to track).

Once someone becomes a copyright owner, they do not loose this status
unless they personally request to be removed from the list of copyright
owners listed in this file.