You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 41 Next »

Overview of tasks for transitioning NetBeans to Apache, per repository.

Reference: https://incubator.apache.org/guides/transitioning_asf.html

1st Code Donation

Repohtml4j

jackpot30

netbeans

TaskAssigned ToStatusVerifiedAssigned ToStatusAssigned ToStatus

Audit Cryptography

Jaroslav Tulach

Evaluation done as part of initial few commits

    Comments

Relicense

Jaroslav Tulach

Done, including rat-maven-plugin integration

Jan Lahoda &

Craig Russell

   

Unable to render Jira issues macro, execution error.

See the table below.

Repackaging

-

No plans to do it now. To simplify merges and keep backward compatibility.

    No plans to do it now. To simplify merges and keep backward compatibility.

Continuous Build

Jaroslav Tulach

Updated NetBeans builders, requested Apache Jenkins Job: INFRA-15058

     Unable to render Jira issues macro, execution error.

Update pom release info

Jaroslav TulachDone as 9032affbe    Not a Maven project, so no POM.

Relicensing of incubator-netbeans

The total number of files in incubator-netbeans is 44,324.

Automatically convertible by the tool for analyzing and changing GPL+CDDL license headers is 29,496.

That leaves 14,828 that currently cannot be automatically be converted and that need to be investigated or that indicate the tool needs to be finetuned.

Some file types by definition are excluded since they don't have licenses at all. They may not need a license: "A file without any degree of creativity in either its literal elements or its structure is not protected by copyright law; therefore, such a file does not require a license header." – https://www.apache.org/legal/src-headers.html

When identifying the problematic areas for the relicensing process in incubator-netbeans, the following types of files are relevant, some/many of which could be seen to not having "any degree of creativity" via the above definition:

File TypeStatistics*StatusIssues
.form

find . -type f -name "*.form" | grep -v '\.git' | wc -l

Result: 1242

1019 have an adjacent Java source file with a license header

223 don't have an adjacent Java source file (form module tests)

Consensus appears to be that all .form files need to manually have licenses added, in incubator-netbeans, while Matisse needs to be able to generate licenses for .form files going forward. Unable to render Jira issues macro, execution error.
.png/.gif/other image files

find . -type f -name "*.png" | grep -v '\.git' | wc -l

Result: 2273

find . -type f -name "*.gif" | grep -v '\.git' | wc -l

Result: 1094

find . -type f -name "*.jpg" | grep -v '\.git' | wc -l

Result: 26

find . -type f -name "*.ico" | grep -v '\.git' | wc -l

Result: 3

  
manifest files

find . -type f -name "*.form" | grep -v '\.git' | wc -l

Result: 772

Does this have any degree of creativity? 
list files

find . -type f -name "*.list" | grep -v '\.git' | wc -l

Result: 42

Does this have any degree of creativity? 
sig files

find . -type f -name "*.sig" | grep -v '\.git' | wc -l

Result: 108

Does this have any degree of creativity? 
txt files

find . -type f -name "*.txt" | grep -v '\.git' | wc -l

Result: 930

  
binaries-list files

find . -type f -name "binaries-list" | grep -v '\.git' | wc -l

Result: 121

Does this have any degree of creativity? 
README files

find . -type f -name "README*" | grep -v '\.git' | wc -l

Result: 22

  
file files

find . -type f -name "*.file" | grep -v '\.git' | wc -l

Result: 1

  
jsp files

find . -type f -name "*.jsp" | grep -v '\.git' | wc -l

Result: 7

  
xsl files

find . -type f -name "*.xsl" | grep -v '\.git' | wc -l

Result: 49

  
sh filesfind . -type f -name "*.sh" | grep -v '\.git' | wc -l

Result: 80

  
css filesfind . -type f -name "*.css | grep -v '\.git' | wc -l

Result: 33

  
pass (golden) files

find . -type f -name "*.pass" | grep -v '\.git' | wc -l

Result: 2644

Does this have any degree of creativity? 
    
  • Statistics column is for number of files and any other numbers.

Tool for analyzing and changing GPL+CDDL license headers

A tool to analyze and change the license headers is attached here. The tool does the following to the license headers:

-for files that contain string "CDDL":

-it looks for the first comment in the file

-the normalizes the text of the comment:

replaces pieces that look like a range of years with text "<YEARS>"

replaces <p/> with a newline

replaces each single newline with a space

replaces a consecutive spaces and tabs with a single space

replaces multiple newlines with a single newline

removes leading and trailing newlines

 

