AOCL > Commit [591ecaf]
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
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