License and Legal

Relevant source files

This document provides comprehensive legal information for the AxVM hypervisor project, including licensing terms, contribution guidelines, and intellectual property considerations. This information is essential for developers, contributors, and users who need to understand the legal framework governing the use, modification, and distribution of the AxVM codebase.

For build and testing procedures, see Build and Testing. For general development information, see Development Guide.

License Overview

The AxVM hypervisor is licensed under the Apache License 2.0, a permissive open-source license that allows for both commercial and non-commercial use while providing patent protection and clear contribution terms.

License Structure and Components

flowchart TD
subgraph subGraph3["Protection Mechanisms"]
    Warranty["Warranty DisclaimerSection 7"]
    Liability["Liability LimitationSection 8"]
    Trademark["Trademark ProtectionSection 6"]
    PatentTerm["Patent TerminationSection 3"]
end
subgraph subGraph2["Key Obligations"]
    Attribution["Attribution RequirementsSection 4(c)"]
    Notice["License Notice InclusionSection 4(a)"]
    Changes["Change DocumentationSection 4(b)"]
    NoticeTxt["NOTICE File HandlingSection 4(d)"]
end
subgraph subGraph1["Key Rights Granted"]
    Copyright["Copyright LicenseSection 2"]
    Patent["Patent LicenseSection 3"]
    Redistribute["Redistribution RightsSection 4"]
    Modify["Modification RightsSection 4"]
end
subgraph subGraph0["Apache License 2.0 Framework"]
    License["LICENSE.Apache2"]
    Terms["License Terms"]
    Grants["Rights Granted"]
    Conditions["Conditions & Obligations"]
    Limitations["Limitations & Disclaimers"]
end

Conditions --> Attribution
Conditions --> Changes
Conditions --> Notice
Conditions --> NoticeTxt
Grants --> Copyright
Grants --> Modify
Grants --> Patent
Grants --> Redistribute
License --> Terms
Limitations --> Liability
Limitations --> PatentTerm
Limitations --> Trademark
Limitations --> Warranty
Terms --> Conditions
Terms --> Grants
Terms --> Limitations

Sources: LICENSE.Apache2(L1 - L202) 

License Terms and Conditions

The Apache License 2.0 provides comprehensive rights to users of the AxVM hypervisor:

Right TypeScopeSection Reference
Copyright LicensePerpetual, worldwide, non-exclusive, royalty-freeLICENSE.Apache266-71
Patent LicenseCovers patent claims necessarily infringed by contributionsLICENSE.Apache274-87
DistributionSource and Object form distribution permittedLICENSE.Apache289-128
ModificationRight to create and distribute derivative worksLICENSE.Apache240-46

Key Definitions

The license establishes several critical definitions that govern how the AxVM codebase can be used:

flowchart TD
subgraph subGraph2["Legal Relationships"]
    OwnershipChain["Copyright Ownership"]
    SubmissionFlow["Contribution Submission"]
    LicenseGrant["License Grant Flow"]
end
subgraph subGraph1["Work Classifications"]
    Source["Source Form(.rs files, configs)"]
    Object["Object Form(compiled binaries)"]
    Derivative["Derivative Works(based on AxVM)"]
    Contribution["Contribution(submitted changes)"]
end
subgraph subGraph0["Core Legal Entities"]
    Work["Work(AxVM Source Code)"]
    Contributor["Contributor(Code Authors)"]
    Licensee["You(License Recipients)"]
    Licensor["Licensor(Copyright Holders)"]
end

Contribution --> Work
Contributor --> Contribution
Contributor --> OwnershipChain
LicenseGrant --> Licensee
Licensor --> LicenseGrant
OwnershipChain --> Licensor
Work --> Derivative
Work --> Object
Work --> Source

Sources: LICENSE.Apache2(L8 - L64) 

Redistribution Requirements

When redistributing AxVM or derivative works, the following obligations must be met:

Mandatory Inclusions

  1. License Copy: Include a copy of the Apache License 2.0 with any distribution
  2. Attribution Notices: Retain all copyright, patent, trademark, and attribution notices
  3. Change Documentation: Mark any modified files with prominent notices
  4. NOTICE File: If present, include readable copy of attribution notices

Source Code Distribution

flowchart TD
subgraph subGraph0["Required Components"]
    LicenseCopy["LICENSE.Apache2Full license text"]
    CopyrightNotices["Copyright NoticesIn source headers"]
    ChangeMarkers["Change MarkersModified file notices"]
    NoticeFile["NOTICE FileAttribution notices"]
end
OrigSource["Original AxVM Source"]
ModSource["Modified Source"]
Distribution["Source Distribution"]

Distribution --> CopyrightNotices
Distribution --> LicenseCopy
Distribution --> NoticeFile
ModSource --> ChangeMarkers
ModSource --> Distribution
OrigSource --> Distribution

