Skip to content

[Proposed Feature] License as core repository metadata #128

@jedsundwall

Description

@jedsundwall

Overview

Source Cooperative should implement a license management system that allows data product owners to specify licensing terms for their datasets. This feature will improve data governance, legal clarity, and user confidence when accessing datasets.

Proposed Implementation

License Selection Interface

  • Add a license selection field to the data product creation/editing interface
  • Provide a dropdown menu with commonly used open source licenses from the SPDX License List
  • Include popular licenses such as:
    • MIT License (MIT)
    • Apache License 2.0 (Apache-2.0)
    • BSD 3-Clause License (BSD-3-Clause)
    • Creative Commons Attribution 4.0 (CC-BY-4.0)
    • Creative Commons Zero (CC0-1.0)
    • GNU General Public License v3.0 (GPL-3.0)
    • Open Data Commons Open Database License (ODbL-1.0)

Automatic License File Generation

When a user selects a license from the dropdown:

  1. System automatically downloads the full license text from SPDX
  2. Creates a LICENSE.txt file in the root directory of the data product
  3. Updates the data product metadata to include license information
  4. Displays license information prominently on the product page

Custom License Support

  • Allow users to upload their own LICENSE.txt file
  • Provide option to "Use custom license" in the interface
  • When custom license is selected, system expects user to upload their own license file
  • Custom licenses are displayed with a note indicating they are user-provided

User Interface Elements

Product Creation/Edit Form:

License: [Dropdown: Select License ▼]
         [ ] Use custom license (upload LICENSE.txt file)
         [Upload File] (enabled when custom license selected)

Product Display:

  • License badge/icon next to product title
  • "License" section in product details
  • Link to full license text
  • Clear indication of license type (standard SPDX vs custom)

Technical Requirements

  1. SPDX Integration

    • Use SPDX License List API or static data files
    • Support SPDX license identifiers for metadata
    • Include license text retrieval functionality
  2. File Management

    • Automatic LICENSE.txt file creation in data product root
    • File validation for custom license uploads
    • License file versioning and history
  3. Metadata Schema

    • Add license field to product metadata
    • Store SPDX identifier for standard licenses
    • Flag custom licenses appropriately
    • Update DynamoDB table schema to include license fields
  4. API Updates

    • Include license information in product API responses
    • Support license filtering in search/query endpoints

Benefits

For Data Providers

  • Clear legal framework for data sharing
  • Reduced legal uncertainty
  • Professional presentation of data products
  • Compliance with open data best practices

For Data Users

  • Clear understanding of usage rights
  • Reduced legal risk
  • Better decision-making about data adoption
  • Improved trust in data quality

For Source Cooperative

  • Enhanced platform credibility
  • Better data governance
  • Reduced support burden for license questions
  • Alignment with open source best practices

Technical Considerations

  • Ensure license files don't interfere with data access patterns
  • Implement proper caching for SPDX license data
  • Handle license updates and versioning appropriately
  • Plan DynamoDB migration strategy for existing products without license data
  • Consider DynamoDB query patterns for license-based filtering and search

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions