aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/licentia/license.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/licentia/license.lux')
-rw-r--r--stdlib/source/program/licentia/license.lux58
1 files changed, 58 insertions, 0 deletions
diff --git a/stdlib/source/program/licentia/license.lux b/stdlib/source/program/licentia/license.lux
new file mode 100644
index 000000000..c77718ce7
--- /dev/null
+++ b/stdlib/source/program/licentia/license.lux
@@ -0,0 +1,58 @@
+(.module:
+ [lux #*]
+ [/
+ ["/." copyright]
+ [time (#+ Days Months Period)]])
+
+(type: #export Identification
+ {#name Text
+ #version Text})
+
+(type: #export Termination
+ {#patent-retaliation? Bit
+ #termination-period Days
+ #grace-period Days})
+
+(type: #export Liability
+ {#can-accept? Bit
+ #disclaim-high-risk? Bit})
+
+(type: #export Distribution
+ {#can-re-license? Bit
+ #can-multi-license? Bit})
+
+(type: #export Commercial
+ {#can-sell? Bit
+ #require-contributor-credit? Bit
+ #allow-contributor-endorsement? Bit})
+
+(type: #export Extension
+ {#same-license? Bit
+ #must-be-distinguishable? Bit
+ #notification-period (Maybe (Period Months))
+ #must-describe-modifications? Bit})
+
+(type: #export Entity Text)
+
+(type: #export Black-List
+ {#justification (Maybe Text)
+ #entities (List Entity)})
+
+(type: #export URL Text)
+
+(type: #export Attribution
+ {#copyright-notice Text
+ #phrase (Maybe Text)
+ #url URL
+ #image (Maybe URL)})
+
+(type: #export License
+ {#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)})