diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bd2bf0c73..94ce06d4d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -151,6 +151,9 @@ See the section on reuse for their license requirements (they don't need to be MIT, but all required components must be open source software). +The data *managed* by this application is released under different +open data licenses. See the README for more information. + ### We are proactive In general we try to be proactive to detect and eliminate diff --git a/LICENSES/CDLA-2.0 b/LICENSES/CDLA-2.0 new file mode 100644 index 000000000..3dbf39ed1 --- /dev/null +++ b/LICENSES/CDLA-2.0 @@ -0,0 +1,35 @@ +# Community Data License Agreement - Permissive - Version 2.0 + +This is the Community Data License Agreement - Permissive, Version 2.0 (the "agreement"). Data Provider(s) and Data Recipient(s) agree as follows: + +## 1. Provision of the Data + +1.1. A Data Recipient may use, modify, and share the Data made available by Data Provider(s) under this agreement if that Data Recipient follows the terms of this agreement. + +1.2. This agreement does not impose any restriction on a Data Recipient's use, modification, or sharing of any portions of the Data that are in the public domain or that may be used, modified, or shared under any other legal exception or limitation. + +## 2. Conditions for Sharing Data + +2.1. A Data Recipient may share Data, with or without modifications, so long as the Data Recipient makes available the text of this agreement with the shared Data. + +## 3. No Restrictions on Results + +3.1. This agreement does not impose any restriction or obligations with respect to the use, modification, or sharing of Results. + +## 4. No Warranty; Limitation of Liability + +4.1. All Data Recipients receive the Data subject to the following terms: + +THE DATA IS PROVIDED ON AN "AS IS" BASIS, WITHOUT REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +NO DATA PROVIDER SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE DATA OR RESULTS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +## 5. Definitions + +5.1. "Data" means the material received by a Data Recipient under this agreement. + +5.2. "Data Provider" means any person who is the source of Data provided under this agreement and in reliance on a Data Recipient's agreement to its terms. + +5.3. "Data Recipient" means any person who receives Data directly or indirectly from a Data Provider and agrees to the terms of this agreement. + +5.4. "Results" means any outcome obtained by computational analysis of Data, including for example machine learning models and models' insights. diff --git a/LICENSES/README.md b/LICENSES/README.md new file mode 100644 index 000000000..e0598c222 --- /dev/null +++ b/LICENSES/README.md @@ -0,0 +1,12 @@ +# Licenses + +*Content* managed by the service and submitted more recently +is accepted and released under the +[Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0](https://cdla.dev/permissive-2-0/). + +This directory contains a +[local copy of the CDLA-Permissive-2.0 license](./CDLA-Permissive-2.0) +in markdown as +[retrieved from GitHub](https://raw.githubusercontent.com/Community-Data-License-Agreements/Releases/main/CDLA-Permissive-2.0.md). + +Previous content was accepted under the CC-BY-3.0 or CC-BY-3.0+ licenses. diff --git a/README.md b/README.md index f48a4c557..0ebc8bcc5 100644 --- a/README.md +++ b/README.md @@ -190,8 +190,9 @@ a top-level domain with our CDN; it's more efficient to use the subdomain. ## License -All material here is released under the [MIT license](./LICENSE). -All material that is not executable, including all text when not executed, +All material in this repository is released under the [MIT license](./LICENSE). +All material in this repository that is not executable, +including all text when not executed, is also released under the [Creative Commons Attribution 3.0 International (CC BY 3.0) license](https://creativecommons.org/licenses/by/3.0/) or later. In SPDX terms, everything here is licensed under MIT; @@ -203,3 +204,29 @@ other components with their own licenses. Not all components we depend on are MIT-licensed, but all *required* components are FLOSS. We prevent licensing issues using various processes (see [CONTRIBUTING](./CONTRIBUTING.md)). + +The data *managed* by this software is under different highly-permissive +[open data](https://opendefinition.org/od/2.1/en/) licenses, +depending on when the data was last updated: + +* Data updated on or after 2024-08-23T12:00:00Z is released under the + [Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0)](https://cdla.dev/permissive-2-0/). + This means that a Data Recipient + may share the Data, with or without modifications, so long as the + Data Recipient makes available the text of this agreement with + the shared Data. + This agreement does *not* impose any restriction or obligations + with respect to the use, modification, or sharing of Results. +* Otherwise, data updated on or after 2017-02-20T12:00:00Z is released under the + [Creative Commons Attribution 3.0 International (CC BY 3.0) license or later (CC-BY-3.0+)](https://creativecommons.org/licenses/by/3.0/). +* Otherwise, data is released under the + [Creative Commons Attribution 3.0 International (CC BY 3.0) license (CC-BY-3.0)](https://creativecommons.org/licenses/by/3.0/). + +The *complete* collection of data *managed* by this application is thus +licensed with the SPDX license expression "(CC-BY-3.0 AND CDLA-Permissive-2.0)". +Only a few old entries are under the CC-BY-3.0, so if you omitted those +oldest data values, the dataset is released under the expression +"(CC-BY-3.0+ AND CDLA-Permissive-2.0)". + +Submitters of data retain copyright (if any), and +the project license is unaffected. diff --git a/app/models/project.rb b/app/models/project.rb index 6ab74e664..e7e175819 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -26,6 +26,9 @@ class Project < ApplicationRecord # (CC-BY-3.0+)? ENTRY_LICENSE_EXPLICIT_DATE = Time.iso8601('2017-02-20T12:00:00Z') + # When did we switch to CDLA-Permissive-2.0? + ENTRY_LICENSE_CDLA_PERMISSIVE_20_DATE = Time.iso8601('2024-08-23T12:00:00Z') + STATUS_CHOICE = %w[? Met Unmet].freeze STATUS_CHOICE_NA = (STATUS_CHOICE + %w[N/A]).freeze MIN_SHOULD_LENGTH = 5 @@ -354,6 +357,26 @@ def show_entry_license? updated_at >= ENTRY_LICENSE_EXPLICIT_DATE end + def show_cdla_permissive_20_license? + updated_at >= ENTRY_LICENSE_CDLA_PERMISSIVE_20_DATE + end + + # Which field should we display for the data license? + # Using the project's last updated_at value, return the name of the + # field in i18n "projects.show" to display as the license. + def data_license_field + if show_cdla_permissive_20_license? + 'cdla_permissive_20_html' + elsif show_entry_license? + 'cc_by_3plus_html' + else + # This is older data and the user didn't indicate anything, + # so the "terms of use" of CII apply, which said that unless + # otherwise noted it's released under CC-BY-3.0 only. + 'cc_by_3only_html' + end + end + # Update the badge percentage for a given level (expressed as a number; # 0=passing), and update relevant event datetime if needed. # It presumes the lower-level percentages (if relevant) are calculated. diff --git a/app/views/projects/_form_0.html.erb b/app/views/projects/_form_0.html.erb index 35e114602..6e959d034 100644 --- a/app/views/projects/_form_0.html.erb +++ b/app/views/projects/_form_0.html.erb @@ -361,7 +361,7 @@ <% end %> <% unless is_disabled %>