{"id":"APSL-2.0","title":"Apple Public Source License 2.0","reviewed_on":"2026-09-15","reviewer":"Giray Havur","text_source":"https://raw.githubusercontent.com/spdx/license-list-data/main/text/APSL-2.0.txt","text_retrieved":true,"verdict":"corrected","summary":"The Apple Public Source License is reciprocal and has an external-deployment trigger: making modified covered code usable by anyone else, including over a network, obliges the licensee to publish the source of those modifications under this same license. The record prohibited cc:ShareAlike, which reverses the license; that was removed. The external-deployment trigger cannot be modelled at all.","findings":[{"rubric":5,"severity":"major","field":"odrl:prohibition","description":"Section 2.2(c) states: \"Source Code of Your Externally Deployed Modifications must be released under the terms set forth in this License\". The record prohibited cc:ShareAlike. Removed.","action":"applied","change":"# removed\nodrl:prohibition [ a odrl:Prohibition ;\n        odrl:action cc:ShareAlike ] ;\n"},{"rubric":5,"severity":"major","field":"odrl:duty","description":"The reciprocity should appear as a license-wide cc:ShareAlike duty. Held back for the same reason as in APL-1.0: the record permits odrl:grantUse (section 3 grants the right to sublicense modifications) and the dependency graph treats share-alike and grant-use as contradictory.","action":"proposed","change":"odrl:duty [ a odrl:Duty ;\n        odrl:action cc:ShareAlike ] ;\n"},{"rubric":8,"severity":"gap","field":"vocabulary","description":"Section 1.4 defines \"Externally Deploy\" as including \"to use Covered Code ... in any way to provide a service, including but not limited to delivery of content, through electronic communication with a client other than You\". This is the same network trigger as in the Affero GPL and it decides whether a hosted service must publish its source. Proposed term: dalicc:networkUseTrigger. Section 3 (the grant back to other recipients), the patent grant of section 2 and the patent termination of section 12.1(c) are further gaps.","action":"none"},{"rubric":4,"severity":"info","field":"odrl:prohibition","description":"dalicc:addStatement is prohibited and section 2.1(b) supports it: \"You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6.\"","action":"none"},{"rubric":4,"severity":"info","field":"odrl:prohibition","description":"dalicc:promote is prohibited and section 12 supports it: the license grants no right to use the trademarks or trade names of Apple or of any Contributor.","action":"none"},{"rubric":6,"severity":"minor","field":"dalicc:WarrantyDisclaimer","description":"The stored text is the limitation of liability, not the disclaimer of warranty of section 8, and there is no dalicc:LiabilityLimitation. Same conflation as in AFL-3.0 and EPL-1.0.","action":"proposed","change":"dalicc:LiabilityLimitation \"TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE ...\" ;\n"},{"rubric":10,"severity":"major","field":"record","description":"Standard-license addition of 2026-09-15, decision 9: the record was corrected against its new siblings and versioned. The review's finding on family consistency: the record made no patent statement although section 2 grants one and 12.1(c) is a retaliation clause, it prohibited dalicc:addStatement without support, it modelled no reciprocity although 2.2(c) requires the Source Code of Externally Deployed Modifications to be 'released under the terms set forth in this License', and dalicc:WarrantyDisclaimer held section 9, the limitation of liability, while section 8, the disclaimer of warranty, was absent.","action":"applied"}],"family":"Other OSI approved licenses (corporate, academic, weak copyleft)","port_of":null,"variant_kind":null,"notes":"This record uses the composer template shared by AAL, AFL-3.0, APL-1.0, APSL-2.0, CATOSL-1.1, CECILL-2.1, EPL-1.0 and PHP-3.0: bare odrl:derive and odrl:modify permissions with the real duties hung on cc:DerivativeWorks, plus a fixed block of three prohibitions (cc:ShareAlike, dalicc:addStatement, dalicc:promote). The template fits a permissive license and misdescribes every reciprocal one."}