aboutsummaryrefslogtreecommitdiff
path: root/licentia/source/program/licentia/license.lux
blob: 6cc1218dfce4ca14791d6e28cb2e0449deae8a0a (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
(.using
  [library
   [lux "*"]]
  ["[0]" / "_"
   [time {"+" Days Months Period}]
   ["[1][0]" copyright]])

(type: .public Identification
  (Record
   [#name Text
    #version Text]))

(type: .public Termination
  (Record
   [#patent_retaliation? Bit
    #termination_period Days
    #grace_period Days]))

(type: .public Liability
  (Record
   [#can_accept? Bit
    #disclaim_high_risk? Bit]))

(type: .public Distribution
  (Record
   [#can_re_license? Bit
    #can_multi_license? Bit]))

(type: .public Commercial
  (Record
   [#can_sell? Bit
    #require_contributor_credit? Bit
    #allow_contributor_endorsement? Bit]))

(type: .public Extension
  (Record
   [#same_license? Bit
    #must_be_distinguishable? Bit
    #notification_period (Maybe (Period Months))
    #must_describe_modifications? Bit]))

(type: .public Entity
  Text)

(type: .public Black_List
  (Record
   [#justification (Maybe Text)
    #entities (List Entity)]))

(type: .public URL
  Text)

(type: .public Attribution
  (Record
   [#copyright_notice Text
    #phrase (Maybe Text)
    #url URL
    #image (Maybe URL)]))

(type: .public Addendum
  (Record
   [#commons_clause? Bit]))

(type: .public License
  (Record
   [#copyright_holders (List /copyright.Holder)
    #identification (Maybe Identification)
    #termination Termination
    #liability Liability
    #distribution Distribution
    #commercial Commercial
    #extension Extension
    #black_lists (List Black_List)
    #attribution (Maybe Attribution)
    #addendum Addendum]))