some cleanup and clarifications v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 21 Sep 2019 00:41:54 +0200
branchv_0
changeset 19 c28f759961c7
parent 18 f315b3d27a9d
child 20 fb939d9baaf4
some cleanup and clarifications
ssm.en.xml
--- a/ssm.en.xml	Sat Sep 21 00:41:25 2019 +0200
+++ b/ssm.en.xml	Sat Sep 21 00:41:54 2019 +0200
@@ -16,27 +16,24 @@
 	
 	<title>Sane Software Manifesto</title>
 	<id>fd466b50-6abd-4294-b11f-a5b8f2f39c2a</id>
-	<preamble>In respect to user freedoms, privacy, liberty, quality, mental health and world peace we create software according to these guidelines.</preamble>
+	<preamble>In respect to user freedoms, privacy, liberty and software quality we create software according to the following guidelines.</preamble>
 
 	<chapter>
 		<name>Free software</name>
 		<id>ca4d0f6c-9996-49ac-8647-b7f15b049b03</id>
 		<item>
 			<id>a755410b-6264-4094-b339-aeca55448e8d</id>
-			<text>Every piece of Sane software is also Free software.</text>
+			<text>Every piece of Sane software is also Free software (as originally defined by Richard Stallman).</text>
+			<text>Which means that the user has freedom to</text>
+			<text>run the program for any purpose, </text>
+			<text>to study and change it (i.e. has access to the source code under a free software license) </text>
+			<text>and to distribute modified or unmodified copies.</text>
 			<note>see https://www.gnu.org/philosophy/free-sw.html</note>
-		</item>
-		<item>
-			<id>c75a518f-c155-4544-a439-5694ba6f1c53</id>
-			<text>The user has freedom to run the program for any purpose, to study and change it (i.e. has access to the source code under a free software license) and to distribute modified or unmodified copies.</text>
+			<note>see https://www.gnu.org/philosophy/who-does-that-server-really-serve.html</note>
 		</item>
 		<item>
 			<id>b7cd1a50-79eb-4df2-925c-7243a46d5ed8</id>
-			<text>The user controls his/her computer and software and owns the data.</text>
-		</item>
-		<item>
-			<id>a61998fa-376a-4435-bd97-8225ea4e2808</id>
-			<text>Non-free software can not be trusted.</text>
+			<text>The user controls his computer and software and owns the data. Not the author of the software or anyone else without user's explicit consent.</text>
 		</item>
 		<item>
 			<id>c78a9796-7862-4dd2-8ad9-3fdae094fe2c</id>
@@ -44,14 +41,15 @@
 		</item>
 		<item>
 			<id>b3c0daaf-dcaf-49a8-ae38-40590456a315</id>
-			<text>Should not promote non-free (proprietary) software or services.</text>
+			<text>Must not promote non-free (proprietary) software or services.</text>
 		</item>
 		<item>
 			<id>b2fd5d2d-4d47-48e8-8abc-4b1aa94a7951</id>
-			<text>Copyleft licenses (like GNU GPL or GNU Affero GPL) are strongly recommended because they guarantee software freedoms to every single end-user and prevent possibility that freedom vanishes somewhere in the distribution chain and the user can't benefit from the free software albeit the software is build on originally free source code.</text>
+			<text>Copyleft licenses (like GNU GPL or GNU Affero GPL) are strongly recommended because they guarantee software freedoms to every single end-user and prevent possibility that freedom vanishes somewhere in the distribution chain and the user can not benefit from the free software albeit the software is build on originally free source code.</text>
 		</item>
 		<item>
 			<id>c3599313-338b-428d-885f-964a443d76c6</id>
+			<!-- TODO: MUST + exception for older software -->
 			<text>The license should be compatible with GNU GPL in order to allow mixing with the GPL code.</text>
 		</item>
 		<item>
@@ -123,6 +121,7 @@
 	</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>
@@ -131,11 +130,11 @@
 		</item>
 		<item>
 			<id>f9b07d6c-da34-4971-8a92-a50b3e9f80ff</id>
-			<text>Don't break things – rather postpone the release date than deliver a faulty product.</text>
+			<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>Don't remove features unless they are really obsolete, unused or unrepairably broken.</text>
+			<text>Do not remove features unless they are really obsolete, unused or unrepairably broken.</text>
 		</item>
 		<item>
 			<id>c542336a-fce8-412c-a8dd-1328c1a884ec</id>
@@ -153,6 +152,7 @@
 	</chapter>
 	
 	<chapter>
+		<!-- TODO: rename this chapter to Interfaces? -->
 		<name>Compatible with others</name>
 		<id>d34ce339-197c-44ee-9e5c-6d7e212f8c10</id>
 		<item>
@@ -274,7 +274,7 @@
 		</item>
 		<item>
 			<id>ebea0c16-f820-444d-a73c-3054ca6a38c8</id>
-			<text>data structures must be known and well documented – don't use undocumented map keys or properties</text>
+			<text>data structures must be known and well documented – do not use undocumented map keys or properties</text>
 		</item>
 		<item>
 			<id>e24e600e-6542-4664-8cf0-2d8c6feb6c13</id>
@@ -286,7 +286,7 @@
 		</item>
 		<item>
 			<id>b9345a0e-c672-45d3-b93b-8d0fb4ece8b3</id>
-			<text>fail fast – errors in the code should be reported during build time or at least on first execution – don't silently continue if given error would lead to failure later in another part of the code – bad weak coupling leads to difficult debugging</text>
+			<text>fail fast – errors in the code should be reported during build time or at least on first execution – do not silently continue if given error would lead to failure later in another part of the code – bad weak coupling leads to difficult debugging</text>
 		</item>
 		
 	</chapter>
