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:
- System automatically downloads the full license text from SPDX
- Creates a
LICENSE.txt file in the root directory of the data product
- Updates the data product metadata to include license information
- 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
-
SPDX Integration
- Use SPDX License List API or static data files
- Support SPDX license identifiers for metadata
- Include license text retrieval functionality
-
File Management
- Automatic
LICENSE.txt file creation in data product root
- File validation for custom license uploads
- License file versioning and history
-
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
-
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
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
Automatic License File Generation
When a user selects a license from the dropdown:
LICENSE.txtfile in the root directory of the data productCustom License Support
LICENSE.txtfileUser Interface Elements
Product Creation/Edit Form:
Product Display:
Technical Requirements
SPDX Integration
File Management
LICENSE.txtfile creation in data product rootMetadata Schema
licensefield to product metadataAPI Updates
Benefits
For Data Providers
For Data Users
For Source Cooperative
Technical Considerations