AOCL > Commit [591ecaf]

Christian Lee Seibold

Wed March 12, 2025 6:44 AM -0500

readme: derivative vs. dependent works overview


 readme.md | 62 +++++++++++++++++++++++++++++++++++------------------

Commit Hash: 591ecaff5a1631c8704bee8c06cdb21873a77dcd

Tree Hash: f6fc422ccb83616b3925b89dc86c1eea6552a9d4

Date: 2025-03-12T06:44:44-05:00

Browse Tree
Parent 9463454
Commits
Repo Home

Changes

readme.md

   ... | ...
    29 | ### Limitations
    30 | * Warranty
    31 | * Liability
    32 | * Trademark Use
    33 | 
+   34 | ## Compatibility with Other Licenses
+   35 | 
+   36 | ### Permissive License Compatibility
+   37 | 
+   38 | 1. MIT License - Two-way Compatibility
+   39 |    * MIT code can be included in AOCL projects
+   40 |    * AOCL code can be used in MIT projects if:
+   41 |      - Attribution requirements are met
+   42 |      - Network service provisions are followed
+   43 |      - The MIT project qualifies as a Dependent Work
+   44 | 
+   45 | 2. BSD Licenses (2-clause, 3-clause) - Two-way Compatibility
+   46 |    * Similar to MIT compatibility
+   47 |    * Must maintain BSD attribution notices
+   48 |    * Compatible with AOCL's attribution requirements
+   49 | 
+   50 | 3. Mozilla Public License 2.0 - Two-way Compatibility with file separation
+   51 |    * File-level copyleft aligns with AOCL's dependent work provisions
+   52 |    * Can be used together in the same project
+   53 |    * Each file retains its original license
+   54 | 
    34 | ## Determining Derivative vs. Dependent Works
    35 | 
   ... | ...
    31 | ## Determining Derivative vs. Dependent Works
    32 | 
+   57 | ### Overview
+   58 | 
+   59 | Using the Software as a library via package/module import, inclusion, process spawning, and static or dynamic linking, qualifies as a Dependent Work as long as there's no modifications to the Software. They are subject only to the Attribution, Trademark, Warranty, and Liability Limitations and Conditions.
+   60 | 
+   61 | Modification, or new code added to the Software such that the Software cannot compile without it (aka. Additions), qualifies as a Derivative Work. They are subject to *all* of the Conditions and Limitations of the AOCL License.
+   62 | 
+   63 | > 1.5 "Derivative Work" means any work that, given the definitions in Section 1.4:
+   64 | >    a) Contains, is based on, or is derived from the Software through Modification, Enhancement, or Addition; or
+   65 | >    b) Incorporates any part of the Software's source code with modifications; or
+   66 | >    c) Would require permission under copyright law from the Original Authors or Copyright Holders due to modification or adaptation of the Software.
+   67 | >
+   68 | > 1.6 "Dependent Work" means any work that, diven the definitions in Section 1.4:
+   69 | >    a) Uses or Interacts with the Software without modification; or
+   70 | >    b) Incorporates the the unmodified Software through compilation, linking, or other standard integration methods; or
+   71 | >    c) Relies on the Software's functionality through well-defined interfaces without modifying the Software itself.
+   72 | >
+   73 | >    Such Dependent Works are subject to Sections 4 (Attribution), 5 (Trademark Usage), and 8 (Network Usage) of this license, while retaining their independence in other aspects.
+   74 | 
+   75 | ### Decision Tree
+   76 | 
    36 | To determine whether your work is a Derivative Work or a Dependent Work, follow this decision tree:
    37 | 
    38 | 1. Does your work modify the Software's Source Code?
    39 |    - Yes: It is a Derivative Work.
    40 |    - No: Proceed to question 2.
   ... | ...
    54 | Examples of Common Integration Patterns:
    55 | - Importing a library and calling its functions: Dependent work
    56 | - Copying and modifying library code: Derivative work
    57 | - Using library through API calls: Dependent work
    58 | - Extending library classes/interfaces: Derivative work
-   59 | 
-   60 | ## Compatibility with Other Licenses
-   61 | 
-   62 | ### Permissive License Compatibility
-   63 | 
-   64 | 1. MIT License - Two-way Compatibility
-   65 |    * MIT code can be included in AOCL projects
-   66 |    * AOCL code can be used in MIT projects if:
-   67 |      - Attribution requirements are met
-   68 |      - Network service provisions are followed
-   69 |      - The MIT project qualifies as a Dependent Work
-   70 | 
-   71 | 2. BSD Licenses (2-clause, 3-clause) - Two-way Compatibility
-   72 |    * Similar to MIT compatibility
-   73 |    * Must maintain BSD attribution notices
-   74 |    * Compatible with AOCL's attribution requirements
-   75 | 
-   76 | 3. Mozilla Public License 2.0 - Two-way Compatibility with file separation
-   77 |    * File-level copyleft aligns with AOCL's dependent work provisions
-   78 |    * Can be used together in the same project
-   79 |    * Each file retains its original license