ssm.en.xml
branchv_0
changeset 24 2cbf4c472a67
parent 23 ccbe2cf582bb
equal deleted inserted replaced
23:ccbe2cf582bb 24:2cbf4c472a67
    23 		<id>ca4d0f6c-9996-49ac-8647-b7f15b049b03</id>
    23 		<id>ca4d0f6c-9996-49ac-8647-b7f15b049b03</id>
    24 		<item>
    24 		<item>
    25 			<id>a755410b-6264-4094-b339-aeca55448e8d</id>
    25 			<id>a755410b-6264-4094-b339-aeca55448e8d</id>
    26 			<text>Every piece of Sane software is also Free software (as originally defined by Richard Stallman).</text>
    26 			<text>Every piece of Sane software is also Free software (as originally defined by Richard Stallman).</text>
    27 			<text>Which means that the user has freedom to</text>
    27 			<text>Which means that the user has freedom to</text>
    28 			<text>run the program for any purpose, </text>
    28 			<text>run the program for any purpose,</text>
    29 			<text>to study and change it (i.e. has access to the source code under a free software license) </text>
    29 			<text>to study and change it (i.e. has access to the source code under a free software license)</text>
    30 			<text>and to distribute modified or unmodified copies.</text>
    30 			<text>and to distribute modified or unmodified copies.</text>
    31 			<note>see https://www.gnu.org/philosophy/free-sw.html</note>
    31 			<note>see https://www.gnu.org/philosophy/free-sw.html</note>
    32 			<note>see https://www.gnu.org/philosophy/who-does-that-server-really-serve.html</note>
    32 			<note>see https://www.gnu.org/philosophy/who-does-that-server-really-serve.html</note>
    33 		</item>
    33 		</item>
    34 		<item>
    34 		<item>
    59 		</item>
    59 		</item>
    60 		<item>
    60 		<item>
    61 			<id>f39b90ae-0054-467e-a9e2-43379b7c2331</id>
    61 			<id>f39b90ae-0054-467e-a9e2-43379b7c2331</id>
    62 			<text>If the software is distributed with a hardware, the hardware must support instalation of independently built software without any restrictions or requirements (e.g. digital signature from the original author).</text>
    62 			<text>If the software is distributed with a hardware, the hardware must support instalation of independently built software without any restrictions or requirements (e.g. digital signature from the original author).</text>
    63 		</item>
    63 		</item>
    64 		
       
    65 	</chapter>
    64 	</chapter>
    66 	
    65 	
    67 	<chapter>
    66 	<chapter>
    68 		<name>Documented</name>
    67 		<name>Documented</name>
    69 		<id>e1c828c5-0a4f-4948-9943-db1ae16a42d5</id>
    68 		<id>e1c828c5-0a4f-4948-9943-db1ae16a42d5</id>
    89 		</item>
    88 		</item>
    90 		<!--
    89 		<!--
    91 		<item><id></id><text>documentation should focus on all target groups: users, administrators, developers</text></item>
    90 		<item><id></id><text>documentation should focus on all target groups: users, administrators, developers</text></item>
    92 		<item><id></id><text>there must be a big picture and software architercure described</text></item>
    91 		<item><id></id><text>there must be a big picture and software architercure described</text></item>
    93 		-->
    92 		-->
    94 		
       
    95 
       
    96 	</chapter>
    93 	</chapter>
    97 	
    94 	
    98 	<chapter>
    95 	<chapter>
    99 		<name>Semantic versioning</name>
    96 		<name>Semantic versioning</name>
   100 		<id>aa8bd952-842b-4391-aefe-d9b3750e432d</id>
    97 		<id>aa8bd952-842b-4391-aefe-d9b3750e432d</id>
   123 			<id>dacb98cc-b558-4f0e-942d-e12004e45606</id>
   120 			<id>dacb98cc-b558-4f0e-942d-e12004e45606</id>
   124 			<text>The branching model in the version control system should reflect the semantic versioning.</text>
   121 			<text>The branching model in the version control system should reflect the semantic versioning.</text>
   125 			<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>
   122 			<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>
   126 			<text>Where the v_2.3 branch was forked from the v_2 branch – from the v2.3 tag.</text>
   123 			<text>Where the v_2.3 branch was forked from the v_2 branch – from the v2.3 tag.</text>
   127 		</item>
   124 		</item>
   128 		
       
   129 	</chapter>
   125 	</chapter>
   130 	
   126 	
   131 	<chapter>
   127 	<chapter>
   132 		<!-- TODO: rename this chapter? this is also compatibility „with others“ Or merge with previous one-->
   128 		<!-- TODO: rename this chapter? this is also compatibility „with others“ Or merge with previous one-->
   133 		<name>Compatible with itself</name>
   129 		<name>Compatible with itself</name>
   154 		</item>
   150 		</item>
   155 		<item>
   151 		<item>
   156 			<id>f4826891-e732-45e8-b929-25d1182fa141</id>
   152 			<id>f4826891-e732-45e8-b929-25d1182fa141</id>
   157 			<text>Upgrade scripts and upgrade documentation must be provided.</text>
   153 			<text>Upgrade scripts and upgrade documentation must be provided.</text>
   158 		</item>
   154 		</item>
   159 		
       
   160 	</chapter>
   155 	</chapter>
   161 	
   156 	
   162 	<chapter>
   157 	<chapter>
   163 		<!-- TODO: rename this chapter to Interfaces? -->
   158 		<!-- TODO: rename this chapter to Interfaces? -->
   164 		<name>Compatible with others</name>
   159 		<name>Compatible with others</name>
   185 			<item>
   180 			<item>
   186 				<id>d61b3e31-bb9f-4333-87c8-9fb32f33a49d</id>
   181 				<id>d61b3e31-bb9f-4333-87c8-9fb32f33a49d</id>
   187 				<text>also configuration should have machine readable description and should be testable by executing a command</text>
   182 				<text>also configuration should have machine readable description and should be testable by executing a command</text>
   188 			</item>
   183 			</item>
   189 		</item>
   184 		</item>
   190 		
       
   191 	</chapter>
   185 	</chapter>
   192 	
   186 	
   193 	<chapter>
   187 	<chapter>
   194 		<name>Modular architecture</name>
   188 		<name>Modular architecture</name>
   195 		<id>c56e7e86-e480-4a5d-8a47-ab155dcd59b1</id>
   189 		<id>c56e7e86-e480-4a5d-8a47-ab155dcd59b1</id>
   207 		</item>
   201 		</item>
   208 		<item>
   202 		<item>
   209 			<id>ac722cec-0734-4d80-9885-d70a97b6402b</id>
   203 			<id>ac722cec-0734-4d80-9885-d70a97b6402b</id>
   210 			<text>whole system should be compilable (buildable) with only selected modules – must not require compilation or even distribution of all modules, if they are not necessary</text>
   204 			<text>whole system should be compilable (buildable) with only selected modules – must not require compilation or even distribution of all modules, if they are not necessary</text>
   211 		</item>
   205 		</item>
   212 		
       
   213 	</chapter>
   206 	</chapter>
   214 	
   207 	
   215 	<chapter>
   208 	<chapter>
   216 		<name>Extensible</name>
   209 		<name>Extensible</name>
   217 
       
   218 		<id>d333af72-b5b5-432f-b564-a008d54a85d1</id>
   210 		<id>d333af72-b5b5-432f-b564-a008d54a85d1</id>
   219 		<item>
   211 		<item>
   220 			<id>a7bc51ba-9832-4f75-983c-e75dc0801113</id>
   212 			<id>a7bc51ba-9832-4f75-983c-e75dc0801113</id>
   221 			<text>able to be extended</text>
   213 			<text>able to be extended</text>
   222 			<item>
   214 			<item>
   242 		</item>
   234 		</item>
   243 		<item>
   235 		<item>
   244 			<id>e41134a4-715c-4926-a7df-01ff3759eda1</id>
   236 			<id>e41134a4-715c-4926-a7df-01ff3759eda1</id>
   245 			<text>there should be public directory of extensions/scripts</text>
   237 			<text>there should be public directory of extensions/scripts</text>
   246 		</item>
   238 		</item>
   247 		
       
   248 	</chapter>
   239 	</chapter>
   249 	
   240 	
   250 	<chapter>
   241 	<chapter>
   251 		<name>Testable</name>
   242 		<name>Testable</name>
   252 		<id>a0376231-d53e-45fd-826f-47148721de3d</id>
   243 		<id>a0376231-d53e-45fd-826f-47148721de3d</id>
   264 		</item>
   255 		</item>
   265 		<item>
   256 		<item>
   266 			<id>e85baeda-8fcb-42d1-bb53-d7386a941ae7</id>
   257 			<id>e85baeda-8fcb-42d1-bb53-d7386a941ae7</id>
   267 			<text>each external interface should contain procedure/function that does nothing important or heavy, is idempotent and returns simple response which proves that the interface (connection) is working (e.g. echo, print version, status or current time); if authentication and authorization mechanisms are present, there should be one procedure/function callable anonymously and one that requires authorization</text>
   258 			<text>each external interface should contain procedure/function that does nothing important or heavy, is idempotent and returns simple response which proves that the interface (connection) is working (e.g. echo, print version, status or current time); if authentication and authorization mechanisms are present, there should be one procedure/function callable anonymously and one that requires authorization</text>
   268 		</item>
   259 		</item>
   269 		
       
   270 	</chapter>
   260 	</chapter>
   271 	
   261 	
   272 	<chapter>
   262 	<chapter>
   273 		<name>Safe code and sustainability</name>
   263 		<name>Safe code and sustainability</name>
   274 		<id>f3afbaf2-0933-43d2-aed0-8dc568b9429f</id>
   264 		<id>f3afbaf2-0933-43d2-aed0-8dc568b9429f</id>
   294 		</item>
   284 		</item>
   295 		<item>
   285 		<item>
   296 			<id>b9345a0e-c672-45d3-b93b-8d0fb4ece8b3</id>
   286 			<id>b9345a0e-c672-45d3-b93b-8d0fb4ece8b3</id>
   297 			<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>
   287 			<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>
   298 		</item>
   288 		</item>
   299 		
       
   300 	</chapter>
   289 	</chapter>
   301 	
   290 	
   302 	<chapter>
   291 	<chapter>
   303 		<name>Small code footprint</name>
   292 		<name>Small code footprint</name>
   304 		<id>ba8fbf3a-9254-4dd8-bb77-b0cd4907c6aa</id>
   293 		<id>ba8fbf3a-9254-4dd8-bb77-b0cd4907c6aa</id>
   312 		</item>
   301 		</item>
   313 		<item>
   302 		<item>
   314 			<id>b07fe0f0-2be7-4c1c-9b19-b671269c5e58</id>
   303 			<id>b07fe0f0-2be7-4c1c-9b19-b671269c5e58</id>
   315 			<text>use code generators (during build process, not to generate code to be manually edited and versioned)</text>
   304 			<text>use code generators (during build process, not to generate code to be manually edited and versioned)</text>
   316 		</item>
   305 		</item>
   317 		
       
   318 	</chapter>
   306 	</chapter>
   319 	
   307 	
   320 	<chapter>
   308 	<chapter>
   321 		<name>Sane dependencies</name>
   309 		<name>Sane dependencies</name>
   322 		<id>afd8f6c7-8dac-4a83-a101-64f017ec7ada</id>
   310 		<id>afd8f6c7-8dac-4a83-a101-64f017ec7ada</id>
   359 		<item>
   347 		<item>
   360 			<id>c5974dcd-4855-40c5-ad22-894c128ca1dc</id>
   348 			<id>c5974dcd-4855-40c5-ad22-894c128ca1dc</id>
   361 			<text>from the whole system point-of-view, Bootstrappable builds should be taken into account</text>
   349 			<text>from the whole system point-of-view, Bootstrappable builds should be taken into account</text>
   362 			<note>see http://bootstrappable.org/</note>
   350 			<note>see http://bootstrappable.org/</note>
   363 		</item>
   351 		</item>
   364 		
       
   365 	</chapter>
   352 	</chapter>
   366 	
   353 	
   367 	<chapter>
   354 	<chapter>
   368 		<name>Easily auditable</name>
   355 		<name>Easily auditable</name>
   369 		<id>fb0c484b-d97a-4cb4-9b8f-04d386ef0f54</id>
   356 		<id>fb0c484b-d97a-4cb4-9b8f-04d386ef0f54</id>
   377 		</item>
   364 		</item>
   378 		<item>
   365 		<item>
   379 			<id>e4db77b8-f145-4e43-bf8b-eb775b9352c8</id>
   366 			<id>e4db77b8-f145-4e43-bf8b-eb775b9352c8</id>
   380 			<text>refactoring/reformatting changesets should be separated from substantive changes</text>
   367 			<text>refactoring/reformatting changesets should be separated from substantive changes</text>
   381 		</item>
   368 		</item>
   382 		
       
   383 	</chapter>
   369 	</chapter>
   384 	
   370 	
   385 	<chapter>
   371 	<chapter>
   386 		<name>Reproducible builds</name>
   372 		<name>Reproducible builds</name>
   387 		<id>da6436f7-c352-4d52-915b-02d0d1880e40</id>
   373 		<id>da6436f7-c352-4d52-915b-02d0d1880e40</id>
   391 		</item>
   377 		</item>
   392 		<item>
   378 		<item>
   393 			<id>a3b0c164-4dde-4e33-b3be-5478d2a187e2</id>
   379 			<id>a3b0c164-4dde-4e33-b3be-5478d2a187e2</id>
   394 			<text>if not, it should be documented, why and how build products mihgt differ, and there should be plan/task to make it reproducible</text>
   380 			<text>if not, it should be documented, why and how build products mihgt differ, and there should be plan/task to make it reproducible</text>
   395 		</item>
   381 		</item>
   396 		
       
   397 	</chapter>
   382 	</chapter>
   398 	
   383 	
   399 	<chapter>
   384 	<chapter>
   400 		<name>Trustworthy packages and sources</name>
   385 		<name>Trustworthy packages and sources</name>
   401 		<id>e7ded437-aaa2-475a-9754-0b2d89394b24</id>
   386 		<id>e7ded437-aaa2-475a-9754-0b2d89394b24</id>
   411 			<id>ff33e209-0460-4a43-997f-d6b32b73997b</id>
   396 			<id>ff33e209-0460-4a43-997f-d6b32b73997b</id>
   412 			<text>if HTTP is supported, HTTPS should also be – the attacker/eavesdropper should not even know what software/package/update is downloaded by the user</text>
   397 			<text>if HTTP is supported, HTTPS should also be – the attacker/eavesdropper should not even know what software/package/update is downloaded by the user</text>
   413 		</item>
   398 		</item>
   414 		<item>
   399 		<item>
   415 			<id>c1f83b3a-e564-4483-91de-9c08723efd13</id>
   400 			<id>c1f83b3a-e564-4483-91de-9c08723efd13</id>
   416 			<text>the attacker should not be able to suppress updates – the program must not be silent in such case and must warn the user that something possibly nasty and dangerous is happening </text>
   401 			<text>the attacker should not be able to suppress updates – the program must not be silent in such case and must warn the user that something possibly nasty and dangerous is happening</text>
   417 		</item>
   402 		</item>
   418 		<item>
   403 		<item>
   419 			<id>c6a755c9-a54e-4ffb-8f70-bfbd851b93c5</id>
   404 			<id>c6a755c9-a54e-4ffb-8f70-bfbd851b93c5</id>
   420 			<text>releases should be downloadable also (or exclusively) over BitTorrent or other P2P network</text>
   405 			<text>releases should be downloadable also (or exclusively) over BitTorrent or other P2P network</text>
   421 		</item>
   406 		</item>
   422 		<item>
   407 		<item>
   423 			<id>f9275c3c-2b09-4aec-ac28-76ff827d52ce</id>
   408 			<id>f9275c3c-2b09-4aec-ac28-76ff827d52ce</id>
   424 			<text>source code repository must be accessible through an encrypted connection</text>
   409 			<text>source code repository must be accessible through an encrypted connection</text>
   425 		</item>
   410 		</item>
   426 		
       
   427 	</chapter>
   411 	</chapter>
   428 	
   412 	
   429 	<chapter>
   413 	<chapter>
   430 		<name>Network interactions</name>
   414 		<name>Network interactions</name>
   431 		<id>d3edb71b-8668-4290-a669-19694956e3aa</id>
   415 		<id>d3edb71b-8668-4290-a669-19694956e3aa</id>
   443 		</item>
   427 		</item>
   444 		<item>
   428 		<item>
   445 			<id>f55c2ebd-c3ba-44f7-ae92-06f679780ec7</id>
   429 			<id>f55c2ebd-c3ba-44f7-ae92-06f679780ec7</id>
   446 			<text>if any network connection is used, it must be cryptographically secured against MITM attacks</text>
   430 			<text>if any network connection is used, it must be cryptographically secured against MITM attacks</text>
   447 		</item>
   431 		</item>
   448 		
       
   449 	</chapter>
   432 	</chapter>
   450 	
   433 	
   451 	<chapter>
   434 	<chapter>
   452 		<name>Localized/internationalized</name>
   435 		<name>Localized/internationalized</name>
   453 		<id>fa655b7c-f22d-4b98-ab7b-c0d0f608aad8</id>
   436 		<id>fa655b7c-f22d-4b98-ab7b-c0d0f608aad8</id>
   494 		</item>
   477 		</item>
   495 		<item>
   478 		<item>
   496 			<id>ce45c382-6ec5-41e8-869a-a0e758621b13</id>
   479 			<id>ce45c382-6ec5-41e8-869a-a0e758621b13</id>
   497 			<text>the metric system should be used as default</text>
   480 			<text>the metric system should be used as default</text>
   498 		</item>
   481 		</item>
   499 		
       
   500 	</chapter>
   482 	</chapter>
   501 	
   483 	
   502 	<chapter>
   484 	<chapter>
   503 		<name>Communication channels</name>
   485 		<name>Communication channels</name>
   504 		<id>a931dcbb-8043-4e21-838f-8e8122bb8af3</id>
   486 		<id>a931dcbb-8043-4e21-838f-8e8122bb8af3</id>
   592 		</item>
   574 		</item>
   593 		<item>
   575 		<item>
   594 			<id>b6cf8d5f-0fc9-46f7-8e38-8342a1229037</id>
   576 			<id>b6cf8d5f-0fc9-46f7-8e38-8342a1229037</id>
   595 			<text>every security incident must be clearly documented and investigated – do not obscure it</text>
   577 			<text>every security incident must be clearly documented and investigated – do not obscure it</text>
   596 		</item>
   578 		</item>
   597 		
       
   598 	</chapter>
   579 	</chapter>
   599 	
   580 	
   600 	<chapter>
   581 	<chapter>
   601 		<name>Accept contributions</name>
   582 		<name>Accept contributions</name>
   602 		<id>eae0f528-a5ce-4809-a25d-9f9ab6311f3d</id>
   583 		<id>eae0f528-a5ce-4809-a25d-9f9ab6311f3d</id>
   650 		</item>
   631 		</item>
   651 		<item>
   632 		<item>
   652 			<id>b5a128a2-31d9-49df-890c-59a770f7afa9</id>
   633 			<id>b5a128a2-31d9-49df-890c-59a770f7afa9</id>
   653 			<text>the contributor must not loose the right to use or distribute the contributed code under any license (of his choice)</text>
   634 			<text>the contributor must not loose the right to use or distribute the contributed code under any license (of his choice)</text>
   654 		</item>
   635 		</item>
   655 		
       
   656 	</chapter>
   636 	</chapter>
   657 	
   637 	
   658 	<chapter>
   638 	<chapter>
   659 		<name>Open development – has public:</name>
   639 		<name>Open development – has public:</name>
   660 		<id>b704bc25-d3c1-4481-98bf-54455c507f37</id>
   640 		<id>b704bc25-d3c1-4481-98bf-54455c507f37</id>
   673 		<item>
   653 		<item>
   674 			<id>ae430fee-4850-453f-9382-282d7eed27a4</id>
   654 			<id>ae430fee-4850-453f-9382-282d7eed27a4</id>
   675 			<text>plan of supported versions/branches</text>
   655 			<text>plan of supported versions/branches</text>
   676 		</item>
   656 		</item>
   677 	</chapter>
   657 	</chapter>
   678 	
       
   679 </manifesto>
   658 </manifesto>