From 86bcfadb774618defaa27bbb9361a93d288fb985 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 12 Jul 2021 22:51:25 -0400 Subject: A bit more clarity for Licentia licenses. --- licentia/source/program/licentia.lux | 9 ++-- .../source/program/licentia/license/commercial.lux | 4 +- .../source/program/licentia/license/definition.lux | 42 +++++++-------- .../program/licentia/license/distribution.lux | 18 +++---- .../source/program/licentia/license/extension.lux | 16 +++--- licentia/source/program/licentia/license/grant.lux | 12 ++--- .../source/program/licentia/license/liability.lux | 18 +++---- .../source/program/licentia/license/limitation.lux | 10 ++-- .../program/licentia/license/miscellaneous.lux | 10 ++-- .../source/program/licentia/license/submission.lux | 2 +- licentia/source/program/licentia/license/term.lux | 2 +- licentia/source/test/licentia.lux | 61 +++++++++++----------- 12 files changed, 103 insertions(+), 101 deletions(-) (limited to 'licentia/source') diff --git a/licentia/source/program/licentia.lux b/licentia/source/program/licentia.lux index 44babb828..a3b30a5c2 100644 --- a/licentia/source/program/licentia.lux +++ b/licentia/source/program/licentia.lux @@ -42,7 +42,6 @@ ["#." output]]) (with_expansions [ "2022-04-01"] - (to_do "Replace _.work with _.covered_work or _.licensed_work") (to_do "Create a short notice to add as a comment to each file in the _.work")) (import: java/lang/String @@ -57,9 +56,11 @@ (format "Your license has been made!" text.new_line "Check the file " output ".")) -(program: [{input (.named "--input" .any)} - {output (parser.default ..default_output_file - (.named "--output" .any))}] +(program: [{input (<| (.named "--input") + .any)} + {output (<| (parser.default ..default_output_file) + (.named "--output") + .any)}] (do io.monad [?done (: (IO (Try Any)) (do (try.with io.monad) diff --git a/licentia/source/program/licentia/license/commercial.lux b/licentia/source/program/licentia/license/commercial.lux index a17acdbb3..3c223b05d 100644 --- a/licentia/source/program/licentia/license/commercial.lux +++ b/licentia/source/program/licentia/license/commercial.lux @@ -12,14 +12,14 @@ (let [preamble (format "Without limiting other conditions in " _.license) direct_condition (format "the grant of rights under " _.license " will not include, and does not grant to " _.recipient - ", the right to " _.sell " " _.work) + ", the right to " _.sell " " _.licensed_work) derivative_condition (format "or any " _.derivative_work)] ($.sentence (format preamble ", " direct_condition ", " derivative_condition)))) (def: #export require_contributor_attribution - ($.sentence (format "All advertising materials mentioning features or use of " _.work + ($.sentence (format "All advertising materials mentioning features or use of " _.licensed_work " must include an acknowledgement of the authorship of every " _.contributor))) (def: #export disallow_contributor_endorsement diff --git a/licentia/source/program/licentia/license/definition.lux b/licentia/source/program/licentia/license/definition.lux index e93230b33..f44a06fdc 100644 --- a/licentia/source/program/licentia/license/definition.lux +++ b/licentia/source/program/licentia/license/definition.lux @@ -74,7 +74,7 @@ [object_form "Object Form" ($.paragraph (list (format "any form produced by transforming a " (get@ #term source_code_form) ", including but not limited to compiled code and transpiled code")))] - [work "The Work" + [licensed_work "The Licensed Work" ($.paragraph (list (format "the " ..covered_work_description ", whether in a " (get@ #term source_code_form) " or in an " (get@ #term object_form) @@ -84,7 +84,7 @@ [derivative_work "Derivative Work" ($.paragraph (list (format "any work, whether in a " (get@ #term source_code_form) " or in an " (get@ #term object_form) - ", that is based on (or derived from) " (get@ #term work) + ", that is based on (or derived from) " (get@ #term licensed_work) " and which represents an original " ..covered_work_description)))] [submission "Submission" @@ -93,16 +93,16 @@ "verbal" "written"))] ($.paragraph (list (format "any form of " ($.or forms_of_communication) " communication sent to " (get@ #term licensor) - ", or its representatives, for the purpose of discussing and improving " (get@ #term work) + ", or its representatives, for the purpose of discussing and improving " (get@ #term licensed_work) ", but excluding communication that is designated in writing by the copyright owner as " not_a_contribution_notice))))] [modification "Modification" (let [alteration "any addition to, or deletion from, the substance or structure of" object "file or other storage" targets (: (List Text) - (list (format "a " object " contained in " (get@ #term work)) - (format "any new " object " that contains any part of " (get@ #term work)) - (format "any " object " which replaces or otherwise alters the original functionality of "(get@ #term work) " at runtime")))] + (list (format "a " object " contained in " (get@ #term licensed_work)) + (format "any new " object " that contains any part of " (get@ #term licensed_work)) + (format "any " object " which replaces or otherwise alters the original functionality of "(get@ #term licensed_work) " at runtime")))] ($.paragraph (list (format alteration " " ($.or targets)))))] [required_component "Required Component" @@ -127,11 +127,11 @@ ($.paragraph (list (format "any " ($.or possibilities)))))] [contribution "Contribution" - ($.paragraph (list (format "any " covered_work_description ", including the original version of " (get@ #term work) - " and any " (get@ #term extension) " to " (get@ #term work) + ($.paragraph (list (format "any " covered_work_description ", including the original version of " (get@ #term licensed_work) + " and any " (get@ #term extension) " to " (get@ #term licensed_work) ", that is intentionally communicated as a " (get@ #term submission) " to " (get@ #term licensor) - " for inclusion in " (get@ #term work) " by the copyright owner" + " for inclusion in " (get@ #term licensed_work) " by the copyright owner" ", or by a " (get@ #term legal_entity) " authorized to submit on behalf of the copyright owner")))] [contributor "Contributor" @@ -139,7 +139,7 @@ " or any " (get@ #term legal_entity) " on behalf of whom a " (get@ #term contribution) " has been received by " (get@ #term licensor) - ", and subsequently incorporated within " (get@ #term work))))] + ", and subsequently incorporated within " (get@ #term licensed_work))))] [patent_claim (format "Patent Claim Of A " (get@ #term contributor)) (let [claim_types (: (List Text) @@ -159,25 +159,25 @@ " under " (get@ #term license) " to provide to third parties, for a fee or other consideration " "(including without limitation fees for " ($.or commercial_services) - " related to "(get@ #term work) ")" - ", a product or service whose value derives, entirely or substantially, from the functionality of " (get@ #term work))))] + " related to "(get@ #term licensed_work) ")" + ", a product or service whose value derives, entirely or substantially, from the functionality of " (get@ #term licensed_work))))] [personal_use "Personal Use" (let [valid_purposes (: (List Text) (list "personal" "private" "non-commercial"))] - ($.paragraph (list (format "use of " (get@ #term work) " by an individual solely for his or her " ($.and valid_purposes) " purposes") - (format "An individual's use of " (get@ #term work) " in his or her capacity as an " ($.or individual_capacities) " does not qualify"))))] + ($.paragraph (list (format "use of " (get@ #term licensed_work) " by an individual solely for his or her " ($.and valid_purposes) " purposes") + (format "An individual's use of " (get@ #term licensed_work) " in his or her capacity as an " ($.or individual_capacities) " does not qualify"))))] [serve "Serve" - ($.paragraph (list (format "to deliver " (get@ #term work) + ($.paragraph (list (format "to deliver " (get@ #term licensed_work) " and/or any " (get@ #term extension) - " by means of a computer network to one or more computers for purposes of execution of " (get@ #term work) + " by means of a computer network to one or more computers for purposes of execution of " (get@ #term licensed_work) ", and/or the " (get@ #term extension))))] [research "Research" - ($.paragraph (list (format "investigation or experimentation for the purpose of understanding the nature and limits of " (get@ #term work) " and its potential uses")))] + ($.paragraph (list (format "investigation or experimentation for the purpose of understanding the nature and limits of " (get@ #term licensed_work) " and its potential uses")))] [deploy "Deploy" (let [deployment_types (: (List Text) @@ -193,11 +193,11 @@ (sub_licensing "indirect") "distribution")) basic_definition (format "to " ($.or deployment_types) - " " (get@ #term work) + " " (get@ #term licensed_work) " other than for internal " (get@ #term research) " and/or " (get@ #term personal_use) " by " (get@ #term recipient)) - examples (format "any and all internal use or distribution of " (get@ #term work) + examples (format "any and all internal use or distribution of " (get@ #term licensed_work) " within a business or organization in which " (get@ #term recipient) " participates") exceptions (format "for " (get@ #term research) " and/or " (get@ #term personal_use))] @@ -205,7 +205,7 @@ ", and includes without limitation, " examples ", other than " exceptions ", as well as " ($.or third_party_interactions) - " of " (get@ #term work) + " of " (get@ #term licensed_work) " by " (get@ #term recipient) " to any third party in any form or manner"))))] @@ -222,7 +222,7 @@ licensor source_code_form object_form - work + licensed_work derivative_work submission modification diff --git a/licentia/source/program/licentia/license/distribution.lux b/licentia/source/program/licentia/license/distribution.lux index 8ec4e9bae..7c736be7a 100644 --- a/licentia/source/program/licentia/license/distribution.lux +++ b/licentia/source/program/licentia/license/distribution.lux @@ -24,7 +24,7 @@ (notices "other")))) (def: #export source_code_form - (let [on_license_propagation (let [coverage (format "All distribution of " _.work " in " _.source_code_form) + (let [on_license_propagation (let [coverage (format "All distribution of " _.licensed_work " in " _.source_code_form) with_contributions (format "including any " ($.plural _.contribution) " that " _.recipient " creates") @@ -32,7 +32,7 @@ (format coverage ", " with_contributions ", " same_license)) on_license_access (let [responsibility_to_inform (format _.recipient " must inform recipients that the " _.source_code_form - " of " _.work + " of " _.licensed_work " is governed by the terms of " _.license) license_copy (format "and how they can obtain a copy of " _.license)] (format responsibility_to_inform ", " license_copy)) @@ -44,7 +44,7 @@ " of any " _.extension " that " _.recipient " distributes") - what (format "all " ($.and notices) " from the " _.source_code_form " of " _.work) + what (format "all " ($.and notices) " from the " _.source_code_form " of " _.licensed_work) exclusion ($.or (list (format "those notices that do not pertain to any part of the " _.extension) "those notices that contain known factual inaccuracies"))] (format obligation ", " location ", " what ", excluding " exclusion)) @@ -63,9 +63,9 @@ (def: #export object_form (let [on_responsibility (let [condition (format "If " _.recipient - " distributes " _.work + " distributes " _.licensed_work " in " _.object_form) - responsibility (let [availability_responsibility (format _.work " must also be made available in " _.source_code_form) + responsibility (let [availability_responsibility (format _.licensed_work " must also be made available in " _.source_code_form) source_code_responsibility (format _.recipient " must inform recipients of the " _.object_form " how they can obtain a copy of such " _.source_code_form) @@ -85,17 +85,17 @@ " chooses") requirement (format _.recipient " also comply with the requirements of " _.license - " for the " _.work)] + " for the " _.licensed_work)] (format can_license ", " "provided that " requirement))) (def: #export allow_multi_licensing - (let [condition (format "the " _.extension " is a combination of " _.work " with a work governed by one or more " ($.plural _.secondary_license)) + (let [condition (format "the " _.extension " is a combination of " _.licensed_work " with a work governed by one or more " ($.plural _.secondary_license)) permission (let [relicensing (format _.license " permits " _.recipient - " to additionally distribute " _.work + " to additionally distribute " _.licensed_work " under the terms of such " ($.plural _.secondary_license)) distribution (format "so that the recipient of the " _.extension - " may, at their option, further distribute " _.work + " may, at their option, further distribute " _.licensed_work " under the terms of either " _.license " or such " ($.plural _.secondary_license))] (format relicensing ", " distribution))] diff --git a/licentia/source/program/licentia/license/extension.lux b/licentia/source/program/licentia/license/extension.lux index c6b368d33..0ed6ca040 100644 --- a/licentia/source/program/licentia/license/extension.lux +++ b/licentia/source/program/licentia/license/extension.lux @@ -31,7 +31,7 @@ " and all third parties a " ($.and grant.grant_characteristics) " license under those intellectual property rights " _.recipient " owns or controls to " ($.or grant.copyright_grant_rights) - " " _.work + " " _.licensed_work " in any form") on_license_propagation (format _.recipient " must include a copy of " _.license @@ -40,7 +40,7 @@ on_license_protection (format _.recipient " agrees not to offer or impose any terms on any " _.source_code_form " or " _.object_form - " of the " _.work + " of the " _.licensed_work ", or its " _.extension " that alter or restrict the applicable version of " _.license " or the recipients' rights hereunder")] @@ -118,7 +118,7 @@ " month(s) of the date of change") on_accesibility (format _.recipient " must provide notification by posting to appropriate " ($.or news_sources) - " where a publicly accessible search engine would reasonably be expected to index a post in relationship to queries regarding " _.work + " where a publicly accessible search engine would reasonably be expected to index a post in relationship to queries regarding " _.licensed_work " and/or an " _.extension " created by " _.recipient)] ($.paragraph (list on_availability @@ -144,21 +144,21 @@ (format basic ", " details)) on_notice_location (let [statement_locations (: (List Text) (list (format "in the " _.source_code_form) - (format "in any notice displayed by " _.work + (format "in any notice displayed by " _.licensed_work " " _.recipient " distributes") (format "in related documentation in which " _.recipient - " describes the origin or ownership of " _.work)))] + " describes the origin or ownership of " _.licensed_work)))] (format _.recipient " must include a prominent statement that the " _.modification - " is derived, directly or indirectly, from " _.work + " is derived, directly or indirectly, from " _.licensed_work " and include the names of " _.licensor " and any " _.contributor - " to " _.work + " to " _.licensed_work " " ($.and statement_locations))) on_notice_preservation (format _.recipient " may not modify or delete any pre-existing copyright notices, change notices or the text of " _.license - " in " _.work + " in " _.licensed_work " without written permission of " _.licensor " or the respective " _.contributor)] ($.paragraph (list on_duty diff --git a/licentia/source/program/licentia/license/grant.lux b/licentia/source/program/licentia/license/grant.lux index c79fcee09..ea7ac399f 100644 --- a/licentia/source/program/licentia/license/grant.lux +++ b/licentia/source/program/licentia/license/grant.lux @@ -38,7 +38,7 @@ (def: #export copyright ($.sentence (format grant_header " a " ($.and ..grant_characteristics) " copyright license to " ($.or ..copyright_grant_rights) - " " _.work + " " _.licensed_work " and such an " _.extension " in a " _.source_code_form " or an " _.object_form))) @@ -47,18 +47,18 @@ (-> Bit Text) (let [grant (format grant_header " a " ($.and ..grant_characteristics) " patent license to " ($.or definition.patent_rights) " " - _.work + _.licensed_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) + " with " _.licensed_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" + _.licensed_work " or a " _.contribution + " incorporated within " _.licensed_work " constitutes direct or contributory patent infringement" ", then any patent licenses granted to " _.recipient " under " _.license - " for " _.work + " for " _.licensed_work " shall terminate as of the date such litigation is filed")] ($.paragraph (list& grant (if retaliation? diff --git a/licentia/source/program/licentia/license/liability.lux b/licentia/source/program/licentia/license/liability.lux index 1ad88c43d..b4c410444 100644 --- a/licentia/source/program/licentia/license/liability.lux +++ b/licentia/source/program/licentia/license/liability.lux @@ -30,7 +30,7 @@ (def: #export warranty (let [on_basics (let [applicability_escape "Unless required by applicable law or agreed to in writing" work_provisioning (format _.licensor - " provides " _.work + " provides " _.licensed_work ", and each " _.contributor " provides its " ($.plural _.contribution))] (format applicability_escape ", " @@ -38,18 +38,18 @@ " under " _.license " on an " ($.quote "as is") " basis, without warranty or condition of any kind, either " ($.or warranty_communications) - " including, without limitation, any warranties or conditions that " _.work + " including, without limitation, any warranties or conditions that " _.licensed_work " is " ($.or work_disclamers))) on_distribution (format _.recipient - " is solely responsible for determining the appropriateness of using or redistributing " _.work) - on_risk (format "The entire risk as to the quality and performance of " _.work + " is solely responsible for determining the appropriateness of using or redistributing " _.licensed_work) + on_risk (format "The entire risk as to the quality and performance of " _.licensed_work " is with " _.recipient) - on_fixes (format "Should " _.work + on_fixes (format "Should " _.licensed_work " prove defective in any respect, " _.recipient ", not any " _.contributor ", assumes the cost of any necessary " ($.or fixes)) on_importance (format "This disclaimer of warranty constitutes an essential part of "_.license) - on_authorization (format "No use of "_.work + on_authorization (format "No use of "_.licensed_work " is authorized under " _.license " except under this disclaimer")] ($.paragraph (list on_basics @@ -108,7 +108,7 @@ (format "rights consistent with " _.license))) (def: #export can_accept - (let [on_acceptance_of_liability (let [condition (format "While redistributing " _.work " or " ($.plural _.extension) " thereof") + (let [on_acceptance_of_liability (let [condition (format "While redistributing " _.licensed_work " or " ($.plural _.extension) " thereof") right (format _.recipient " may choose to offer, and charge a fee for, acceptance of " ($.and/or ..liability_obligations))] (format condition ", " right)) on_responsibility (let [but "However, in accepting such obligations" @@ -146,11 +146,11 @@ "personal injury" "severe physical damage" "environmental damage")) - disclaim (format _.work " is not fault tolerant" + disclaim (format _.licensed_work " is not fault tolerant" ", and is not " ($.or intentions) " as on-line control equipment in hazardous environments requiring fail-safe performance") examples (format "such as in the operation of " ($.or hazardous_environments)) - further (format "in which the failure of " _.work " could lead directly to " ($.or consequences))] + further (format "in which the failure of " _.licensed_work " could lead directly to " ($.or consequences))] (format disclaim ", " examples ", " further)) on_contributors (let [claim "any express or implied warranty of fitness for high risk activities"] (format _.licensor diff --git a/licentia/source/program/licentia/license/limitation.lux b/licentia/source/program/licentia/license/limitation.lux index 046e60a55..77611d3a6 100644 --- a/licentia/source/program/licentia/license/limitation.lux +++ b/licentia/source/program/licentia/license/limitation.lux @@ -15,7 +15,7 @@ "distribute" "modify" (format "create an " _.extension - " of either " _.work + " of either " _.licensed_work " or any " _.extension " created by a " _.contributor))) acknowledgement (format _.recipient @@ -48,11 +48,11 @@ (def: #export grant ($.paragraph (list (format "The licenses granted in this document are the only rights granted under " _.license) - (format "No additional rights or licenses will be implied from the distribution or licensing of " _.work + (format "No additional rights or licenses will be implied from the distribution or licensing of " _.licensed_work " under " _.license) (format "No patent license is granted by a " _.contributor " for any code that the " _.contributor - " has removed from " _.work)))) + " has removed from " _.licensed_work)))) (def: identifiers (List Text) @@ -66,10 +66,10 @@ ($.paragraph (list (format _.license " does not grant any permission to use the " ($.or ..identifiers) " of any " _.contributor "; except as required for reasonable and customary use in describing the origin of " - _.work)))) + _.licensed_work)))) (def: #export secondary_licenses ($.paragraph (list (format "No " _.contributor " makes additional grants as a result of a choice by " _.recipient - " to distribute " _.work + " to distribute " _.licensed_work " under a under the terms of a " _.secondary_license)))) diff --git a/licentia/source/program/licentia/license/miscellaneous.lux b/licentia/source/program/licentia/license/miscellaneous.lux index 0fbc96982..3e4371fe1 100644 --- a/licentia/source/program/licentia/license/miscellaneous.lux +++ b/licentia/source/program/licentia/license/miscellaneous.lux @@ -77,9 +77,9 @@ "reexporting")) on_circumstances (let [limitation (format _.recipient " may be restricted with respect to " ($.or limited)) - target (format _.work " or any underlying information or technology")] + 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) " " _.work) + 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))] @@ -90,15 +90,15 @@ (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 _.work " has been published under a particular version of " _.license) + 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 " _.work + " 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 " _.work + " has the right to modify the terms applicable to " _.licensed_work " created under " _.license)] ($.paragraph (list on_publishing on_published_version_validity diff --git a/licentia/source/program/licentia/license/submission.lux b/licentia/source/program/licentia/license/submission.lux index 855141690..284deb88b 100644 --- a/licentia/source/program/licentia/license/submission.lux +++ b/licentia/source/program/licentia/license/submission.lux @@ -11,7 +11,7 @@ (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 + " for inclusion in " _.licensed_work " by " _.recipient " to " _.licensor " shall be under the terms and conditions of " _.license) diff --git a/licentia/source/program/licentia/license/term.lux b/licentia/source/program/licentia/license/term.lux index c9db7fa5a..cd42b569f 100644 --- a/licentia/source/program/licentia/license/term.lux +++ b/licentia/source/program/licentia/license/term.lux @@ -15,7 +15,7 @@ [legal_entity //definition.legal_entity] [recipient //definition.recipient] [licensor //definition.licensor] - [work //definition.work] + [licensed_work //definition.licensed_work] [derivative_work //definition.derivative_work] [submission //definition.submission] [modification //definition.modification] diff --git a/licentia/source/test/licentia.lux b/licentia/source/test/licentia.lux index bf0f4929e..5ae86cfdb 100644 --- a/licentia/source/test/licentia.lux +++ b/licentia/source/test/licentia.lux @@ -5,7 +5,7 @@ [abstract [monad (#+ do)]] [control - [io (#+ io)]] + ["." io]] [data ["." bit ("#\." equivalence)] ["." maybe ("#\." functor)] @@ -16,33 +16,32 @@ ["." random (#+ Random)] [number ["n" nat ("#\." interval)]]]] - {#program - [/ - ["." license (#+ Identification - Termination - Liability - Distribution - Commercial - Extension - Entity Black_List - URL Attribution - Addendum - License) - ["." time (#+ Period)] - ["." copyright] - ["." notice] - ["." definition] - ["." grant] - ["." limitation] - ["." submission] - ["." liability] - ["." distribution] - ["." commercial] - ["." extension] - ["." miscellaneous] - ["." black_list] - ["." addendum]] - ["." output]]}) + [\\program + ["." license (#+ Identification + Termination + Liability + Distribution + Commercial + Extension + Entity Black_List + URL Attribution + Addendum + License) + ["." time (#+ Period)] + ["." copyright] + ["." notice] + ["." definition] + ["." grant] + ["." limitation] + ["." submission] + ["." liability] + ["." distribution] + ["." commercial] + ["." extension] + ["." miscellaneous] + ["." black_list] + ["." addendum]] + ["." output]]) (def: period (Random (Period Nat)) @@ -364,5 +363,7 @@ ))) (program: args - (io (_.run! (<| (_.times 100) - ..test)))) + (<| io.io + _.run! + (_.times 100) + ..test)) -- cgit v1.2.3