Skip to main content
Entirius
AI platform for e-commerce
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

ADR-004: Mozilla Public License for Codebase

Status

Status: Accepted
Date: 2025-06-23
Authors: Piotr Brzozowski
Reviewers: Piotr Brzozowski

Decision

Mozilla Public License 2.0 (MPL 2.0) is adopted for the Entirius codebase to provide file-level copyleft protection while enabling commercial use and proprietary extensions. This balances open-source community protection with business-friendly licensing for commercial adoption.

Quick Reference

License Requirements Checklist

  • All source files include MPL 2.0 license header
  • LICENSE file in repository root contains full MPL 2.0 text
  • Any modifications to MPL-licensed files must be released under MPL 2.0
  • Proprietary additions can use different licenses
  • Attribution preserved in all derivative works

License Header Template

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */

Key Licensing Rules

  • File-level copyleft: Modifications to MPL files must remain open-source
  • Proprietary extensions: New files can use proprietary licenses
  • Commercial use: Full commercial use and distribution permitted
  • Patent protection: License includes explicit patent grant

Context

Entirius is positioned as an open-source e-commerce AI platform that needs to balance open-source principles with commercial viability. The choice of software license directly impacts:

  • Community adoption and contributions
  • Commercial use and monetization strategies
  • Legal obligations for users and contributors
  • Integration capabilities with other software
  • Long-term sustainability of the project

Key considerations:

  • Open-source e-commerce platform targeting businesses
  • Need for community-driven development
  • Commercial services and support model planned
  • Integration with various third-party systems
  • Modular architecture requiring flexible licensing (ADR-001)
  • Balance between openness and protecting core innovations

Considered Options

Option 1: MIT License

  • Description: Permissive license allowing unrestricted use, modification, and distribution
  • Pros:
    • Maximum adoption potential due to minimal restrictions
    • Compatible with all other licenses
    • Simple and well-understood
    • Encourages commercial adoption
    • No copyleft requirements
  • Cons:
    • No protection against proprietary forks
    • Contributors’ improvements may not benefit the community
    • No guarantee of reciprocal contributions
    • Potential for large corporations to create competing closed-source versions
  • Impact on system: Maximizes adoption but reduces control over derivative works

Option 2: GNU GPL v3

  • Description: Strong copyleft license requiring derivative works to be open-source
  • Pros:
    • Ensures all derivatives remain open-source
    • Strong community protection
    • Prevents proprietary forks
    • Patent protection clauses
    • Guarantees continued openness
  • Cons:
    • Restrictive for commercial integrations
    • May discourage business adoption
    • Incompatible with many proprietary systems
    • Complex compliance requirements
    • Potential barrier to enterprise adoption
  • Impact on system: Strong protection but may limit commercial viability

Option 3: Apache License 2.0

  • Description: Permissive license with patent protection and attribution requirements
  • Pros:
    • Patent protection for users
    • Permissive like MIT but with legal protections
    • Well-suited for enterprise adoption
    • Clear contribution guidelines
    • Compatible with most licenses
  • Cons:
    • No copyleft protection
    • Allows proprietary forks
    • More complex than MIT
    • No guarantee of reciprocal contributions
  • Impact on system: Good balance but lacks copyleft benefits

Option 4: Mozilla Public License 2.0 (MPL)

  • Description: Weak copyleft license requiring modifications to licensed files to remain open-source
  • Pros:
    • File-level copyleft protects core improvements
    • Allows proprietary additions and integrations
    • Business-friendly for commercial use
    • Encourages contribution of improvements
    • Compatible with GPL and other licenses
    • Balances openness with commercial viability
  • Cons:
    • More complex than permissive licenses
    • Less familiar to some developers
    • Compliance requires careful file management
    • Weaker protection than full GPL
  • Impact on system: Optimal balance for modular architecture and commercial strategy

Rationale

Chosen option: Mozilla Public License 2.0 (MPL)

Key decision factors:

  • Balanced approach: File-level copyleft protects core improvements while allowing proprietary extensions
  • Modular compatibility: Works well with modular monolith architecture where modules can have different licensing needs
  • Commercial viability: Enables commercial services and proprietary integrations without full GPL restrictions
  • Community protection: Ensures improvements to core files benefit the entire community while encouraging business adoption
  • Risk analysis: Moderate legal complexity balanced by clear file-level copyleft rules and wide acceptance
  • Business impact: Supports both open-source community growth and commercial business models
  • Compatibility: Works with various third-party components, enterprise systems, and licensing strategies
  • ADR-001: Modular architecture supports file-level copyleft approach
  • ADR-002: API licensing considerations for integrations
  • ADR-003: Frontend licensing compatibility

References