Sources: LICENSE.Apache2(L89 - L121) 

Contribution Guidelines

Contribution License Terms

All contributions to AxVM are subject to the Apache License 2.0 terms:

AspectRequirementLegal Basis
License AgreementContributions under Apache 2.0 termsLICENSE.Apache2130-136
Copyright AssignmentNo explicit assignment requiredImplied by license grant
Patent GrantAutomatic patent license for contributionsLICENSE.Apache274-87
Warranty DisclaimerNo warranties provided by contributorsLICENSE.Apache2143-151

Submission Process

sequenceDiagram
    participant Developer as Developer
    participant AxVMRepository as "AxVM Repository"
    participant Maintainer as Maintainer
    participant Apache20Framework as "Apache 2.0 Framework"

    Developer ->> Developer: "Create contribution"
    Developer ->> Apache20Framework: "Implicit agreement to license terms"
    Developer ->> AxVMRepository: "Submit pull request/patch"
    Note over AxVMRepository: "Contribution becomes subject to<br>Apache 2.0 Section 5"
    AxVMRepository ->> Maintainer: "Review contribution"
    Maintainer ->> AxVMRepository: "Accept/merge contribution"
    AxVMRepository ->> Apache20Framework: "Contribution incorporated under Apache 2.0"
    Note over Apache20Framework: "Patent license automatically granted<br>Copyright license automatically granted"

Sources: LICENSE.Apache2(L48 - L60)  LICENSE.Apache2(L130 - L136) 

Intellectual Property Considerations

Patent Protection

The Apache License 2.0 provides specific patent protections:

  1. Automatic Patent License: Contributors automatically grant patent licenses for their contributions
  2. Patent Termination Clause: Patent licenses terminate if litigation is filed against the project
  3. Defensive Termination: Protects against patent trolling and frivolous litigation

Trademark Restrictions

The license explicitly does not grant trademark rights:

flowchart TD
subgraph subGraph1["Permitted Uses"]
    ReasonableUse["Reasonable and Customary UseOrigin description"]
    NoticeRepro["NOTICE File Reproduction"]
end
subgraph subGraph0["Trademark Scope"]
    ProjectName["AxVM Project Name"]
    ArceOSBrand["ArceOS Branding"]
    LogosMarks["Logos and Marks"]
    ServiceMarks["Service Marks"]
end
subgraph subGraph2["Prohibited Uses"]
    CommercialBrand["Commercial Branding"]
    Endorsement["Implied Endorsement"]
    Confusion["Likelihood of Confusion"]
end
Prohibited["Prohibited"]

ArceOSBrand --> NoticeRepro
LogosMarks --> Prohibited
ProjectName --> ReasonableUse
ServiceMarks --> Prohibited

Sources: LICENSE.Apache2(L138 - L141) 

Compliance and Attribution

License Compliance Checklist

For users and distributors of AxVM:

RequirementBinary DistributionSource DistributionDerivative Works
Include License✓ Required✓ Required✓ Required
Copyright Notices✓ Required✓ Required✓ Required
NOTICE File✓ If exists✓ If exists✓ If exists
Change Documentation✗ Not required✓ Required✓ Required
Patent License✓ Automatic✓ Automatic✓ Automatic

Attribution Requirements

flowchart TD
subgraph subGraph1["Distribution Attribution"]
    LicenseFile["LICENSE.Apache2Full license text"]
    NoticeInclude["NOTICE FileThird-party attributions"]
end
subgraph subGraph0["Source Attribution"]
    SourceHeaders["Source File HeadersCopyright notices"]
    LicenseRef["License ReferencesSPDX identifiers"]
end
subgraph subGraph2["Modification Attribution"]
    ChangeLog["Change DocumentationModified file markers"]
    AuthorInfo["Author InformationContributor attribution"]
end

ChangeLog --> AuthorInfo
LicenseRef --> NoticeInclude
SourceHeaders --> LicenseFile

Sources: LICENSE.Apache2(L94 - L120) 

Disclaimer and Limitation of Liability

Warranty Disclaimer

The AxVM hypervisor is provided "AS IS" without warranties of any kind. This includes:

  • No warranty of merchantability or fitness for a particular purpose
  • No warranty of title or non-infringement
  • No express or implied warranties beyond those required by applicable law

Liability Limitations

Contributors and distributors have limited liability exposure:

Damage TypeLiabilityCoverage
Direct DamagesLimitedOnly for deliberate/grossly negligent acts
Indirect DamagesExcludedIncluding loss of goodwill, work stoppage
Special/IncidentalExcludedAny character arising from license use
Commercial LossesExcludedUnless required by applicable law

Sources: LICENSE.Apache2(L143 - L174) 

This legal framework ensures that AxVM can be freely used, modified, and distributed while providing appropriate protections for contributors and clear obligations for users.