merge two sections into Semantic versioning and upgrades
+ remove obvious requiremts/recommendations
+ rename the compatibility section
--- a/Makefile Sat Sep 21 19:52:04 2019 +0200
+++ b/Makefile Sat Sep 21 20:34:51 2019 +0200
@@ -37,7 +37,7 @@
# Prints a table with number of items in particular chapters:
statistics:
- cat ssm.en.xml \
+ cat text/ssm.en.xml \
| relpipe-in-xmltable \
--namespace "m" "tag:globalcode.info,2019:sane-software/manifesto" \
--relation "chapter" \
--- a/text/ssm.en.xml Sat Sep 21 19:52:04 2019 +0200
+++ b/text/ssm.en.xml Sat Sep 21 20:34:51 2019 +0200
@@ -93,7 +93,7 @@
</chapter>
<chapter>
- <name>Semantic versioning</name>
+ <name>Semantic versioning and upgrades</name>
<id>aa8bd952-842b-4391-aefe-d9b3750e432d</id>
<item>
<id>a8beddfc-11e3-4012-9f88-f79dc88eee16</id>
@@ -122,20 +122,6 @@
<text>The released version e.g. 2.3.1 should be tagged as v2.3.1 and be placed in the v_2.3 branch.</text>
<text>Where the v_2.3 branch was forked from the v_2 branch – from the v2.3 tag.</text>
</item>
- </chapter>
-
- <chapter>
- <!-- TODO: rename this chapter? this is also compatibility „with others“ Or merge with previous one-->
- <name>Compatible with itself</name>
- <id>d626bb57-a20a-4182-a88a-446e901e9de4</id>
- <item>
- <id>a9852300-c59a-4bda-86a1-3a90d2ee1b74</id>
- <text>Focus on backward compatibility. Newer version should work as a drop-in replacement.</text>
- </item>
- <item>
- <id>f9b07d6c-da34-4971-8a92-a50b3e9f80ff</id>
- <text>Do not break things – rather postpone the release date than deliver a faulty product.</text>
- </item>
<item>
<id>ae33d206-4988-44ec-b8e2-3120019fcf2f</id>
<text>Do not remove features unless they are really obsolete, unused or unrepairably broken.</text>
@@ -146,7 +132,7 @@
</item>
<item>
<id>ba8fecf0-5c02-4fdf-abdc-2650d428f82a</id>
- <text>Incompatible changes must be planned and announced in advance. <!--Major/minor/patch numbers must be increased according to the Semantic versioning.--></text>
+ <text>Incompatible changes must be planned and announced in advance.</text>
</item>
<item>
<id>f4826891-e732-45e8-b929-25d1182fa141</id>
@@ -155,32 +141,28 @@
</chapter>
<chapter>
- <!-- TODO: rename this chapter to Interfaces? -->
- <name>Compatible with others</name>
+ <name>Interfaces, formats and protocols</name>
<id>d34ce339-197c-44ee-9e5c-6d7e212f8c10</id>
<item>
<id>be4c72d1-c494-4c44-aeb4-c5847f5a3524</id>
- <text>use open standards (protocols, formats) if they exist</text>
+ <text>Open standards (protocols, formats) should be used if they exist.</text>
</item>
<item>
<id>b2202690-8a6c-467f-a2b1-b154f470aa77</id>
- <text>never extend nor modify existing open protocol/format in the way which effectively creates a proprietary protocol/format</text>
+ <text>Already existing open protocol/format must not be modified or extended in a way which effectively creates a proprietary protocol/format.</text>
</item>
<item>
<id>dd206223-9525-4229-be2b-84b07c2b8244</id>
- <text>define and publish own open standards if needed</text>
- <item>
- <id>f24d45b0-a07c-45d8-820e-63a3b95ba3f6</id>
- <text>also standards must be semantically versioned</text>
- </item>
- <item>
- <id>d341b78e-15b9-4077-8b48-9e54c93391ac</id>
- <text>should be written in machine readable format (WSDL, WADL, ASN.1, XSD, Diameter dictionary, D-Bus etc.) or at least formal language (Backus–Naur Form, EBNF etc.)</text>
- </item>
- <item>
- <id>d61b3e31-bb9f-4333-87c8-9fb32f33a49d</id>
- <text>also configuration should have machine readable description and should be testable by executing a command</text>
- </item>
+ <text>New open standards (specifications) should be defined and published if needed.</text>
+ <text>Such standards must be semantically versioned.</text>
+ </item>
+ <item>
+ <id>d341b78e-15b9-4077-8b48-9e54c93391ac</id>
+ <text>And they should be written in machine readable format (e.g. WSDL, WADL, ASN.1, XSD, Diameter dictionary, D-Bus) or at least formal language (Backus–Naur Form, EBNF etc.)</text>
+ </item>
+ <item>
+ <id>d61b3e31-bb9f-4333-87c8-9fb32f33a49d</id>
+ <text>Also configuration should have machine readable description and the user should be able to test it by executing a command (validator).</text>
</item>
</chapter>