Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-13147

Remove Java class file <!-- Copyright --> comment from pom.xml files

    XMLWordPrintable

    Details

      Description

      There are 491 pom.xml files in trunk; of these 31 include a <!-- copyright statement --> of the type that graces our Java class files. I'd like to remove these statements in order to maintain 1) consistency across poms as well as eliminate 2) redundancy, given that the Maven POM definition includes a <license> element that we define in our base pom.xml.

      The Maven way: http://maven.apache.org/pom.html#Licenses

      (as evidenced in our base pom.xml):

      <licenses>
      <license>
      <name>Educational Community License, Version 2.0</name>
      <url>http://www.osedu.org/licenses/ECL-2.0</url>
      <distribution>svn</distribution>
      </license>
      </licenses>

      The few projects where the "copyright" poms reside are as follows:

      content-review
      mailtool
      osp
      rwiki
      samples
      usermembership

      The osp poms in particular could use a bit of tidying up since their copyright statements include $URL and $Id references that suggest a content project ancestry:

      <!--
      ~ *********************************************************************************
      ~ $URL: https://source.sakaiproject.org/svn/content/trunk/content-api/api/src/java/org/sakaiproject/content/api/ContentCollection.java $
      ~ $Id: ContentCollection.java 8537 2006-05-01 02:13:28Z jimeng@umich.edu $
      ~ **********************************************************************************

      . . . . -->

      We have not defined any best practice in this area as regards pom files and references to our copyright. Both polls and the emailtemplateservice poms offer variations on the Maven approach (see below), making use of the <comments> element to embed portions or all of the copyright statement. Whether embedding <license> information explicitly in all pom.xml files is necessary or simply rely on base pom inheritance is a subject worth discussing. I would think that in most cases the latter approach is sufficient, i.e., relying on inheritance, but others may prefer a more explicit approach, especially as we consider a gradual decoupling of our monolithic release process as has been achieved recently with the kernel.

      polls:

      <licenses>
      <license>
      <name>ECL-2.0</name>
      <url>http://www.osedu.org/licenses/ECL-2.0</url>
      <distribution>repo</distribution>
      <comments>Copyright 2003, 2004, 2005, 2006, 2007 Sakai Foundation</comments>
      </license>
      </licenses>

      emailtemplateservice:

      <licenses>
      <license>
      <name>ECL-2.0</name>
      <url>http://www.osedu.org/licenses/ECL-2.0</url>
      <distribution>repo</distribution>
      <comments>
      Copyright 2003, 2004, 2005, 2006, 2007 Sakai Foundation

      Licensed under the Educational Community License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

      http://www.osedu.org/licenses/ECL-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
      </comments>
      </license>
      </licenses>

      In any case I prefer the Maven way over inclusion of the <!-- Copyright . . . . --> statement as has been adopted by a minority of projects.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                arwhyte Anthony Whyte
                Reporter:
                arwhyte Anthony Whyte
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration