Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Metacat License #1862

Open
2 of 3 tasks
doulikecookiedough opened this issue Apr 2, 2024 · 7 comments
Open
2 of 3 tasks

Update Metacat License #1862

doulikecookiedough opened this issue Apr 2, 2024 · 7 comments
Assignees
Milestone

Comments

@doulikecookiedough
Copy link
Contributor

doulikecookiedough commented Apr 2, 2024

Update 04/18/2014:

After discussing with the team, we will keep the status quo for now and push this potential license update to 3.1.0. More research and feedback is required before a license change can be made.

Original Issue Comment:

With the major release of 3.0.0, the team feels that it is appropriate to also update our license at this time to the Apache2 license, which is more collaborative (ex. its patent clause). For example, if a user were to contribute or extend Metacat, they would be legally bound to provide access to the changes they write to us.

To Do:

  • Remove all reference of the GNU GPL
    • Matt: My quick scan shows 1956 files in metacat (excluding build artifacts that just duplicate things) that mention GPL. Here's the command I used and the file list:

      • find . -type f |xargs -P 10 egrep -H -n "GNU|GPL|General Public License" > ~/gpl-files.txt
  • Create new Apache 2 .MD document to be added to the Metacat repo to replace LICENSE
  • Ensure Admin docs point to this license, and that references to GNU GPL are removed

Notes:

@taojing2002
Copy link
Contributor

@doulikecookiedough Have we decided we want to use Apache license in this release yet? If we want to use it, we need to change every file in the system which had the GNU license. Otherwise, it will be not consistent.

@artntek
Copy link
Contributor

artntek commented Apr 11, 2024

@doulikecookiedough Have we decided we want to use Apache license in this release yet? If we want to use it, we need to change every file in the system which had the GNU license. Otherwise, it will be not consistent.

To clarify - we need to delete the licensing text from every file in the system which had the GNU license, not modify it.

@doulikecookiedough
Copy link
Contributor Author

doulikecookiedough commented Apr 11, 2024

@taojing2002 @artntek My understanding after the last backend dev call was that we are to take this opportunity to switch to Apache 2.0 as we are doing a bunch of major changes in 3.0.0.

In my working branch, I have added a new LICENSE.md Apache 2.0 license file in the root project folder and removed the previous GNU GPL.

I have also removed all references to the licensing text from every file in the project, other than:

  • The docs in the folders marked in .gitignore
  • The docs related to /lib/style/common/jquery
  • Binary files

@doulikecookiedough
Copy link
Contributor Author

@artntek @taojing2002 What are your guys' thoughts on the references I haven't removed? Is it okay for me to ignore those?

@doulikecookiedough
Copy link
Contributor Author

doulikecookiedough commented Apr 16, 2024

After discussing with the backend team, there are a few considerations to take into account when revising our license. Determining whether to upgrade, and upgrading our license to Apache 2.0 will need to be executed in a few steps:

  • Remove the copyright/licensing text from code that is written by UC/NCEAS, we can rely on the top level license in the project for the respective code.

    • Review existing branch and revert changes to the LICENSE
    • Revert any files for external libraries for which licensing text has been removed (non Metacat code)
  • Check the dependencies of Metacat that are included in the project

    • Ex. with something like https://www.mojohaus.org/license-maven-plugin/ ~ license:aggregate-add-third-party
    • Which should produce a file containing a list of all dependencies and their respective licenses
  • Determine if an Apache 2.0 license can be applied given the above findings

@doulikecookiedough
Copy link
Contributor Author

doulikecookiedough commented Apr 17, 2024

Attaching third party report via mvn license:aggregate-third-party-report as .zip (.html file not allowed in Github)

  • Drag into chrome browser to view tables nicely

aggregate-third-party-report.html.zip

Unique Licenses:

The BSD License
The Apache Software License, Version 2.0
Apache 2
Apache License v2
Apache License, Version 2.0
The Apache License, Version 2.0
Revised BSD License
BSD License
The MIT License
3-Clause BSD License
Go License
Mozilla Public License 1.1 (MPL 1.1)
Unicode/ICU License
ISC License
Mozilla Public License
ASL 2.0GPL v2MPL 2.0
Eclipse Distribution License - v 1.0
Apache License, Version 2.0Eclipse Distribution License - v 1.0
Apache License 2.0
Apache license
EDL 1.0
Common Development and Distribution License (CDDL) v1.0
CDDL + GPLv2 with classpath exception
CDDL 1.1GPL2 w/ CPE
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0GNU General Public Library
Eclipse Public License 1.0
Apache 2.0
The BSD Software License
Java HTML Tidy License
The GNU General Public License
Eclipse Public License - v 1.0
Bouncy Castle Licence
MIT License
BSD-3-Clause
Apache Software License - Version 2.0Eclipse Public License - Version 1.0
Lesser General Public License (LGPL)
New BSD License
Similar to Apache License but with the acknowledgment clause removed
BSD
Eclipse Public License v2.0
Eclipse Distribution License - v 1.0Eclipse Public License, Version 2.0
ISC
OGC copyright
BSD-2-Clause
Apache License Version 2.0
Apache Public License 2.0
Apache Software License - Version 2.0
Public Domain
Apache-2.0
GNU Lesser General Public License (LGPL), version 2.1
The Apache Software License, Version 2.0The SAX LicenseThe W3C License

@doulikecookiedough doulikecookiedough modified the milestones: 3.0.0, 3.1.0 Apr 18, 2024
@doulikecookiedough
Copy link
Contributor Author

After discussing with the team, we will keep the status quo for now and push this potential license update to 3.1.0. More research and feedback is required before a license change can be made.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants