diff options
Diffstat (limited to 'stdlib/source/program/licentia/license/grant.lux')
-rw-r--r-- | stdlib/source/program/licentia/license/grant.lux | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/stdlib/source/program/licentia/license/grant.lux b/stdlib/source/program/licentia/license/grant.lux deleted file mode 100644 index 0f45f3592..000000000 --- a/stdlib/source/program/licentia/license/grant.lux +++ /dev/null @@ -1,128 +0,0 @@ -(.module: - [lux #* - [data - ["." text - ["%" format (#+ format)]]]] - [// - [time (#+ Days)] - ["_" term] - ["." definition] - [// - ["$" document]]]) - -(def: grant-header - (format "Subject to the terms and conditions of " _.license - ", each " _.contributor - " hereby grants to " _.recipient)) - -(def: #export grant-characteristics - (List Text) - (list "perpetual" - "world-wide" - "non-exclusive" - "no-charge" - "royalty-free" - "irrevocable")) - -(def: #export copyright-grant-rights - (List Text) - (list "use" - "reproduce" - "display" - "perform" - "modify" - (format "create an " _.extension " of") - "sublicense" - "distribute")) - -(def: #export copyright - ($.sentence (format grant-header " a " ($.and ..grant-characteristics) - " copyright license to " ($.or ..copyright-grant-rights) - " " _.work - " and such an " _.extension - " in a " _.source-code-form - " or an " _.object-form))) - -(def: #export (patent retaliation?) - (-> Bit Text) - (let [grant (format grant-header " a " ($.and ..grant-characteristics) - " patent license to " ($.or definition.patent-rights) " " - _.work - ", where such license applies only to any " _.patent-claim - " that is necessarily infringed by their " ($.plural _.contribution) - " alone or by combination of their " ($.plural _.contribution) - " with " _.work) - retaliation-clause (format "If " _.recipient " institutes patent litigation against any " _.legal-entity - " (including a cross-claim or counterclaim in a lawsuit) alleging that " - _.work " or a " _.contribution - " incorporated within " _.work " constitutes direct or contributory patent infringement" - ", then any patent licenses granted to " _.recipient - " under " _.license - " for " _.work - " shall terminate as of the date such litigation is filed")] - ($.paragraph (list& grant - (if retaliation? - (list retaliation-clause) - (list)))))) - -(def: #export date - ($.sentence (format "The licenses granted in " _.license - " with respect to any " _.contribution - " become effective for each " _.contribution - " on the date the " _.contributor - " first distributes such " _.contribution))) - -(def: restoration-scope "an ongoing basis") - -(def: #export (grant-restoration-clause termination-period) - (-> Days Text) - (let [restoration-condition (format _.recipient " becomes compliant") - restored-grants (format "the rights granted under " _.license - " from a particular " _.contributor) - invalidation-condition (format "such " _.contributor - " explicitly and finally terminates the grants to " _.recipient) - complaint-period-condition (format "such " _.contributor - " fails to notify " _.recipient - " of the non-compliance by some reasonable means prior to " (%.nat termination-period) - " " ($.plural "day") " after " _.recipient - " has come back into compliance")] - (format "However, if " restoration-condition ", then " restored-grants " are reinstated provisionally" - ", unless and until " invalidation-condition - ", and on " ..restoration-scope ", if " complaint-period-condition))) - -(def: #export (grace-period-clause grace-period) - (-> Days Text) - (let [the-grants (format "grants to " _.recipient " from a particular " _.contributor) - automatic-restoration-conditions (let [notification (format "such " _.contributor - " notifies " _.recipient - " of the non-compliance by some reasonable means") - first-offense (format "this is the first time " _.recipient - " has received notice of non-compliance with " _.license - " from such " _.contributor) - prompt-compliance (format _.recipient - " becomes compliant prior to " (%.nat grace-period) - " " ($.plural "day") " after reception of the notice")] - ($.and (list notification - first-offense - prompt-compliance)))] - (format "Moreover, " the-grants - " are reinstated on " ..restoration-scope - " if " automatic-restoration-conditions))) - -(def: #export (termination termination-period grace-period) - (-> Days Days Text) - (let [on-violation-of-terms (let [what (format "The rights granted under " _.license) - when (format _.recipient " fails to comply with any of its terms")] - (format what " will terminate automatically if " when))] - ($.paragraph (list on-violation-of-terms - (..grant-restoration-clause termination-period) - (..grace-period-clause grace-period))))) - -(def: #export no-retroactive-termination - (let [situation "In the event of termination" - coverage "all end user license agreements" - exclusions "(excluding licenses to distributors and resellers)" - source (format "that have been validly granted by " _.recipient " or any distributor") - scope "hereunder prior to termination" - effect "shall survive termination"] - ($.paragraph (list (format situation ", " coverage " " exclusions " " source " " scope " " effect))))) |