aboutsummaryrefslogtreecommitdiff
path: root/licentia/source/program/licentia/license/miscellaneous.lux
blob: 18041be4996106ac971666f86f9790d13a5ad43b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
(.using
 [library
  [lux (.except)
   [data
    [text
     ["%" \\format (.only format)]]]]]
 [//
  ["_" term]
  [//
   ["$" document]]])

(def .public entire_agreement
  ($.paragraph (list (format _.license " constitutes the entire agreement between the parties with respect to the subject matter hereof"))))

(def .public relationship_of_parties
  (let [legal_associations (is (List Text)
                               (list "an agency"
                                     "a partnership"
                                     "a joint venture"
                                     "any other form of legal association"))
        forms_of_representation (is (List Text)
                                    (list "expressly"
                                          "by implication"
                                          "by appearance"
                                          "otherwise"))
        disclaimer (format _.license " will not be construed as creating " ($.or legal_associations))
        scope (format "between or among " _.recipient
                      ", " _.licensor
                      " or any " _.contributor)
        constraint (format _.recipient
                           " will not represent to the contrary, whether " ($.or forms_of_representation))]
    ($.paragraph (list (format disclaimer " " scope ", and " constraint)))))

(def .public independent_development
  (let [actions (is (List Text)
                    (list "acquire"
                          "license"
                          "develop"
                          "subcontract"
                          "market"
                          "distribute"
                          "produce"))
        scope (format "Nothing in " _.license)
        effect (format "impair the right of " _.licensor)
        target "technology or products"
        compete "perform the same or similar functions as, or otherwise compete with,"
        competition (format "any " _.extension)]
    ($.paragraph (list (format scope
                               " will " effect
                               " to " ($.or actions)
                               " " target
                               " that " compete
                               " "  competition
                               " that " _.recipient
                               " may " ($.or actions))))))

(def .public not_waiver
  (let [culprits (format _.licensor " or any " _.contributor)
        duty (format "enforce any provision of " _.license)
        effect "a waiver of future enforcement of that or any other provision"]
    ($.paragraph (list (format "Failure by " culprits
                               " to " duty
                               " will not be deemed " effect)))))

(def .public severability
  (let [on_reformation (format "If any provision of " _.license " is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable")
        on_contributor_protection (format "Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe " _.license
                                          " against a " _.contributor)]
    ($.paragraph (list on_reformation
                       on_contributor_protection))))

(def .public export_restrictions
  (let [limiter "applicable laws and regulations"
        limited (is (List Text)
                    (list "downloading"
                          "acquiring"
                          "exporting"
                          "reexporting"))
        on_circumstances (let [limitation (format _.recipient
                                                  " may be restricted with respect to " ($.or limited))
                               target (format _.licensed_work " or any underlying information or technology")]
                           (format limitation " " target " by " limiter))
        on_acceptance_of_responsibility (let [trigger (format "By " ($.or limited) " " _.licensed_work)
                                              agreement (format _.recipient
                                                                " is agreeing to be responsible for compliance with all " limiter)]
                                          (format trigger ", " agreement))]
    ($.paragraph (list on_circumstances
                       on_acceptance_of_responsibility))))

(def .public new_versions
  (let [on_publishing (let [when ", from time to time,"
                            what (format "revised versions of " _.license)]
                        (format _.licensor " may publish" when " " what))
        on_published_version_validity (let [condition (format _.licensed_work " has been published under a particular version of " _.license)
                                            effect (format _.recipient " may always continue to use it under the terms of that version")]
                                        (format "Once " condition ", " effect))
        on_license_upgrading (format _.recipient
                                     " may also choose to use " _.licensed_work
                                     " under the terms of any subsequent version of " _.license
                                     " published by " _.licensor)
        on_licensor_privilege (format "No one other than " _.licensor
                                      " has the right to modify the terms applicable to " _.licensed_work
                                      " created under " _.license)]
    ($.paragraph (list on_publishing
                       on_published_version_validity
                       on_license_upgrading
                       on_licensor_privilege))))