text/ssm.en.xml
branchv_0
changeset 31 43feb77ffcfb
parent 28 547569f6e675
child 32 3811f3a52f44
equal deleted inserted replaced
30:841bec790da8 31:43feb77ffcfb
   165 			<text>Also configuration should have machine readable description and the user should be able to test it by executing a command (validator).</text>
   165 			<text>Also configuration should have machine readable description and the user should be able to test it by executing a command (validator).</text>
   166 		</item>
   166 		</item>
   167 	</chapter>
   167 	</chapter>
   168 	
   168 	
   169 	<chapter>
   169 	<chapter>
   170 		<name>Modular architecture</name>
   170 		<name>Modular architecture and extensibility</name>
   171 		<id>c56e7e86-e480-4a5d-8a47-ab155dcd59b1</id>
   171 		<id>c56e7e86-e480-4a5d-8a47-ab155dcd59b1</id>
   172 		<item>
   172 		<item>
   173 			<id>e50424e8-94f3-48aa-bf01-0ba984eb2349</id>
   173 			<id>e50424e8-94f3-48aa-bf01-0ba984eb2349</id>
   174 			<text>larger and multi-purpose software should be divided into smaller modules</text>
   174 			<text>Larger and multi-purpose software must be divided into smaller modules.</text>
   175 		</item>
   175 		</item>
   176 		<item>
   176 		<item>
   177 			<id>e752efae-75c9-4620-aa14-65c4949a3609</id>
   177 			<id>e752efae-75c9-4620-aa14-65c4949a3609</id>
   178 			<text>modules must have defined dependencies (less = better)</text>
   178 			<text>The modules must have defined dependencies (less = better).</text>
       
   179 			<note>Dependencies needed to write an extension/module (i.e. header files, API classes/interfaces) should be as small as possible (do not require large codebase to write a mere plug-in).</note>
       
   180 			<note>The required dependency should contain just interfaces (method/function signatures) and data structures but no implementation (executable code).</note>
   179 		</item>
   181 		</item>
   180 		<item>
   182 		<item>
   181 			<id>e9988ed0-d686-41a0-9f1e-3243ac5235d5</id>
   183 			<id>e9988ed0-d686-41a0-9f1e-3243ac5235d5</id>
   182 			<text>particular modules should be compilable and executable separately</text>
   184 			<text>Particular modules should be compilable and executable (installable) independently.</text>
   183 		</item>
   185 			<text>It should not be necessary to recompile the core and other modules if only one module is changed.</text>
   184 		<item>
   186 			<note>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.</note>
   185 			<id>ac722cec-0734-4d80-9885-d70a97b6402b</id>
   187 			<note>The goal is to reduce the complexity and the code footprint that comes into the play if the user needs only certain features.</note>
   186 			<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>
   188 		</item>
   187 		</item>
       
   188 	</chapter>
       
   189 	
       
   190 	<chapter>
       
   191 		<name>Extensible</name>
       
   192 		<id>d333af72-b5b5-432f-b564-a008d54a85d1</id>
       
   193 		<item>
   189 		<item>
   194 			<id>a7bc51ba-9832-4f75-983c-e75dc0801113</id>
   190 			<id>a7bc51ba-9832-4f75-983c-e75dc0801113</id>
   195 			<text>able to be extended</text>
   191 			<text>Another good ways to extend and customize the software are:</text>
   196 			<item>
   192 			<text>configuration (XML, INI, RegExp, SQL, XSLT, XPath etc.) and</text>
   197 				<id>e190f58d-1c16-4198-94d6-fc1a99fa85a0</id>
   193 			<text>scripting (Guile, Bash, Python, Lua, ECMA Script etc.)</text>
   198 				<text>by configuration (RegExp, SQL, XSLT, XPath etc.)</text>
       
   199 			</item>
       
   200 			<item>
       
   201 				<id>fde301e5-6e75-49a4-85c8-a231f6a63036</id>
       
   202 				<text>by scripting (Guile, Bash, Python, Lua, ECMA Script etc.)</text>
       
   203 			</item>
       
   204 			<item>
       
   205 				<id>a9c63cea-b9df-4bbd-bec1-84a047514667</id>
       
   206 				<text>and/or third-party plugins/modules</text>
       
   207 				<item>
       
   208 					<id>de7270db-0410-4152-974f-4f0d74ff255b</id>
       
   209 					<text>it should be easy to create a third-party module and plug it in an existing system</text>
       
   210 				</item>
       
   211 				<item>
       
   212 					<id>fb4b07d1-6af7-44d9-8e6a-89ea63638652</id>
       
   213 					<text>dependencies needed to write an extension (i.e. header files, API classes/interfaces) should be as small as possible (do not require large codebase to write a mere plug-in); the required dependency should contain just interfaces (method/function signatures) and data structures but no implementation (executable code)</text>
       
   214 				</item>
       
   215 			</item>
       
   216 		</item>
       
   217 		<item>
       
   218 			<id>e41134a4-715c-4926-a7df-01ff3759eda1</id>
       
   219 			<text>there should be public directory of extensions/scripts</text>
       
   220 		</item>
   194 		</item>
   221 	</chapter>
   195 	</chapter>
   222 	
   196 	
   223 	<chapter>
   197 	<chapter>
   224 		<name>Testable</name>
   198 		<name>Testable</name>
   556 		</item>
   530 		</item>
   557 		<item>
   531 		<item>
   558 			<id>b6cf8d5f-0fc9-46f7-8e38-8342a1229037</id>
   532 			<id>b6cf8d5f-0fc9-46f7-8e38-8342a1229037</id>
   559 			<text>every security incident must be clearly documented and investigated – do not obscure it</text>
   533 			<text>every security incident must be clearly documented and investigated – do not obscure it</text>
   560 		</item>
   534 		</item>
       
   535 		<item>
       
   536 			<id>e41134a4-715c-4926-a7df-01ff3759eda1</id>
       
   537 			<text>There should be public directory of extensions/scripts.</text>
       
   538 		</item>
       
   539 		<item>
       
   540 			<id>fed07648-106a-4b7c-9026-509c82109448</id>
       
   541 			<text>Source code repository (versioning system) must be public. Do not publish just source code snapshots of released versions.</text>
       
   542 		</item>
   561 	</chapter>
   543 	</chapter>
   562 	
   544 	
   563 	<chapter>
   545 	<chapter>
   564 		<name>Accept contributions</name>
   546 		<name>Accept contributions</name>
   565 		<id>eae0f528-a5ce-4809-a25d-9f9ab6311f3d</id>
   547 		<id>eae0f528-a5ce-4809-a25d-9f9ab6311f3d</id>
   588 			</item>
   570 			</item>
   589 			<item>
   571 			<item>
   590 				<id>af6a589f-d419-483f-b7b2-07b6e9da3924</id>
   572 				<id>af6a589f-d419-483f-b7b2-07b6e9da3924</id>
   591 				<text>to sign any political, religious or other proclamation or agree with it</text>
   573 				<text>to sign any political, religious or other proclamation or agree with it</text>
   592 			</item>
   574 			</item>
       
   575 			<note>The term „contribution“ includes not only source code (patch) but also bugreports, feature specifications, documentation, assets (graphics, music etc.) or similar artifacts.</note>
   593 		</item>
   576 		</item>
   594 		<item>
   577 		<item>
   595 			<id>b4319392-8d6a-4f07-8a94-7ae2ed97c787</id>
   578 			<id>b4319392-8d6a-4f07-8a94-7ae2ed97c787</id>
   596 			<text>in order to contribute, it might be required:</text>
   579 			<text>in order to contribute, it might be required:</text>
   597 			<item>
   580 			<item>
   614 		<item>
   597 		<item>
   615 			<id>b5a128a2-31d9-49df-890c-59a770f7afa9</id>
   598 			<id>b5a128a2-31d9-49df-890c-59a770f7afa9</id>
   616 			<text>the contributor must not loose the right to use or distribute the contributed code under any license (of his choice)</text>
   599 			<text>the contributor must not loose the right to use or distribute the contributed code under any license (of his choice)</text>
   617 		</item>
   600 		</item>
   618 	</chapter>
   601 	</chapter>
   619 	
       
   620 	<chapter>
       
   621 		<name>Open development – has public:</name>
       
   622 		<id>b704bc25-d3c1-4481-98bf-54455c507f37</id>
       
   623 		<item>
       
   624 			<id>fed07648-106a-4b7c-9026-509c82109448</id>
       
   625 			<text>source code repository (versioning system), not just source code snapshots of released versions</text>
       
   626 		</item>
       
   627 		<item>
       
   628 			<id>d9934675-abbd-418f-abf6-dfeaaea6a544</id>
       
   629 			<text>description of the process of accepting external patches</text>
       
   630 		</item>
       
   631 		<item>
       
   632 			<id>e6d2175a-97ff-4fd5-9bc1-a3914c6dd719</id>
       
   633 			<text>feature/bug tracking system</text>
       
   634 		</item>
       
   635 		<item>
       
   636 			<id>ae430fee-4850-453f-9382-282d7eed27a4</id>
       
   637 			<text>plan of supported versions/branches</text>
       
   638 		</item>
       
   639 	</chapter>
       
   640 </manifesto>
   602 </manifesto>