text/ssm.en.xml
branchv_0
changeset 43 1f52b8493268
parent 42 ef8fd61fd011
child 45 0d468a8d6b58
equal deleted inserted replaced
42:ef8fd61fd011 43:1f52b8493268
    48 			<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>
    48 			<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>
    49 		</item>
    49 		</item>
    50 		<item>
    50 		<item>
    51 			<id>c78a9796-7862-4dd2-8ad9-3fdae094fe2c</id>
    51 			<id>c78a9796-7862-4dd2-8ad9-3fdae094fe2c</id>
    52 			<text>Must be buildable using free software toolchain (like GNU/Linux + GCC or OpenJDK etc.).</text>
    52 			<text>Must be buildable using free software toolchain (like GNU/Linux + GCC or OpenJDK etc.).</text>
       
    53 			<link>
       
    54 				<url>https://www.gnu.org/prep/maintain/maintain.html#Ethical-and-Philosophical-Consideration</url>
       
    55 				<type>compatible</type>
       
    56 				<title>Information for Maintainers of GNU Software: Ethical and Philosophical Consideration</title>
       
    57 				<quotation>A GNU package should not recommend use of any non-free program, nor should it require a non-free program (such as a non-free compiler or IDE) to build. Thus, a GNU package cannot be written in a programming language that does not have a free software implementation.</quotation>
       
    58 				<quotation>Now that GNU/Linux systems are widely available, all GNU packages should provide full functionality on a 100% free GNU/Linux system, and should not require any non-free software to build or function.</quotation>
       
    59 				<quotation>Similarly, a GNU package should not require the use of non-free software, including JavaScript, for the coordination of its development.</quotation>
       
    60 			</link>
    53 		</item>
    61 		</item>
    54 		<item>
    62 		<item>
    55 			<id>b3c0daaf-dcaf-49a8-ae38-40590456a315</id>
    63 			<id>b3c0daaf-dcaf-49a8-ae38-40590456a315</id>
    56 			<text>Must not promote non-free (proprietary) software or services.</text>
    64 			<text>Must not promote non-free (proprietary) software or services.</text>
       
    65 			<link>
       
    66 				<url>https://www.gnu.org/prep/standards/standards.html#References</url>
       
    67 				<type>compatible</type>
       
    68 				<title>GNU Coding Standards: References to Non-Free Software and Documentation</title>
       
    69 				<quotation>A GNU program should not recommend, promote, or grant legitimacy to the use of any non-free program. Proprietary software is a social and ethical problem, and our aim is to put an end to that problem. We can’t stop some people from writing proprietary programs, or stop other people from using them, but we can and should refuse to advertise them to new potential customers, or to give the public the idea that their existence is ethical.</quotation>
       
    70 			</link>
    57 		</item>
    71 		</item>
    58 		<item>
    72 		<item>
    59 			<id>b2fd5d2d-4d47-48e8-8abc-4b1aa94a7951</id>
    73 			<id>b2fd5d2d-4d47-48e8-8abc-4b1aa94a7951</id>
    60 			<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>
    74 			<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>
    61 		</item>
    75 		</item>
    79 		<name>Documented</name>
    93 		<name>Documented</name>
    80 		<id>e1c828c5-0a4f-4948-9943-db1ae16a42d5</id>
    94 		<id>e1c828c5-0a4f-4948-9943-db1ae16a42d5</id>
    81 		<item>
    95 		<item>
    82 			<id>c63ea2ac-c255-4f3e-a0e2-b49d1e145347</id>
    96 			<id>c63ea2ac-c255-4f3e-a0e2-b49d1e145347</id>
    83 			<text>At least basic documentation must be released under a free license (GNU FDL is recommended).</text>
    97 			<text>At least basic documentation must be released under a free license (GNU FDL is recommended).</text>
       
    98 			<link>
       
    99 				<url>https://www.gnu.org/prep/standards/standards.html#License-for-Manuals</url>
       
   100 				<type>compatible</type>
       
   101 				<title>GNU Coding Standards: License for Manuals</title>
       
   102 				<quotation>Please use the GNU Free Documentation License for all GNU manuals that are more than a few pages long.</quotation>
       
   103 			</link>
    84 		</item>
   104 		</item>
    85 		<item>
   105 		<item>
    86 			<id>fd8e3bbd-d46a-40fe-85a6-b902336456d4</id>
   106 			<id>fd8e3bbd-d46a-40fe-85a6-b902336456d4</id>
    87 			<text>Every advertised feature must be properly documented. Undocumented features can not be considered as features from the user/customer point-of-view.</text>
   107 			<text>Every advertised feature must be properly documented. Undocumented features can not be considered as features from the user/customer point-of-view.</text>
    88 		</item>
   108 		</item>
    89 		<item>
   109 		<item>
    90 			<id>e4dede5b-059e-4e47-b03d-80142b8467f1</id>
   110 			<id>e4dede5b-059e-4e47-b03d-80142b8467f1</id>
    91 			<text>There might be also other documentation/books released under any license and price.</text>
   111 			<text>There might be also other documentation/books released under any license and price.</text>
       
   112 			<link>
       
   113 				<url>https://www.gnu.org/prep/standards/standards.html#Reading-other-Manuals</url>
       
   114 				<type>related</type>
       
   115 				<title>GNU Coding Standards: Reading other Manuals</title>
       
   116 				<quotation>There may be non-free books or documentation files that describe the program you are documenting.</quotation>
       
   117 				<quotation>It is ok to use these documents for reference, just as the author of a new algebra textbook can read other books on algebra.</quotation>
       
   118 			</link>
    92 		</item>
   119 		</item>
    93 		<item>
   120 		<item>
    94 			<id>c0df4d14-43f8-4b61-83c4-fb5896161aeb</id>
   121 			<id>c0df4d14-43f8-4b61-83c4-fb5896161aeb</id>
    95 			<text>But average software engineer must be able to build and operate the software with just the free (basic) documentation.</text>
   122 			<text>But average software engineer must be able to build and operate the software with just the free (basic) documentation.</text>
       
   123 			<link>
       
   124 				<url>https://www.gnu.org/prep/standards/standards.html#Configuration</url>
       
   125 				<type>related</type>
       
   126 				<title>GNU Coding Standards: How Configuration Should Work</title>
       
   127 				<quotation>Each GNU distribution should come with a shell script named configure.</quotation>
       
   128 			</link>
    96 		</item>
   129 		</item>
    97 		<item>
   130 		<item>
    98 			<id>e6cd9c52-0e66-402c-930c-901fa66acd22</id>
   131 			<id>e6cd9c52-0e66-402c-930c-901fa66acd22</id>
    99 			<text>There must be a free documentation with description of building and running the software on a fresh operating system installation including description of all dependencies.</text>
   132 			<text>There must be a free documentation with description of building and running the software on a fresh operating system installation including description of all dependencies.</text>
   100 		</item>
   133 		</item>
   120 			<link>
   153 			<link>
   121 				<url>http://semver.org/</url>
   154 				<url>http://semver.org/</url>
   122 				<type>compatible</type>
   155 				<type>compatible</type>
   123 				<title>Semantic Versioning</title>
   156 				<title>Semantic Versioning</title>
   124 			</link>
   157 			</link>
       
   158 			<link>
       
   159 				<url>https://www.gnu.org/prep/standards/standards.html#Releases</url>
       
   160 				<type>compatible</type>
       
   161 				<title>GNU Coding Standards: Making Releases</title>
       
   162 				<quotation>You should identify each release with a pair of version numbers, a major version and a minor. We have no objection to using more than two numbers</quotation>
       
   163 			</link>
   125 		</item>
   164 		</item>
   126 		<item>
   165 		<item>
   127 			<id>cf557a11-b307-4c2f-a7b5-5d2485d23258</id>
   166 			<id>cf557a11-b307-4c2f-a7b5-5d2485d23258</id>
   128 			<text>Once publicly released, the package must not be changed anymore – if a change (even a small fix) is needed, new version number must be assigned.</text>
   167 			<text>Once publicly released, the package must not be changed anymore – if a change (even a small fix) is needed, new version number must be assigned.</text>
   129 		</item>
   168 		</item>
   205 		<item>
   244 		<item>
   206 			<id>a7bc51ba-9832-4f75-983c-e75dc0801113</id>
   245 			<id>a7bc51ba-9832-4f75-983c-e75dc0801113</id>
   207 			<text>Another good ways to extend and customize the software are:</text>
   246 			<text>Another good ways to extend and customize the software are:</text>
   208 			<text>configuration (XML, INI, RegExp, SQL, XSLT, XPath etc.) and</text>
   247 			<text>configuration (XML, INI, RegExp, SQL, XSLT, XPath etc.) and</text>
   209 			<text>scripting (Guile, Bash, Python, Lua, ECMA Script etc.)</text>
   248 			<text>scripting (Guile, Bash, Python, Lua, ECMA Script etc.)</text>
       
   249 			<link>
       
   250 				<url>https://www.gnu.org/prep/standards/standards.html#Source-Language</url>
       
   251 				<type>compatible</type>
       
   252 				<title>GNU Coding Standards: Which Languages to Use</title>
       
   253 				<quotation>The more GNU components use Guile and Scheme, the more users are able to extend and combine them</quotation>
       
   254 				<quotation>Many programs are designed to be extensible: they include an interpreter for a language that is higher level than C. Often much of the program is written in that language, too. The Emacs editor pioneered this technique.</quotation>
       
   255 				<quotation>The standard extensibility interpreter for GNU software is Guile, which implements the language Scheme (an especially clean and simple dialect of Lisp).</quotation>
       
   256 			</link>
       
   257 			<link>
       
   258 				<url>https://www.gnu.org/software/guile/</url>
       
   259 				<type>related</type>
       
   260 				<title>GNU Guile</title>
       
   261 				<description>GNU implementation of the Scheme language (which is a dialect of Lisp).</description>
       
   262 			</link>
   210 		</item>
   263 		</item>
   211 	</chapter>
   264 	</chapter>
   212 	
   265 	
   213 	<chapter>
   266 	<chapter>
   214 		<name>Testable</name>
   267 		<name>Testable</name>
   247 			<text>data structures must be known and well documented – do not use undocumented map keys or properties</text>
   300 			<text>data structures must be known and well documented – do not use undocumented map keys or properties</text>
   248 		</item>
   301 		</item>
   249 		<item>
   302 		<item>
   250 			<id>e24e600e-6542-4664-8cf0-2d8c6feb6c13</id>
   303 			<id>e24e600e-6542-4664-8cf0-2d8c6feb6c13</id>
   251 			<text>code, comments and specification should be written in the same natural language</text>
   304 			<text>code, comments and specification should be written in the same natural language</text>
       
   305 			<link>
       
   306 				<url>https://www.gnu.org/prep/standards/standards.html#Comments</url>
       
   307 				<type>related</type>
       
   308 				<title>GNU Coding Standards: Commenting Your Work</title>
       
   309 				<quotation>Please write the comments in a GNU program in English, because English is the one language that nearly all programmers in all countries can read.</quotation>
       
   310 			</link>
   252 		</item>
   311 		</item>
   253 		<item>
   312 		<item>
   254 			<id>fa92aa33-a69f-43b8-9051-9bfdcd3d293f</id>
   313 			<id>fa92aa33-a69f-43b8-9051-9bfdcd3d293f</id>
   255 			<text>there should be a dictionary of used terms, so whole team and also users and customers will speak the same language</text>
   314 			<text>there should be a dictionary of used terms, so whole team and also users and customers will speak the same language</text>
   256 		</item>
   315 		</item>
   272 			<text>reduce boilerplate and unused code</text>
   331 			<text>reduce boilerplate and unused code</text>
   273 		</item>
   332 		</item>
   274 		<item>
   333 		<item>
   275 			<id>b07fe0f0-2be7-4c1c-9b19-b671269c5e58</id>
   334 			<id>b07fe0f0-2be7-4c1c-9b19-b671269c5e58</id>
   276 			<text>use code generators (during build process, not to generate code to be manually edited and versioned)</text>
   335 			<text>use code generators (during build process, not to generate code to be manually edited and versioned)</text>
       
   336 			<link>
       
   337 				<url>https://www.gnu.org/prep/standards/standards.html#Releases</url>
       
   338 				<type>compatible</type>
       
   339 				<title>GNU Coding Standards: Making Releases</title>
       
   340 				<quotation>Building and installing the program should never modify any of the files contained in the distribution. This means that all the files that form part of the program in any way must be classified into source files and non-source files. Source files are written by humans and never changed automatically; non-source files are produced from source files by programs under the control of the Makefile.</quotation>
       
   341 			</link>
   277 		</item>
   342 		</item>
   278 	</chapter>
   343 	</chapter>
   279 	
   344 	
   280 	<chapter>
   345 	<chapter>
   281 		<name>Sane dependencies</name>
   346 		<name>Sane dependencies</name>
   426 			<text>It should be possible to localize the user interface independently from the original author by creating an additionally installable language pack.</text>
   491 			<text>It should be possible to localize the user interface independently from the original author by creating an additionally installable language pack.</text>
   427 		</item>
   492 		</item>
   428 		<item>
   493 		<item>
   429 			<id>c3827486-6bf5-45c0-9a6d-61ad659d8ba1</id>
   494 			<id>c3827486-6bf5-45c0-9a6d-61ad659d8ba1</id>
   430 			<text>GNU Gettext or other standard framework (like Java resource bundles) should be used.</text>
   495 			<text>GNU Gettext or other standard framework (like Java resource bundles) should be used.</text>
       
   496 			<link>
       
   497 				<url>https://www.gnu.org/prep/standards/standards.html#Internationalization</url>
       
   498 				<type>compatible</type>
       
   499 				<title>GNU Coding Standards: Internationalization</title>
       
   500 				<quotation>GNU has a library called GNU gettext that makes it easy to translate the messages in a program into various languages. You should use this library in every program.</quotation>
       
   501 			</link>
   431 		</item>
   502 		</item>
   432 		<item>
   503 		<item>
   433 			<id>a57f4fc8-1f64-46e2-a91d-3a598c37f2e9</id>
   504 			<id>a57f4fc8-1f64-46e2-a91d-3a598c37f2e9</id>
   434 			<text>Error messages should have assigned unique error codes, so it is possible to find relevant information regardless the current locale.</text>
   505 			<text>Error messages should have assigned unique error codes, so it is possible to find relevant information regardless the current locale.</text>
   435 		</item>
   506 		</item>
   482 		</item>
   553 		</item>
   483 		<item>
   554 		<item>
   484 			<id>e8b18e02-d7b2-4584-8eee-dbaf823f6800</id>
   555 			<id>e8b18e02-d7b2-4584-8eee-dbaf823f6800</id>
   485 			<text>A mailing list (e-mail conference) or other equivalently open and decentralized technology should be used for the many-to-many communication.</text>
   556 			<text>A mailing list (e-mail conference) or other equivalently open and decentralized technology should be used for the many-to-many communication.</text>
   486 			<note>Having an „old school“ mailing list is not mandatory – it might be e.g. a P2P distributed technology or some self-hosted forum.</note>
   557 			<note>Having an „old school“ mailing list is not mandatory – it might be e.g. a P2P distributed technology or some self-hosted forum.</note>
       
   558 			<link>
       
   559 				<url>https://www.gnu.org/prep/maintain/maintain.html#Standard-Mailing-Lists</url>
       
   560 				<type>related</type>
       
   561 				<title>Information for Maintainers of GNU Software: Standard Mailing Lists</title>
       
   562 			</link>
   487 		</item>
   563 		</item>
   488 		<item>
   564 		<item>
   489 			<id>e746eb5b-8d8b-4ec8-9315-a311f35e156a</id>
   565 			<id>e746eb5b-8d8b-4ec8-9315-a311f35e156a</id>
   490 			<text>Users must not be pushed to register at a proprietary social networks resp. at particular providers of such services.</text>
   566 			<text>Users must not be pushed to register at a proprietary social networks resp. at particular providers of such services.</text>
   491 			<text>Users without such account must not be disadvantaged – use open and decentralized networks/protocols instead.</text>
   567 			<text>Users without such account must not be disadvantaged – use open and decentralized networks/protocols instead.</text>
       
   568 			<link>
       
   569 				<url>https://www.gnu.org/prep/maintain/maintain.html#Ethical-and-Philosophical-Consideration</url>
       
   570 				<type>compatible</type>
       
   571 				<title>Information for Maintainers of GNU Software: Ethical and Philosophical Consideration</title>
       
   572 				<quotation>Please don’t host discussions about your package in a service that requires nonfree software. For instance, Google+ “communities” require running a nonfree JavaScript program to post a message, so they can’t be used in the Free World. Google Groups has the same problem. To host discussions there would be excluding people who live by free software principles.</quotation>
       
   573 				<quotation>Of course, you can’t order people not to use such services to talk with each other. What you can do is not legitimize them, and use your influence to lead people away from them. For instance, where you say where to have discussions related to the program, don’t list such a place.</quotation>
       
   574 			</link>
   492 		</item>
   575 		</item>
   493 		<item>
   576 		<item>
   494 			<id>ff537045-819e-4dec-a020-d2c9f2c3292b</id>
   577 			<id>ff537045-819e-4dec-a020-d2c9f2c3292b</id>
   495 			<text>There should be a second-level internet domain for the project or its team.</text>
   578 			<text>There should be a second-level internet domain for the project or its team.</text>
   496 			<note>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.</note>
   579 			<note>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.</note>
   523 		<item>
   606 		<item>
   524 			<id>e02c3fba-93f3-4f16-bd23-f49a203e40bc</id>
   607 			<id>e02c3fba-93f3-4f16-bd23-f49a203e40bc</id>
   525 			<text>The website should not require a modern complex browser for basic tasks like reading the documentation, downloading a release or submitting a bug report.</text>
   608 			<text>The website should not require a modern complex browser for basic tasks like reading the documentation, downloading a release or submitting a bug report.</text>
   526 			<text>Such tasks should be feasible even with simple text browsers (e.g. Lynx or Links2).</text>
   609 			<text>Such tasks should be feasible even with simple text browsers (e.g. Lynx or Links2).</text>
   527 			<note>Modern browsers consists of 20 or 25 millions lines of code. Requiring such complex software for basic tasks is not reasonable.</note>
   610 			<note>Modern browsers consists of 20 or 25 millions lines of code. Requiring such complex software for basic tasks is not reasonable.</note>
       
   611 			<link>
       
   612 				<url>https://www.gnu.org/prep/maintain/maintain.html#Freedom-for-Web-Pages</url>
       
   613 				<type>related</type>
       
   614 				<title>Information for Maintainers of GNU Software: Freedom for Web Pages</title>
       
   615 				<quotation>Please make sure it is possible to use the web site fully using the Lynx browser, and with the IceCat browser with LibreJS enabled.</quotation>
       
   616 			</link>
   528 		</item>
   617 		</item>
   529 		<item>
   618 		<item>
   530 			<id>c89e8699-574c-4b28-9f65-6284d6051f68</id>
   619 			<id>c89e8699-574c-4b28-9f65-6284d6051f68</id>
   531 			<text>There must be a crpyptographically secured (GnuPG/OpenPGP or X.509) e-mail address or a secure web form for receiving security vulnerabilities reports.</text>
   620 			<text>There must be a crpyptographically secured (GnuPG/OpenPGP or X.509) e-mail address or a secure web form for receiving security vulnerabilities reports.</text>
   532 			<note>Particular authors should publish their public keys.</note>
   621 			<note>Particular authors should publish their public keys.</note>
   533 			<note>Every security incident must be clearly documented and investigated – do not obscure it.</note>
   622 			<note>Every security incident must be clearly documented and investigated – do not obscure it.</note>
   534 		</item>
   623 		</item>
   535 		<item>
   624 		<item>
   536 			<id>fed07648-106a-4b7c-9026-509c82109448</id>
   625 			<id>fed07648-106a-4b7c-9026-509c82109448</id>
   537 			<text>Source code repository (versioning system) must be public. Do not publish just source code snapshots of released versions.</text>
   626 			<text>Source code repository (versioning system) must be public. Do not publish just source code snapshots of released versions.</text>
       
   627 			<link>
       
   628 				<url>https://www.gnu.org/prep/maintain/maintain.html#Old-Versions</url>
       
   629 				<type>related</type>
       
   630 				<title>Information for Maintainers of GNU Software: Recording Old Versions</title>
       
   631 				<quotation>The history of previous revisions and log entries is very important for future maintainers of the package, so even if you do not make it publicly accessible, be careful not to put anything in the repository or change log that you would not want to hand over to another maintainer some day.</quotation>
       
   632 			</link>
   538 		</item>
   633 		</item>
   539 	</chapter>
   634 	</chapter>
   540 	
   635 	
   541 	<chapter>
   636 	<chapter>
   542 		<name>Accept contributions</name>
   637 		<name>Accept contributions</name>
   546 			<text>good quality code contributions with appropriate copyright and patent licenses or assignments should be accepted from anyone</text>
   641 			<text>good quality code contributions with appropriate copyright and patent licenses or assignments should be accepted from anyone</text>
   547 		</item>
   642 		</item>
   548 		<item>
   643 		<item>
   549 			<id>ea429f77-44db-4eb4-9925-0d28f9abf47a</id>
   644 			<id>ea429f77-44db-4eb4-9925-0d28f9abf47a</id>
   550 			<text>the „good quality code“ is defined by the project and might involve code style, idioms, design patterns, software architecture, required tests, documentation etc.</text>
   645 			<text>the „good quality code“ is defined by the project and might involve code style, idioms, design patterns, software architecture, required tests, documentation etc.</text>
       
   646 			<link>
       
   647 				<url>https://www.gnu.org/prep/maintain/maintain.html#Clean-Ups</url>
       
   648 				<type>compatible</type>
       
   649 				<title>Information for Maintainers of GNU Software: Cleaning Up Changes</title>
       
   650 				<quotation>Don’t feel obligated to include every change that someone asks you to include. You must judge which changes are improvements—partly based on what you think the users will like, and partly based on your own judgment of what is better. If you think a change is not good, you should reject it.</quotation>
       
   651 			</link>
   551 		</item>
   652 		</item>
   552 		<item>
   653 		<item>
   553 			<id>b0022cea-4caf-4663-ae24-5fc5da31333b</id>
   654 			<id>b0022cea-4caf-4663-ae24-5fc5da31333b</id>
   554 			<text>such requirements and rules should be available to the contributor before he begins; however (especially smaller) projects might communicate such code quality requirements and provide consultations and guidance during the contribution</text>
   655 			<text>such requirements and rules should be available to the contributor before he begins; however (especially smaller) projects might communicate such code quality requirements and provide consultations and guidance during the contribution</text>
   555 			<link>
   656 			<link>
   572 				<text>to sign a contract (which includes accepting „Terms and conditions“) with any particular third party (e.g. source code hosting provider)</text>
   673 				<text>to sign a contract (which includes accepting „Terms and conditions“) with any particular third party (e.g. source code hosting provider)</text>
   573 			</item>
   674 			</item>
   574 			<item>
   675 			<item>
   575 				<id>af6a589f-d419-483f-b7b2-07b6e9da3924</id>
   676 				<id>af6a589f-d419-483f-b7b2-07b6e9da3924</id>
   576 				<text>to sign any political, religious or other proclamation or agree with it</text>
   677 				<text>to sign any political, religious or other proclamation or agree with it</text>
       
   678 				<link>
       
   679 					<url>https://www.gnu.org/prep/maintain/maintain.html#Other-Politics</url>
       
   680 					<type>compatible</type>
       
   681 					<title>Information for Maintainers of GNU Software: Other Politics</title>
       
   682 					<quotation>A GNU package should not seriously advocate any other political causes. Not that the GNU Project opposes those other causes. Rather, it is neutral on them, and GNU packages should be neutral too. </quotation>
       
   683 				</link>
   577 			</item>
   684 			</item>
   578 		</item>
   685 		</item>
   579 		<item>
   686 		<item>
   580 			<id>b4319392-8d6a-4f07-8a94-7ae2ed97c787</id>
   687 			<id>b4319392-8d6a-4f07-8a94-7ae2ed97c787</id>
   581 			<text>in order to contribute, it might be required:</text>
   688 			<text>in order to contribute, it might be required:</text>
   588 				<text>or use similar decentralized technology which has open standard and free software implementations</text>
   695 				<text>or use similar decentralized technology which has open standard and free software implementations</text>
   589 			</item>
   696 			</item>
   590 			<item>
   697 			<item>
   591 				<id>d7a94eba-efd6-471f-9c32-6ee9d3b8ab29</id>
   698 				<id>d7a94eba-efd6-471f-9c32-6ee9d3b8ab29</id>
   592 				<text>to assign the copyright to the project and grant a free license for all patents relevant to the contribution</text>
   699 				<text>to assign the copyright to the project and grant a free license for all patents relevant to the contribution</text>
       
   700 				<link>
       
   701 					<url>https://www.gnu.org/prep/maintain/maintain.html#Copyright-Papers</url>
       
   702 					<type>related</type>
       
   703 					<title>Information for Maintainers of GNU Software: Copyright Papers</title>
       
   704 					<quotation>When copyright is assigned to the FSF, the FSF can act to stop GPL violations about the package. Otherwise, legal actions are up to the author(s).</quotation>
       
   705 				</link>
   593 			</item>
   706 			</item>
   594 		</item>
   707 		</item>
   595 		<item>
   708 		<item>
   596 			<id>e394c792-8294-4f15-a356-89cd0a7aa255</id>
   709 			<id>e394c792-8294-4f15-a356-89cd0a7aa255</id>
   597 			<text>the project should record all accepted contributions and maintain a public list of all authors/contributors</text>
   710 			<text>the project should record all accepted contributions and maintain a public list of all authors/contributors</text>
       
   711 			<link>
       
   712 				<url>https://www.gnu.org/prep/maintain/maintain.html#Recording-Contributors</url>
       
   713 				<type>compatible</type>
       
   714 				<title>Information for Maintainers of GNU Software: Recording Contributors</title>
       
   715 				<quotation>Keep correct records of which portions were written by whom.</quotation>
       
   716 			</link>
   598 		</item>
   717 		</item>
   599 		<item>
   718 		<item>
   600 			<id>b5a128a2-31d9-49df-890c-59a770f7afa9</id>
   719 			<id>b5a128a2-31d9-49df-890c-59a770f7afa9</id>
   601 			<text>the contributor must not loose the right to use or distribute the contributed code under any license (of his choice)</text>
   720 			<text>the contributor must not loose the right to use or distribute the contributed code under any license (of his choice)</text>
   602 		</item>
   721 		</item>