The conversion part then looks at the normalized headers, and if it matches the following regexp, it replaces it with and ASF license header:

            "\\QDO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.\\E\\s*" +
            "(" +
            "\\QCopyright <YEARS> Oracle and/or its affiliates. All rights reserved.\\E\\s*" +
            "|" +
            "\\QCopyright (c) <YEARS> Oracle and/or its affiliates. All rights reserved.\\E\\s*" +
            "|" +
            "\\QCopyright \u00A9 <YEARS> Oracle and/or its affiliates. All rights reserved.\\E\\s*" +
            "|" +
            "\\QCopyright <YEARS> Sun Microsystems, Inc. All rights reserved.\\E\\s*" +
            ")" +
            "(\\QOracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.\\E\\s*)?" +
            "(" +
            "\\QThe contents of this file are subject to the terms of either the GNU General Public License Version 2 only (\"GPL\") or the Common Development and Distribution License(\"CDDL\") (collectively, the \"License\"). You may not use this file except in compliance with the License. You can obtain a copy of the License at http://www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific language governing permissions and limitations under the License. When distributing the software, include this License Header Notice in each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this particular file as subject to the \"Classpath\" exception as provided by Oracle in the GPL Version 2 section of the License file that accompanied this code. If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: \"Portions Copyrighted [year] [name of copyright owner]\"\\E\\s*" +
            "|" +
            "\\QThe contents of this file are subject to the terms of either the GNU General Public License Version 2 only (\"GPL\") or the Common Development and Distribution License(\"CDDL\") (collectively, the \"License\"). You may not use this file except in compliance with the License. You can obtain x copy of the License at http://www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific language governing permissions and limitations under the License. When distributing the software, include this License Header Notice in each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this particular file as subject to the \"Classpath\" exception as provided by Oracle in the GPL Version 2 section of the License file that accompanied this code. If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: \"Portions Copyrighted [year] [name of copyright owner]\"\\E\\s*" + //note: typo "x copy" instead of "a copy"
            "|" +
            "\\QThe contents of this file are subject to the terms of either the GNU General Public License Version 2 only (\"GPL\") or the Common Development and Distribution License(\"CDDL\") (collectively, the \"License\"). You may not use this file except in compliance with the License. You can obtain a copy of the License at http://www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific language governing permissions and limitations under the License. When distributing the software, include this License Header Notice in each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this particular file as subject to the \"Classpath\" exception as provided by Sun in the GPL Version 2 section of the License file that accompanied this code. If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: \"Portions Copyrighted [year] [name of copyright owner]\"\\E\\s*" +
            "|" +
            "\\QThe contents of this file are subject to the terms of either the GNU General Public License Version 2 only (\"GPL\") or the Common Development and Distribution License(\"CDDL\") (collectively, the \"License\"). You may not use this file except in compliance with the License. You can obtain a copy of the License at http:www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific language governing permissions and limitations under the License. When distributing the software, include this License Header Notice in each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this particular file as subject to the \"Classpath\" exception as provided by Sun in the GPL Version 2 section of the License file that accompanied this code. If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: \"Portions Copyrighted [year] [name of copyright owner]\"\\E\\s*" + //note: mistake in URL (no '//'), otherwise as above
            ")" +
            "(" +
            "\\QIf you wish your version of this file to be governed by only the CDDL or only the GPL Version 2, indicate your decision by adding \"[Contributor] elects to include this software in this distribution under the [CDDL or GPL Version 2] license.\" If you do not indicate a single choice of license, a recipient has the option to distribute your version of this file under either the CDDL, the GPL Version 2 or to extend the choice of license to its licensees as provided above. However, if you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then the option applies only if the new code is made subject to such option by the copyright holder.\\E\\s*" +
            "|" +
            "\\QIf you wish your version of this file to be governed by only the CDDL or only the GPL Version 2, indicate your decision by adding \"[Contributor] elects to include this software in this distribution under the [CDDL or GPL Version 2] license.\" If you do not indicate x single choice of license, x recipient has the option to distribute your version of this file under either the CDDL, the GPL Version 2 or to extend the choice of license to its licensees as provided above. However, if you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then the option applies only if the new code is made subject to such option by the copyright holder.\\E\\s*" + //note: typos "a single choice" -> "x single choice", "a recipient" -> "x recipient"
            "|" +
            //empty
            ")" +
            "(\\QContributor(s):\\E\\s*)?" +
            "(" +
            "\\QThe Original Software is NetBeans. The Initial Developer of the Original Software is Sun Microsystems, Inc. Portions Copyright <YEARS> Sun Microsystems, Inc. All Rights Reserved.\\E\\s*" +
            "|" +
            "\\QThe Original Software is NetBeans. The Initial Developer of the Original Software is Sun Microsystems, Inc. Portions created by Sun Microsystems, Inc. are Copyright (C) <YEARS> All Rights Reserved.\\E\\s*" +
            "|" +
            "\\QThe Original Software is NetBeans. The Initial Developer of the Original Code is Sun Microsystems, Inc. Portions Copyright <YEARS> Sun Microsystems, Inc. All Rights Reserved.\\E\\s*" +
            "|" +
            "\\QThe Original Software is NetBeans. The Initial Developer of the Original Software is Oracle. Portions Copyright <YEARS> Oracle. All Rights Reserved.\\E\\s*" +
            "|" +
            "\\QThe original software is NetBeans. The initial developer of the original software was Sun Microsystems, Inc.; portions copyright <YEARS> Sun Microsystems, Inc. All rights reserved.\\E\\s*" +
            "|" +
            "\\QThe Original Software is NetBeans. The Initial Developer of the Original Software is Sun Microsystems, Inc.\nPortions Copyrighted <YEARS> Sun Microsystems, Inc.\\E\\s*" +
            "|" +
            "\\QPortions Copyrighted <YEARS> Sun Microsystems, Inc.\\E\\s*" +
            "|" +
            "\\QPortions Copyrighted <YEARS> Oracle, Inc.\\E\\s*" +
            "|" +
            "\\QPortions Copyrighted <YEARS> Oracle\\E\\s*" +
            "|)" +
            "(\\QIf you wish your version of this file to be governed by only the CDDL or only the GPL Version 2, indicate your decision by adding \"[Contributor] elects to include this software in this distribution under the [CDDL or GPL Version 2] license.\" If you do not indicate a single choice of license, a recipient has the option to distribute your version of this file under either the CDDL, the GPL Version 2 or to extend the choice of license to its licensees as provided above. However, if you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then the option applies only if the new code is made subject to such option by the copyright holder.\\E\\s*)?";

Most files with the GPL+CDDL header match this pattern. The remaining files may need to be checked manually.

 

2nd Code Donation (to be done)

 

 

  • No labels