From: Kevin Day Date: Sat, 5 Mar 2022 19:00:13 +0000 (-0600) Subject: Update: Provide open-standard-license-1.0. X-Git-Tag: 0.5.9~90 X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=361ac3d74de76e6c8a09d1944d2118db901458b7;p=fll 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. --- diff --git a/level_3/control/specifications/settings.txt b/level_3/control/specifications/settings.txt index 3f9f63bf4..17c0be5f6 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 1b4ed2917..86636dbd9 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 ba54d7799..9365f8e46 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 64e2288cd..568263d70 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 837ef5b9e..0eb04b2eb 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 b49587af9..74c248313 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 d5bfc7882..cb398f45a 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 2b9654d3e..b68df8939 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 c94b058b6..5474e023a 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 dd4d81b33..6cfc1663a 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 3ed3db2a6..da7825649 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 000000000..13d5ca70f --- /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 3d9b88632..252764f8c 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 1244cfdae..e8086be70 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 cc879c21e..37cbc3194 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 e9e71b0d8..5d547264c 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 cb8e6832a..edc42fad0 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 286246edc..cb4ec3235 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 e32698bd9..1cc6e186b 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 2349414c9..3c377f520 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 4989bebc7..b02092174 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 673726196..aa322bc2c 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 47cc9e54f..e023ac5cc 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 a910b7b62..0be7a6255 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 9b793778e..bff3a0d25 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 7a82a8be8..c7cb0d1e0 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 41b60e448..db19cefec 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 ba0b973bb..684186284 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 65f7cefa1..35c98bad8 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 fa8dc1efc..08a35cf5e 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 0a5ff070b..b67d84dbc 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 40be258fe..7c84ab33e 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.