aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/licentia/license/submission.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/program/licentia/license/submission.lux26
1 files changed, 26 insertions, 0 deletions
diff --git a/stdlib/source/program/licentia/license/submission.lux b/stdlib/source/program/licentia/license/submission.lux
new file mode 100644
index 000000000..d700c1c1c
--- /dev/null
+++ b/stdlib/source/program/licentia/license/submission.lux
@@ -0,0 +1,26 @@
+(.module:
+ [lux #*
+ [data
+ ["." text
+ format]]]
+ [//
+ ["_" term]
+ [//
+ ["$" document]]])
+
+(def: #export contribution
+ (let [on-submissions (let [exception (format "Unless " _.recipient " explicitly states otherwise")
+ general-case (format "any intentional " _.submission " of a " _.contribution
+ " for inclusion in " _.work
+ " by " _.recipient
+ " to " _.licensor
+ " shall be under the terms and conditions of " _.license)
+ guard "without any additional terms or conditions"]
+ (format exception ", " general-case ", " guard))
+ on-special-cases (let [connection "Notwithstanding the above"
+ prioritization (format "nothing herein shall supersede or modify the terms of any separate license agreement " _.recipient
+ " may have executed with " _.licensor
+ " regarding such " _.contribution)]
+ (format connection ", " prioritization))]
+ ($.paragraph (list on-submissions
+ on-special-cases))))