@@ -337,7 +337,7 @@
 			<text>helper tools:</text>
 			<item>
 				<id>a5307bc9-36ed-4d83-963a-30c5c67613aa</id>
-				<text>if you e.g. use Bash and Perl during the build process, don't add also Python dependency, write it in Perl – or use Python instead of Perl.</text>
+				<text>if you e.g. use Bash and Perl during the build process, do not add also Python dependency, write it in Perl – or use Python instead of Perl.</text>
 			</item>
 			<item>
 				<id>b0237d84-7068-4b2b-bc28-ce5e0a0061e4</id>
@@ -393,7 +393,11 @@
 		<id>e7ded437-aaa2-475a-9754-0b2d89394b24</id>
 		<item>
 			<id>a0d9322c-7d2b-4632-b543-7e0d75bb5f0b</id>
-			<text>every released version (binary or source) is cryptographically signed by the authors (GnuPG/OpenPGP is strongly recommended)</text>
+			<text>every released version (binary or source) must be cryptographically signed by the authors (GnuPG/OpenPGP is strongly recommended)</text>
+		</item>
+		<item>
+			<id>feb97ec0-c35c-49b8-b455-517a929b4a84</id>
+			<text>there should be also checksums/hashes for every released package</text>
 		</item>
 		<item>
 			<id>ff33e209-0460-4a43-997f-d6b32b73997b</id>
@@ -408,12 +412,8 @@
 			<text>releases should be downloadable also (or exclusively) over BitTorrent or other P2P network</text>
 		</item>
 		<item>
-			<id>feb97ec0-c35c-49b8-b455-517a929b4a84</id>
-			<text>there should be also checksums/hashes for every package</text>
-		</item>
-		<item>
 			<id>f9275c3c-2b09-4aec-ac28-76ff827d52ce</id>
-			<text>source code repository is accessible through an encrypted connection</text>
+			<text>source code repository must be accessible through an encrypted connection</text>
 		</item>
 		
 	</chapter>
@@ -473,7 +473,7 @@
 			<text>character encoding:</text>
 			<item>
 				<id>abd42a7f-bd4b-4034-98ee-85a33094b5c1</id>
-				<text>always be aware of it, don't just blindly use current platform's default (because the other side might run on different platform with different default)</text>
+				<text>always be aware of it, do not just blindly use current platform's default (because the other side might run on different platform with different default)</text>
 			</item>
 			<item>
 				<id>abd48eae-d287-4729-80ee-52dd018b0ba7</id>
@@ -539,7 +539,7 @@
 			</item>
 			<item>
 				<id>da2b84bd-a20d-4e76-af14-740a7c9ccfb3</id>
-				<text>avoid spam and viruses, don't spam the users, don't push them to subscribe your „newsletter“ – always offer also anonymous channel like RSS/Atom</text>
+				<text>avoid spam and viruses, do not spam the users, do not push them to subscribe your „newsletter“ – always offer also anonymous channel like RSS/Atom</text>
 			</item>
 		</item>
 		<item>
@@ -552,7 +552,7 @@
 		</item>
 		<item>
 			<id>e746eb5b-8d8b-4ec8-9315-a311f35e156a</id>
-			<text>don't push users to register at a proprietary social networks resp. at particular company like Facebook – users without such account must not be discriminated – use open and decentralized networks/protocols instead</text>
+			<text>do not push users to register at a proprietary social networks resp. at particular company like Facebook – users without such account must not be discriminated – use open and decentralized networks/protocols instead</text>
 		</item>
 		<item>
 			<id>a1a3c037-37e3-4283-abab-e275f7d17442</id>
@@ -564,11 +564,11 @@
 		</item>
 		<item>
 			<id>b54d4978-974b-4743-bdba-7d4957bc9ba7</id>
-			<text>but don't buy an internet domain if you are not prepared to mainain it for decades – rather use third level domain under some reliable second level domain maintained by a credible group or person – think of that every expired domain helps spammers and scammers and hurts the users</text>
+			<text>but do not buy an internet domain if you are not prepared to mainain it for decades – rather use third level domain under some reliable second level domain maintained by a credible group or person – think of that every expired domain helps spammers and scammers and hurts the users</text>
 		</item>
 		<item>
 			<id>a1141312-5177-4d68-bb14-fce952d542c3</id>
-			<text>URLs should be as stable as possible (don't break old links, set up redirections if needed)</text>
+			<text>URLs should be as stable as possible (do not break old links, set up redirections if needed)</text>
 		</item>
 		<item>
 			<id>c5b6d3d7-2f1f-4371-acfa-d6af1588c2cb</id>
@@ -584,7 +584,7 @@
 		</item>
 		<item>
 			<id>b6cf8d5f-0fc9-46f7-8e38-8342a1229037</id>
-			<text>every security incident must be clearly documented and investigated – don't obscure it</text>
+			<text>every security incident must be clearly documented and investigated – do not obscure it</text>
 		</item>
 		
 	</chapter>
@@ -663,18 +663,9 @@
 			<text>feature/bug tracking system</text>
 		</item>
 		<item>
-			<id>d3fb6917-75b2-4243-adbb-0d1c93d14883</id>
-			<text>roadmap of future releases</text>
-		</item>
-		<item>
 			<id>ae430fee-4850-453f-9382-282d7eed27a4</id>
 			<text>plan of supported versions/branches</text>
 		</item>
-		<item>
-			<id>fbe9e5d0-17b8-43e3-9e00-7660eb4833e5</id>
-			<text>every release/version/branch must clearly declare the status (alpha, beta, prototype, stable, retired, deprecated…)</text>
-		</item>
-		
 	</chapter>
 	
 </manifesto>