443 <text>The metric system should be used as default.</text> |
443 <text>The metric system should be used as default.</text> |
444 </item> |
444 </item> |
445 </chapter> |
445 </chapter> |
446 |
446 |
447 <chapter> |
447 <chapter> |
448 <name>Communication channels</name> |
448 <name>Communication with users and developers</name> |
449 <id>a931dcbb-8043-4e21-838f-8e8122bb8af3</id> |
449 <id>a931dcbb-8043-4e21-838f-8e8122bb8af3</id> |
450 <item> |
450 <item> |
451 <id>fff90688-907e-48eb-a48a-2ae6d6b42f0a</id> |
451 <id>fff90688-907e-48eb-a48a-2ae6d6b42f0a</id> |
452 <text>use RSS/Atom or other machine readable format for:</text> |
452 <text>Following information should be provided in RSS/Atom or other machine readable format:</text> |
453 <item> |
453 <text>announcements (security, new versions, infrastructure outage),</text> |
454 <id>ce9ffd67-627b-4067-ae34-f56ffbcac972</id> |
454 <text>blog posts, tutorials</text> |
455 <text>security announcements</text> |
455 <text>and AFK events (e.g. conferences, meetings or hackatons).</text> |
456 </item> |
456 <note>for calendar data iCal format is strongly recommended</note> |
457 <item> |
|
458 <id>f4c0b757-1fee-4d6d-8b30-808b4787fb5e</id> |
|
459 <text>new version announcements</text> |
|
460 </item> |
|
461 <item> |
|
462 <id>b17dbc84-4119-4706-acd8-61421a384246</id> |
|
463 <text>infrastructure outage announcements</text> |
|
464 </item> |
|
465 <item> |
|
466 <id>f3063520-5e7a-4aa0-95f6-505775556120</id> |
|
467 <text>blog, documentation, how-tos etc.</text> |
|
468 </item> |
|
469 <item> |
|
470 <id>e2434bd6-c838-479a-a636-f277003ebe7c</id> |
|
471 <text>AFK events (conferences, meetings, hackatons etc.), for calendar data iCal format is strongly recommended</text> |
|
472 </item> |
|
473 </item> |
457 </item> |
474 <item> |
458 <item> |
475 <id>e8b18e02-d7b2-4584-8eee-dbaf823f6800</id> |
459 <id>e8b18e02-d7b2-4584-8eee-dbaf823f6800</id> |
476 <text>mailing list</text> |
460 <text>A mailing list (e-mail conference) or other equivalently open and decentralized technology should be used for the many-to-many communication.</text> |
477 </item> |
461 <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> |
478 <item> |
|
479 <id>a35328fe-a177-4d6a-a3d2-2cc8fa0cb6f7</id> |
|
480 <text>e-mail/SMTP</text> |
|
481 <item> |
|
482 <id>f40e9a23-b2ca-4052-949e-f4358844f5a2</id> |
|
483 <text>use TLS</text> |
|
484 </item> |
|
485 <item> |
|
486 <id>bc444281-5c76-43a9-b5ef-46306cbb2bf9</id> |
|
487 <text>use DKIM/ADSP</text> |
|
488 </item> |
|
489 <item> |
|
490 <id>a2852409-806f-480c-8700-141ace86f322</id> |
|
491 <text>use signed and encrypted messages (GnuPG or X.509)</text> |
|
492 </item> |
|
493 <item> |
|
494 <id>da2b84bd-a20d-4e76-af14-740a7c9ccfb3</id> |
|
495 <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> |
|
496 </item> |
|
497 </item> |
|
498 <item> |
|
499 <id>ec4c92b6-83e5-4051-9aef-fa7d02e292b8</id> |
|
500 <text>Jabber MUC or IRC</text> |
|
501 </item> |
|
502 <item> |
|
503 <id>f50d17bd-701f-45f9-aae4-86bfcf34cd7c</id> |
|
504 <text>discussion forum</text> |
|
505 </item> |
462 </item> |
506 <item> |
463 <item> |
507 <id>e746eb5b-8d8b-4ec8-9315-a311f35e156a</id> |
464 <id>e746eb5b-8d8b-4ec8-9315-a311f35e156a</id> |
508 <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> |
465 <text>Users must not be pushed to register at a proprietary social networks resp. at particular providers of such services.</text> |
509 </item> |
466 <text>Users without such account must not be disadvantaged – use open and decentralized networks/protocols instead.</text> |
510 <item> |
|
511 <id>a1a3c037-37e3-4283-abab-e275f7d17442</id> |
|
512 <text>Q&A tool + FAQ</text> |
|
513 </item> |
467 </item> |
514 <item> |
468 <item> |
515 <id>ff537045-819e-4dec-a020-d2c9f2c3292b</id> |
469 <id>ff537045-819e-4dec-a020-d2c9f2c3292b</id> |
516 <text>there should be a second-level internet domain for the project or its team</text> |
470 <text>There should be a second-level internet domain for the project or its team.</text> |
517 </item> |
471 <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> |
518 <item> |
|
519 <id>b54d4978-974b-4743-bdba-7d4957bc9ba7</id> |
|
520 <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> |
|
521 </item> |
472 </item> |
522 <item> |
473 <item> |
523 <id>a1141312-5177-4d68-bb14-fce952d542c3</id> |
474 <id>a1141312-5177-4d68-bb14-fce952d542c3</id> |
524 <text>URLs should be as stable as possible (do not break old links, set up redirections if needed)</text> |
475 <text>URLs should be as stable as possible – accessible in next decade.</text> |
|
476 <note>Do not break old links, set up redirections if needed.</note> |
525 </item> |
477 </item> |
526 <item> |
478 <item> |
527 <id>c5b6d3d7-2f1f-4371-acfa-d6af1588c2cb</id> |
479 <id>c5b6d3d7-2f1f-4371-acfa-d6af1588c2cb</id> |
528 <text>the website must be independent and must contain everything needed – any content (JavaScripts, CSS, fonts, images etc.) downloaded from other domains must not be required to browse/use the website</text> |
480 <text>The website must be independent and must contain everything needed – any content (JavaScripts, CSS, fonts, images etc.) downloaded from other domains must not be required to browse/use the website.</text> |
529 </item> |
481 <note>Embedded content from the third-party servers causes leaks of sensitive data (tracking of the users) and also denies decentralized nature of the internet.</note> |
530 <item> |
482 </item> |
531 <id>c1d9052d-dfe5-4fce-a82c-d618dc4689fa</id> |
483 <item> |
532 <text>authors should publish their public keys (GnuPG/OpenPGP or X.509)</text> |
484 <id>d5fbcc9e-a12c-44ce-909b-f514a579ab7e</id> |
|
485 <text>JavaScript or other code executed on client computers must be also free software with properly declared license.</text> |
|
486 <note>see https://www.gnu.org/software/librejs/</note> |
533 </item> |
487 </item> |
534 <item> |
488 <item> |
535 <id>c89e8699-574c-4b28-9f65-6284d6051f68</id> |
489 <id>c89e8699-574c-4b28-9f65-6284d6051f68</id> |
536 <text>crpyptographically secured e-mail address or web form for receiving security vulnerabilities report</text> |
490 <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> |
537 </item> |
491 <note>Particular authors should publish their public keys.</note> |
538 <item> |
492 <note>Every security incident must be clearly documented and investigated – do not obscure it.</note> |
539 <id>b6cf8d5f-0fc9-46f7-8e38-8342a1229037</id> |
|
540 <text>every security incident must be clearly documented and investigated – do not obscure it</text> |
|
541 </item> |
|
542 <item> |
|
543 <id>e41134a4-715c-4926-a7df-01ff3759eda1</id> |
|
544 <text>There should be public directory of extensions/scripts.</text> |
|
545 </item> |
493 </item> |
546 <item> |
494 <item> |
547 <id>fed07648-106a-4b7c-9026-509c82109448</id> |
495 <id>fed07648-106a-4b7c-9026-509c82109448</id> |
548 <text>Source code repository (versioning system) must be public. Do not publish just source code snapshots of released versions.</text> |
496 <text>Source code repository (versioning system) must be public. Do not publish just source code snapshots of released versions.</text> |
549 </item> |
497 </item> |