Skip to content

[Improvement]: Add Open Source License and Project Packaging Metadata #34

Description

@espdesign

Summary

Adopt a formal open source software license (such as MIT or Apache-2.0) and configure repository packaging metadata to clarify legal permissions, protect maintainers, and enable early adopters to safely use, fork, and self-host dgg-pm.

Background & Context

Currently, the repository does not contain a LICENSE file, pyproject.toml lacks a license specification, and README.md does not document licensing terms.

Under default copyright law (the Berne Convention and US copyright law), absence of an explicit open source license means all rights are reserved by default. While users can view and fork public code on GitHub, they have no clear legal grant to deploy, modify, or run the software within their communities or organizations.

Establishing an explicit license prior to the Alpha release is essential for:

  1. Legal clarity for early adopter Discord communities and self-hosters.
  2. Contributor expectations and licensing terms for pull requests.
  3. Packaging compliance for Python distribution tooling and downstream container images.

Proposed Scope

  1. License Selection & File Creation:
    • Determine preferred license (recommended: MIT License for permissive adoption, or Apache-2.0 / AGPL-3.0 based on organizational governance).
    • Add root LICENSE file with copyright notice for Digital Ground Game.
  2. Packaging Configuration:
    • Add SPDX license metadata to pyproject.toml (e.g., license = { text = "MIT" } or standard SPDX identifier).
  3. Documentation Alignment:
    • Add a ## License section to README.md pointing to LICENSE.
    • Update repository documentation or wiki references if applicable.

Acceptance Criteria

  • Repository root contains a standard LICENSE file.
  • pyproject.toml defines standard SPDX license metadata.
  • README.md includes a License section and badge.
  • Packaging and lint checks pass cleanly (uv run ruff check .).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestneeds-triageNeeds triage

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions