From 361ac3d74de76e6c8a09d1944d2118db901458b7 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Sat, 5 Mar 2022 13:00:13 -0600 Subject: [PATCH] Update: Provide open-standard-license-1.0. The Open Standard License is a more formal definition of my original intents and license behind my Standards and Specifications provided in this project. This standard is still considered an Informal Draft because I have yet to perform legal review and as such it is considered incomplete. This standard will be formalized pending legal advice and even the name is subject to change. I thought that there might be confusion between the LGPL license in this project (which focuses on Source Code) and the Standards and Specifications provided within this project. To make this difference explicitly clear, I am in the process of formalizing the license. One big important part of this is this license focuses on Implementations of the Standard or Specification. This is a substantially different concept to what is used in the LGPL and similar licenses. --- level_3/control/specifications/settings.txt | 3 +++ level_3/controller/specifications/entry.txt | 3 +++ level_3/controller/specifications/exit.txt | 3 +++ level_3/controller/specifications/packet.txt | 3 +++ level_3/controller/specifications/rule.txt | 3 +++ level_3/controller/specifications/task.txt | 3 +++ level_3/fake/specifications/defines.txt | 3 +++ level_3/fake/specifications/dependencies.txt | 3 +++ level_3/fake/specifications/fakefile.txt | 3 +++ level_3/fake/specifications/settings.txt | 3 +++ level_3/utf8/specifications/output.txt | 3 +++ licenses/open-standard-license-1.0 | 37 ++++++++++++++++++++++++++++ specifications/fss-0000.txt | 3 +++ specifications/fss-0001.txt | 3 +++ specifications/fss-0002.txt | 2 ++ specifications/fss-0003.txt | 3 +++ specifications/fss-0004.txt | 3 +++ specifications/fss-0005.txt | 3 +++ specifications/fss-0006.txt | 3 +++ specifications/fss-0007.txt | 3 +++ specifications/fss-0008.txt | 3 +++ specifications/fss-0009.txt | 3 +++ specifications/fss-000a.txt | 3 +++ specifications/fss-000b.txt | 3 +++ specifications/fss-000c.txt | 3 +++ specifications/fss-000d.txt | 3 +++ specifications/fss-000e.txt | 3 +++ specifications/fss.txt | 3 +++ specifications/iki-0000.txt | 3 +++ specifications/iki-0001.txt | 3 +++ specifications/iki-0002.txt | 3 +++ specifications/iki.txt | 3 +++ 32 files changed, 129 insertions(+) create mode 100644 licenses/open-standard-license-1.0 diff --git a/level_3/control/specifications/settings.txt b/level_3/control/specifications/settings.txt index 3f9f63b..17c0be5 100644 --- a/level_3/control/specifications/settings.txt +++ b/level_3/control/specifications/settings.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Settings Specification: The control settings "settings" file follows the FSS-0001 (Extended) format. diff --git a/level_3/controller/specifications/entry.txt b/level_3/controller/specifications/entry.txt index 1b4ed29..86636db 100644 --- a/level_3/controller/specifications/entry.txt +++ b/level_3/controller/specifications/entry.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Entry Specification: The Entry files follow the FSS-0005 (Somewhat Basic List) format. diff --git a/level_3/controller/specifications/exit.txt b/level_3/controller/specifications/exit.txt index ba54d77..9365f8e 100644 --- a/level_3/controller/specifications/exit.txt +++ b/level_3/controller/specifications/exit.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Exit Specification: The Exit files follow the FSS-0005 (Somewhat Basic List) format. diff --git a/level_3/controller/specifications/packet.txt b/level_3/controller/specifications/packet.txt index 64e2288..568263d 100644 --- a/level_3/controller/specifications/packet.txt +++ b/level_3/controller/specifications/packet.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Entry Specification: The controller program communicates use the FSS-000E Packet format. diff --git a/level_3/controller/specifications/rule.txt b/level_3/controller/specifications/rule.txt index 837ef5b..0eb04b2 100644 --- a/level_3/controller/specifications/rule.txt +++ b/level_3/controller/specifications/rule.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Rule Specification: The Rule files follow the FSS-000D (Basic Rule) format with IKI-0000 (Unrestricted IKI). diff --git a/level_3/controller/specifications/task.txt b/level_3/controller/specifications/task.txt index b49587a..74c2483 100644 --- a/level_3/controller/specifications/task.txt +++ b/level_3/controller/specifications/task.txt @@ -1,3 +1,6 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Task Specification: diff --git a/level_3/fake/specifications/defines.txt b/level_3/fake/specifications/defines.txt index d5bfc78..cb398f4 100644 --- a/level_3/fake/specifications/defines.txt +++ b/level_3/fake/specifications/defines.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Defines Specification: The build settings "defines" file follows the FSS-0000 (Basic) format. diff --git a/level_3/fake/specifications/dependencies.txt b/level_3/fake/specifications/dependencies.txt index 2b9654d..b68df89 100644 --- a/level_3/fake/specifications/dependencies.txt +++ b/level_3/fake/specifications/dependencies.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Dependencies Specification: The build settings "dependencies" file follows the FSS-0000 (Basic) format. diff --git a/level_3/fake/specifications/fakefile.txt b/level_3/fake/specifications/fakefile.txt index c94b058..5474e02 100644 --- a/level_3/fake/specifications/fakefile.txt +++ b/level_3/fake/specifications/fakefile.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Fakefile Specification: The "fakefile" file follows the FSS-0005 (Somewhat Basic List) format with a sub-fomat of IKI-0002 (Simple Script). diff --git a/level_3/fake/specifications/settings.txt b/level_3/fake/specifications/settings.txt index dd4d81b..6cfc166 100644 --- a/level_3/fake/specifications/settings.txt +++ b/level_3/fake/specifications/settings.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Settings Specification: The build settings "settings" file follows the FSS-0001 (Extended) format. diff --git a/level_3/utf8/specifications/output.txt b/level_3/utf8/specifications/output.txt index 3ed3db2..da78256 100644 --- a/level_3/utf8/specifications/output.txt +++ b/level_3/utf8/specifications/output.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Output Specification: The following output to modes are supported\: diff --git a/licenses/open-standard-license-1.0 b/licenses/open-standard-license-1.0 new file mode 100644 index 0000000..13d5ca7 --- /dev/null +++ b/licenses/open-standard-license-1.0 @@ -0,0 +1,37 @@ +Open Standard License 1.0 (Informal Draft). + March 2022. + +This is an informal document representing the not yet formalized Open Standard License 1.0. +This license applies to the Standards and their Specifications and designates legal requirements on Implementations of the Standard and their respective Specifications. + +Terminology: +- Standard: A set of rules and guidelines. +- Specification: A specific interpretation or clarification of a Standard, such as the documentation that describes how to use or follow a Standard. +- Implementation: The application of some Standard or Specification. +- API: Application Programming Interface*. +- ABI: Application Binary Interface**. +- Service: Any action or labor performed by one party for another party (such as one person helping another person). +- Protocol: A Standard focused on communication between two parties (often referring to Internet communication). + +* The API term is commonly mis-represented as Services or Protocols (such as "Web API"). + An API instructs a programmer how to use a dependency when programming some software that utilizes said dependency. + An API is a Specification of some Implementation of a Standard be it a formally defined standard or an informally defined standard. + An API may be an Implementation of a Standard or a part of an Implementation of a Standard. + An API is, in effect, documentation. + +** The ABI term refers to an Application Binary Interface and represents the compiled implementation of some API. + An ABI may not always exist for some API, such as for pure scripting languages. + An ABI is neither a Specification nor a Standard. + An ABI is an Implementation of an API making it an Implementation of a Standard or Specification. + +Principles of the license: + - The Standard or Specification must be freely and publicly available to use and implement. + - All patents associated must be royalty-free for unrestricted use and must not impose any restrictions on any third party's implementation of this Standard beyond those described in the license. + - There must be no agreements or requirements for the execution of the license grant, including: NDA, grant, click-through, or any form of paperwork (including all non-paper forms of paperwork, such as digital forms). + - There must be no restrictions on the form of an Implementation of a Standard or Specification. + - The license shall prohibit any form of restricting any parties access to use, implement, extend, or deviate from this standard unless: + - Restricted by this license. + - Unless there is a breach of license conditions. + - The license is irrevocable unless there is a breach of the license conditions. + - The license does not grant any kind of warranty or liability under any circumstances to any party for any reason, be it direct, indirect, consequential, incidental, or in any other form. + - The license does not restrict any party from optionally providing their own warranty or liability on some Implementation but such warranties or liabilities are completely separate and independent of this license. diff --git a/specifications/fss-0000.txt b/specifications/fss-0000.txt index 3d9b886..252764f 100644 --- a/specifications/fss-0000.txt +++ b/specifications/fss-0000.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0000 - Basic: Each Object starts at the beginning of a line and whitespace to the left of the Object is not treated as part of the object. diff --git a/specifications/fss-0001.txt b/specifications/fss-0001.txt index 1244cfd..e8086be 100644 --- a/specifications/fss-0001.txt +++ b/specifications/fss-0001.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0001 - Extended: Each Object starts at the beginning of a line and whitespace to the left of the Object is not treated as an object. diff --git a/specifications/fss-0002.txt b/specifications/fss-0002.txt index cc879c2..37cbc31 100644 --- a/specifications/fss-0002.txt +++ b/specifications/fss-0002.txt @@ -1,5 +1,7 @@ # fss-0002 # +# license: open-standard-license-1.0 +# # Note: This file is in fss-0002 format and as a result the example below has to be escaped (can potentially be confusing when reading this raw). # The "This Does\\\:" below is actually "This Does\:" when processed by fss-0002. diff --git a/specifications/fss-0003.txt b/specifications/fss-0003.txt index e9e71b0..5d54726 100644 --- a/specifications/fss-0003.txt +++ b/specifications/fss-0003.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0003 - Extended List: Each Object starts at the beginning of a line and whitespace to the left of the Object is not treated as an object. diff --git a/specifications/fss-0004.txt b/specifications/fss-0004.txt index cb8e683..edc42fa 100644 --- a/specifications/fss-0004.txt +++ b/specifications/fss-0004.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0004 - Very Basic List: This is a fss-0002 Basic List whose Content is then processed as fss-0000 Basic. diff --git a/specifications/fss-0005.txt b/specifications/fss-0005.txt index 286246e..cb4ec32 100644 --- a/specifications/fss-0005.txt +++ b/specifications/fss-0005.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0005 - Somewhat Basic List: This is a fss-0002 Basic List whose Content is then processed as fss-0001 Extended. diff --git a/specifications/fss-0006.txt b/specifications/fss-0006.txt index e32698b..1cc6e18 100644 --- a/specifications/fss-0006.txt +++ b/specifications/fss-0006.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0006 - Somewhat Extended List: This is a fss-0003 Extended List whose Content is then processed as fss-0000 Basic. diff --git a/specifications/fss-0007.txt b/specifications/fss-0007.txt index 2349414..3c377f5 100644 --- a/specifications/fss-0007.txt +++ b/specifications/fss-0007.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0007 - Very Extended List: This is a fss-0003 Extended List whose Content is then processed as fss-0001 Extended. diff --git a/specifications/fss-0008.txt b/specifications/fss-0008.txt index 4989beb..b020921 100644 --- a/specifications/fss-0008.txt +++ b/specifications/fss-0008.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0008 - Embedded List: This is a fss-0003 Extended List whose Content is then recursively processed as fss-0003 Extended List. diff --git a/specifications/fss-0009.txt b/specifications/fss-0009.txt index 6737261..aa322bc 100644 --- a/specifications/fss-0009.txt +++ b/specifications/fss-0009.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 0009 - Reverse Mapping: This is based off of fss-0000 Basic, except the Object is at the end of the line. diff --git a/specifications/fss-000a.txt b/specifications/fss-000a.txt index 47cc9e5..e023ac5 100644 --- a/specifications/fss-000a.txt +++ b/specifications/fss-000a.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 000A - Extended Reverse Mapping: This is based off of fss-0001 Extended, except the Object is at the end of the line. diff --git a/specifications/fss-000b.txt b/specifications/fss-000b.txt index a910b7b..0be7a62 100644 --- a/specifications/fss-000b.txt +++ b/specifications/fss-000b.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 000B - Simple List: This might be similar to fss-0008 - Embedded List, except it is an fss-0003 Extended List with a (non-recursive) fss-0002 Basic List inside the Content. diff --git a/specifications/fss-000c.txt b/specifications/fss-000c.txt index 9b79377..bff3a0d 100644 --- a/specifications/fss-000c.txt +++ b/specifications/fss-000c.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 000C - IKI Text: The IKI specifications are separate specifications from the FSS specification. diff --git a/specifications/fss-000d.txt b/specifications/fss-000d.txt index 7a82a8b..c7cb0d1 100644 --- a/specifications/fss-000d.txt +++ b/specifications/fss-000d.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specification: 000D - Basic Rule: This is a special case that follows fss-0002 (Basic List), and different FSS formats inside this Basic List. diff --git a/specifications/fss-000e.txt b/specifications/fss-000e.txt index 41b60e4..db19cef 100644 --- a/specifications/fss-000e.txt +++ b/specifications/fss-000e.txt @@ -1,5 +1,8 @@ # fss-0002 # +# license: open-standard-license-1.0 +# +# # Note: This file is in fss-0002 format and as a result the example below has to be escaped (can potentially be confusing when reading this raw). # The "header\:" in the example below is actually "header:" when processed by fss-0002. diff --git a/specifications/fss.txt b/specifications/fss.txt index ba0b973..6841862 100644 --- a/specifications/fss.txt +++ b/specifications/fss.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# Featureless Settings Specifications: A Keep It Simple Stupid specifications for configuration/settings files. diff --git a/specifications/iki-0000.txt b/specifications/iki-0000.txt index 65f7cef..35c98ba 100644 --- a/specifications/iki-0000.txt +++ b/specifications/iki-0000.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# IKI Specification: 0000 - Unrestricted: This specification provides no restrictions on the vocabulary. diff --git a/specifications/iki-0001.txt b/specifications/iki-0001.txt index fa8dc1e..08a35cf 100644 --- a/specifications/iki-0001.txt +++ b/specifications/iki-0001.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# IKI Specification: 0001 - Basic: This specification provides a small set of vocabulary names meant to be associated with common uses, such as e-mail addresses and URLs. diff --git a/specifications/iki-0002.txt b/specifications/iki-0002.txt index 0a5ff07..b67d84d 100644 --- a/specifications/iki-0002.txt +++ b/specifications/iki-0002.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# IKI Specification: 0002 - Simple Script: This specification provides a small set of vocabulary names meant to be used for substitution in simple scripts. diff --git a/specifications/iki.txt b/specifications/iki.txt index 40be258..7c84ab3 100644 --- a/specifications/iki.txt +++ b/specifications/iki.txt @@ -1,4 +1,7 @@ # fss-0002 +# +# license: open-standard-license-1.0 +# IKI Specifications: IKI is a minimally structured WIKI-like syntax meant to be simpler than WIKI syntax. -- 1.8.3.1