AOCL > Commit [59b3b26]
Mon March 3, 2025 2:00 PM -0600
Major update aocl.txt | 133 ++++++++++++++++++++++++++++++++++++++---------------
Commit Hash: 59b3b26b295a9e98ab144afd109a7584b6703386
Tree Hash: 5f9387f9bc7c05a602792745dde7c3b1ec810e4a
Date: 2025-03-03T14:00:57-06:00
Changes
aocl.txt
... | ...
17 |
18 | By distinguishing between Derivative and Dependent works, the license balances copyleft with flexibility. Derivative works are subject to copyleft under the AOCL license. Dependent Works can be licensed independently from the AOCL-licensed Software being depended on. This allows AOCL-licensed Software to be used as a library for static linking, dynamic linking, FFI, or standard inclusion as a library without modification, which is common in programming languages like Rust and Golang.
19 |
20 | Unlike other open source licenses, AOCL is a fixed version without automatic version upgrading, removing confusion about which version applies to a given software, whether derivatives can or cannot utilize "later versions" of this license, and ensuring all modifications to software under this license can be upstreamed without additional restrictions placed on those modifications.
21 |
- 22 | This license represents a middle ground that is more protective than permissive licenses and more pragmatic than traditional strong copyleft licenses, allowing the software to be used in widely diverse contexts with appropriate attribution and patent protections, and maintaining a consistent set of obligations that cannot change over time without the explicit permission of the original authors or copyright holders of the software. By choosing this license, you contribute to a collaborative ecosystem that balances freedom, recognition, and practical adoption.
+ 22 | This license represents a middle ground that is more protective than permissive licenses and more pragmatic than traditional strong copyleft licenses, allowing the software to be used in widely diverse contexts with appropriate attribution and patent protections, and maintaining a consistent set of obligations that cannot change over time without the explicit permission of the Original Authors or Copyright Holders of the software. By choosing this license, you contribute to a collaborative ecosystem that balances freedom, recognition, and practical adoption.
23 |
24 | ## License Terms
25 |
26 | ### 1. Definitions
27 |
... | ...
25 |
26 | ### 1. Definitions
27 |
28 | 1.1 **"Software"** refers to the original work of authorship in any form (including both Source Code and binary forms), including any modifications, enhancements, or derivative works thereof, that is distributed under this license.
29 |
- 30 | For clarity, the term "Software" by itself refers specifically to the work licensed under this license, and does not include other programs that merely link to, interact with, or incorporate the Software through methods described as exclusions in Section 1.4, though such programs remain subject to specific provisions of this license as explicitly stated herein.
+ 30 | For clarity, the term "Software" by itself refers specifically to the work licensed under this license, and does not include other programs that use, interact with, or incorporate the Software through methods described as exclusions in Section 1.6, though such programs remain subject to specific provisions of this license as explicitly stated herein.
31 |
32 | 1.2 **"You"** refers to the individual or entity exercising the rights granted under this license.
33 |
34 | 1.3 **"Source Code"** refers to the preferred form of the Software for making modifications.
35 |
... | ...
31 |
32 | 1.2 **"You"** refers to the individual or entity exercising the rights granted under this license.
33 |
34 | 1.3 **"Source Code"** refers to the preferred form of the Software for making modifications.
35 |
- 36 | 1.4 Derived and Dependent Works:
- 37 | a) **"Derivative Work"** refers to any work that incorporates, adapts, or modifies the Software's Source Code in any of the following ways:
- 38 | - Any modification to the Software's Source Code or binary form, whether or not the modification creates new dependencies
- 39 | - Changes that create a technical dependency, where a "technical dependency" exists when:
- 40 | * The modified Software requires additional code to compile or function that was not required by the original Software
- 41 | * The Software cannot operate without this newly required code
- 42 | * The dependency requirement was introduced through modifications to the Software's Source Code
- 43 | - Incorporation of portions of the Software's Source Code with other code in a way that makes the integrated parts interdependent with the other code
- 44 | - Ports, transpilations, or translations of the Software into other programming languages or formats.
+ 36 |
+ 37 | 1.4 Definitions of Software Interaction and Modification
+ 38 |
+ 39 | a) "Modification" means any change to the Software that requires copyright permission, other than making an exact copy. This includes, but is not limited to:
+ 40 | - Altering existing code or documentation
+ 41 | - Adding new functionality to existing code
+ 42 | - Removing or changing features
+ 43 | - Translating the Software to a different programming language
+ 44 |
+ 45 | b) "Enhancement" means a Modification that adds new functionality while preserving existing functionality. This includes:
+ 46 | - Adding new features
+ 47 | - Improving performance
+ 48 | - Extending compatibility
+ 49 | - Adding new interfaces
+ 50 |
+ 51 | c) "Addition" means:
+ 52 | - New code that becomes technically required for the Software to compile or function, where such requirement did not exist in the original Software; or
+ 53 | - Integration of the Software's code with other code in a way that creates mutual dependencies between them.
+ 54 |
+ 55 | An Addition creates a technical dependency when the Software is modified to require the new code for its basic operation or compilation.
+ 56 |
+ 57 | d) "Uses" means:
+ 58 | - Executing the compiled Software
+ 59 | - Calling the Software's compiled interfaces, including using FFI
+ 60 | - Loading the Software as a runtime dependency
+ 61 | - Accessing the Software's binary services
+ 62 |
+ 63 | without modifying the Software itself.
+ 64 |
+ 65 | e) "Incorporates" means:
+ 66 | - Including the Software's source code in a build process
+ 67 | - Linking against the Software's code (statically or dynamically)
+ 68 | - Embedding the Software's code into another work
+ 69 | - Bundling the Software's code with another work
+ 70 |
+ 71 | without modifying the original code.
+ 72 |
+ 73 | f) "Interacts with" means any of the following interactions with the Software, without modifying it:
+ 74 | 1. API Usage:
+ 75 | - Calling exposed APIs, functions, or interfaces
+ 76 | - Using published protocols or service endpoints
+ 77 |
+ 78 | 2. Process and System:
+ 79 | - Inter-process communication (IPC)
+ 80 | - Operating system process management
+ 81 | - System signals and environment interaction
+ 82 |
+ 83 | 3. Data Communication:
+ 84 | - Network protocols and sockets
+ 85 | - File operations and streams
+ 86 | - Shared memory and message queues
+ 87 | - Standard input/output
+ 88 |
+ 89 | Each form of interaction must use documented interfaces or standard system mechanisms.
+ 90 |
+ 91 | 1.5 "Derivative Work" means any work that, given the definitions in Section 1.4:
+ 92 | a) Contains, is based on, or is derived from the Software through Modification, Enhancement, or Addition; or
+ 93 | b) Incorporates any part of the Software's source code with modifications; or
+ 94 | c) Would require permission under copyright law from the Original Authors or Copyright Holders due to modification or adaptation of the Software.
+ 95 |
+ 96 | 1.6 "Dependent Work" means any work that, diven the definitions in Section 1.4:
+ 97 | a) Uses or Interacts with the Software without modification; or
+ 98 | b) Incorporates the the unmodified Software through compilation, linking, or other standard integration methods; or
+ 99 | c) Relies on the Software's functionality through well-defined interfaces without modifying the Software itself.
+ 100 |
+ 101 | 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.
+ 102 |
+ 103 | 1.7 The following are neither Derivative nor Dependent Works:
45 |
... | ...
41 |
- 46 | b) **"Dependent Work"**, for the purposes of this license, refers to any software that uses or interacts with the Software without qualifying as a Derivative Work, including but not limited to:
- 47 | - User interfaces that display output from or provide input to the Software without reproducing the Software's Source Code.
- 48 | - Independent programs that communicate with the Software solely through:
- 49 | * Standard protocols and inter-process communication
- 50 | * Operating system interfaces, including launching, invoking, or executing the Software as a separate process
- 51 | * Foreign Function Interfaces (FFI)
- 52 | * Static or dynamic linking
- 53 | - Independent works that use the Software as a dependency without modification, even if the full Source Code is integrated into the Work's binary.
- 54 | - Works that use the Software as a tool without incorporating its Source Code
- 55 | - Container images that include unmodified copies of the Software
+ 105 | a) Works that are separate and independent from the Software, where "independent" means capable of functioning without any reference to or reliance on the Software, including:
+ 106 | - Works merely distributed alongside the Software
+ 107 | - Works aggregated with the Software on storage or distribution media
+ 108 | - Works that happen to be distributed with the Software
56 |
... | ...
52 |
- 57 | 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.
+ 110 | b) The following mechanical transformations of the unmodified Software:
+ 111 | - The output of compiling the Software's Source Code
+ 112 | - The result of interpreting the Software's Source Code
58 |
... | ...
54 |
- 59 | 1.5 **"Prominent Notice"** refers to a notification that would be discoverable by an ordinary user during normal use of the software, including but not limited to placement in:
+ 114 | c) General-purpose operating systems and runtime environments that execute the Software's binary or bytecode form without modification or enhancement specifically for the Software.
+ 115 |
+ 116 | 1.8 **"Prominent Notice"** refers to a notification that would be discoverable by an ordinary user during normal use of the software, including but not limited to placement in:
60 | a) "About" screens, help menus, or settings pages in graphical applications
61 | b) Startup messages, help output, or standard documentation in command-line applications
62 | c) API documentation, README files, or developer guides for libraries
63 | d) Footers, "About" pages, or terms of service for web applications
64 | e) Installation processes, documentation, or license files for all software
... | ...
61 | b) Startup messages, help output, or standard documentation in command-line applications
62 | c) API documentation, README files, or developer guides for libraries
63 | d) Footers, "About" pages, or terms of service for web applications
64 | e) Installation processes, documentation, or license files for all software
65 |
- 66 | 1.6 **"Original Authors or Copyright Holders"** refers to the individuals or entities who own the copyright to the Software, including the initial creators and any subsequent owners who have legally acquired the copyright through assignment, transfer, inheritance, or other legal means.
+ 123 | 1.9 **"Original Authors, Copyright Holders, and Contributors"** refers to:
+ 124 | a) "Original Authors or Copyright Holders": The individuals or entities who own the copyright to the Software, including the initial creators and any subsequent owners who have legally acquired the copyright through assignment, transfer, inheritance, or other legal means.
+ 125 | b) "Contributors": Any individual or entity that has submitted a Contribution that has been Released (as defined in Section 1.11). Contributors retain copyright to their Contributions while granting licenses as specified in Section 3.2, unless explicitly transferred to the Original Authors or Copyright Holders through written agreement.
+ 126 |
+ 127 | The terms "Original Authors" and "Copyright Holders" may be used interchangeably when referring to rights and obligations under this license, while "Contributors" specifically refers to those who have made Released Contributions as defined in Section 1.11.
67 |
... | ...
63 |
- 68 | 1.7 "Sublicense" refers to the act of granting to others the rights you received under this license, but under different or additional terms than those contained in this license.
+ 129 | 1.10 **"Sublicense"** refers to the act of granting to others the rights you received under this license, but under different or additional terms than those contained in this license.
69 |
... | ...
65 |
- 70 | 1.8 **"Contribution"** means any modification, enhancement, or addition to the Software that is intentionally submitted to the Original Authors or Copyright Holders for inclusion in the Software. A Contribution is "submitted" when provided through any form of electronic, verbal, or written communication, excluding communications explicitly marked as "Not a Contribution."
+ 131 | 1.11 **"Contribution"** means any modification, enhancement, or addition to the Software that is intentionally submitted to the Original Authors or Copyright Holders for inclusion in the Software. A Contribution is "submitted" when provided through any form of electronic, verbal, or written communication, excluding communications explicitly marked as "Not a Contribution."
71 |
72 | For purposes of revocation rights, a Contribution is considered "Released" when it has been publicly distributed as part of the Software, whether in Source Code or binary form, through any channel including but not limited to official releases, public repositories, or distribution platforms.
73 |
... | ...
69 |
70 | For purposes of revocation rights, a Contribution is considered "Released" when it has been publicly distributed as part of the Software, whether in Source Code or binary form, through any channel including but not limited to official releases, public repositories, or distribution platforms.
71 |
- 74 | 1.9 **"Trademarks"** refers to any names, marks, logos, icons, designs, or other designation used by the Original Authors or Copyright Holders to identify themselves, their projects, or the Software.
+ 135 | 1.12 **"Trademarks"** refers to any names, marks, logos, icons, designs, or other designation used by the Original Authors or Copyright Holders to identify themselves, their projects, or the Software.
75 |
76 | ### 2. Grant of Rights
77 |
78 | 2.1 You are granted the right to use, copy, modify, and distribute the Software, but not sublicense it or impose additional restrictions, provided that:
79 |
... | ...
79 |
80 | a) For Derivative Works and direct copies of the Software:
81 | - A complete copy of this license must be included.
82 | - A prominent notice stating that the Software is licensed under the AuraGem Opensource Copyleft License must be included.
83 |
- 84 | b) For Dependent Works that use the Software, as per the exclusions in Section 1.4(b):
+ 145 | b) For Dependent Works that use the Software, as per the exclusions in Section 1.6:
85 | - A copy of Sections 4, 5, and 8 of this license, or a reference to this license in full, must be included.
86 | - A prominent notice stating that the software incorporates elements covered by the AuraGem Opensource Copyleft License must be included.
87 | - A reference to where the Software's Source Code can be obtained must be included.
88 | - Any use of Trademarks must comply with Section 5 of this license.
89 |
... | ...
85 | - A copy of Sections 4, 5, and 8 of this license, or a reference to this license in full, must be included.
86 | - A prominent notice stating that the software incorporates elements covered by the AuraGem Opensource Copyleft License must be included.
87 | - A reference to where the Software's Source Code can be obtained must be included.
88 | - Any use of Trademarks must comply with Section 5 of this license.
89 |
- 90 | c) Any distribution you make must be made directly under the terms of this license without sublicensing. Each recipient receives their rights directly from the Original Authors or Copyright Holders, not from you as an intermediary.
+ 151 | c) Any distribution you make must be made directly under the terms of this license without sublicensing. Each recipient receives their rights directly from the Original Authors or Copyright Holders, not from you as an intermediary. Contributors' rights are handled through their Contribution agreements as specified in Section 3.2.
91 |
92 | ### 3. Copyleft
93 |
94 | 3.1 Any Derivative Works of the Software must be licensed under the same terms as this license. Dependent Works are not subject to these copyleft restrictions, but the original Software Source Code must still remain under AOCL copyleft. You may not impose any additional restrictions on the rights granted by this license, nor may you sublicense the Software or any Derivative Works.
95 |
... | ...
95 |
96 | 3.2 Any Contributions intentionally submitted for inclusion in the Software shall be subject to the same terms and conditions as this license, without any additional terms or conditions.
97 |
98 | 3.3 By submitting a Contribution, you confirm that you have the legal right to do so and agree that your Contribution is automatically licensed under this license. The patent licenses granted in Section 7.1 apply to your Contribution when used alone or in combination with the Software.
99 |
- 100 | 3.4 Right to Revoke Unreleased Contributions: You may revoke your Contribution at any time before it is Released (as defined in Section 1.8) by providing clear notice to the Original Authors or Copyright Holders through the same channel used for the original submission or through direct communication. Upon such revocation, the license grants in this license with respect to that specific unreleased Contribution are terminated. Once a Contribution has been Released as part of the Software, the license grants become irrevocable.
+ 161 | 3.4 Right to Revoke Unreleased Contributions: You may revoke your Contribution at any time before it is Released (as defined in Section 1.11) by providing clear notice to the Original Authors or Copyright Holders through the same channel used for the original submission or through direct communication. Upon such revocation, the license grants in this license with respect to that specific unreleased Contribution are terminated. Once a Contribution has been Released as part of the Software, the license grants become irrevocable.
101 |
102 | ### 4. Attribution Notices
103 |
... | ...
99 |
100 | ### 4. Attribution Notices
101 |
- 104 | 4.1 You must preserve all attribution notices and copyright statements included in the Software. These notices must be retained in all copies of the Software, any Derivative Works, and any Dependent Works that use the Software as described in Section 1.4(b).
+ 165 | 4.1 You must preserve all attribution notices and copyright statements included in the Software. These notices must be retained in all copies of the Software, any Derivative Works, and any Dependent Works, as defined in Sections 1.4, 1.5, and 1.6.
105 |
106 | 4.2 If you modify the Software, you must include a prominent notice stating that you have changed the Software and the date of such changes.
107 |
108 | 4.3 Use of names, trademarks, service marks, or product names of the Original Authors or Copyright Holders is governed by Section 5 (Trademark Usage), with limited permissions for attribution purposes as specified in Section 5.2.
109 |
... | ...
106 | 4.2 If you modify the Software, you must include a prominent notice stating that you have changed the Software and the date of such changes.
107 |
108 | 4.3 Use of names, trademarks, service marks, or product names of the Original Authors or Copyright Holders is governed by Section 5 (Trademark Usage), with limited permissions for attribution purposes as specified in Section 5.2.
109 |
110 | 4.4 Scope of Attribution Requirements:
- 111 | a) The attribution requirements in this section (Section 4) apply to all software that uses the Software or its Source Code in any way, even if that software is not considered a Derivative Work under Section 1.4.
+ 172 | a) The attribution requirements in this section (Section 4) apply to all software that uses the Software or its Source Code in any way, even if that software is not considered a Derivative Work under Section 1.5.
112 | b) This means that even software that merely links to the Software, provides a user interface for the Software, or communicates with the Software through APIs must comply with all attribution requirements in Section 4.
... | ...
108 | b) This means that even software that merely links to the Software, provides a user interface for the Software, or communicates with the Software through APIs must comply with all attribution requirements in Section 4.
- 113 | c) These attribution requirements are independent of the obligation to share source code, which applies only to Derivative Works as defined in Section 1.4.
+ 174 | c) These attribution requirements are independent of the obligation to share source code, which applies only to Derivative Works as defined in Section 1.5.
114 |
115 | ### 5. Trademark Usage
116 |
117 | 5.1 This license does not grant you any right to use any Trademarks in the following ways:
118 | a) To identify any software other than the unmodified Software;
... | ...
172 | - Complete and corresponding to the version used in your application or service
173 | - Available for as long as you continue to distribute the application or provide the service
174 |
175 | c) You are not required to host the Source Code yourself if it's available through a package manager or online service
176 |
- 177 | 8.3 These requirements apply even if your application or service would otherwise qualify as a Dependent Work under Section 1.4.
+ 238 | 8.3 These requirements apply even if your application or service would otherwise qualify as a Dependent Work under Section 1.6.
178 |
... | ...
174 |
- 179 | 8.4 You are not required to make available the Source Code of your larger application if it qualifies as a Dependent Work under Section 1.4.
+ 240 | 8.4 You are not required to make available the Source Code of your larger application if it qualifies as a Dependent Work under Section 1.6.
180 |
181 | 8.5 The Source Code made available under Section 8.1 must be provided under the same terms as this license.
182 |
183 | ### 9. Enforcement Mechanism and Remedies for Non-Compliance
184 |
... | ...
228 | - The network usage restrictions in Section 8
229 | b) For users creating Derivative Works: All provisions of this license without exception.
230 |
231 | 11.2 Your continued use of the Software in any capacity constitutes ongoing acceptance of these terms. If you do not agree to these terms, you may not use, copy, modify, distribute, or interact with the Software in any way.
232 |
- 233 | 11.3 By submitting a Contribution as defined in Section 1.8, you accept and agree to be bound by all terms of this license for your Contribution, subject to your right to revoke unreleased Contributions as specified in Section 3.4. Once your Contribution has been Released as part of the Software, this acceptance is irrevocable and applies to all future recipients of your Contribution, whether received directly from you or through intermediaries.
+ 294 | 11.3 By submitting a Contribution as defined in Section 1.11, you accept and agree to be bound by all terms of this license for your Contribution, subject to your right to revoke unreleased Contributions as specified in Section 3.4. Once your Contribution has been Released as part of the Software, this acceptance is irrevocable and applies to all future recipients of your Contribution, whether received directly from you or through intermediaries.
234 |
235 | ### 12. Severability
236 |
237 | 12.1 If any provision of this license is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary so that the remaining provisions of this license shall remain in full force and effect.
238 |