Hello community, tl;dr Support for open standards, software transparency, respect for user privacy … KDE/FOSS already fulfill the user autonomy criteria for obtaining the German eco-label Blauer Engel for desktop software. This long-from post details some easy-to-fill documentation gaps to help obtain eco-certification for free software. This text will eventually become a blog post with the launch of the eco.kde.org website.
Overview: The Blauer Engel user autonomy criteria for desktop software cover eight general areas which may require additional community documentation: 1. Data formats (e.g., supported data formats) 2. Transparency (e.g., API, source code, license) 3. Continuity of support (e.g., release schedule, security updates) 4. Uninstallability (e.g., how to completely uninstall) 5. Offline capability (e.g., is network connection required) 6. Modularity (e.g., user choice in what is installed) 7. Freedom from advertizing (e.g., user choice in ads) 8. Documentation (e.g., data import/export, privacy policy, etc.) https://produktinfo.blauer-engel.de/uploads/criteriafile/en/DE-UZ%20215-202001-en-Criteria-2020-02-13.pdf See below for more details! Feedback, comments, questions? Please join our energy efficiency mailing list and Matrix room or ask a question at the KDE Eco forum ... or contact me directly! Mailing list: https://mail.kde.org/cgi-bin/mailman/listinfo/energy-efficiency Matrix: https://webchat.kde.org/#/room/#energy-efficiency:kde.org Forum: https://forum.kde.org/viewforum.php?f=334 Cheers, Joseph KDE Eco: Building Energy-Efficient Free Software! --- Joseph P. De Veaugh-Geiss BE4FOSS Project and Community Manager (KDE Eco) Table of Contents ───────────────── 1 Background 2 User Autonomy Criteria .. 2.1 Data Formats .. 2.2 Transparency of the software product .. 2.3 Continuity of support .. 2.4 Uninstallability .. 2.5 Offline capability .. 2.6 Modularity .. 2.7 Freedom from advertising .. 2.8 Documentation 3 References .. 3.1 Blauer Engel Examples .. 3.2 Links 1 Background ════════════ At the last KDE Eco community meetup [1] Cornelius reiterated the point that free software is particularly well-positioned for fulfilling the *user autonomy* criteria for Blauer Engel eco-certification. Support for open standards, software transparency, respect for user privacy … KDE/FOSS already meet the requirements of these criteria! Because our community may take for granted that free software respects user autonomy, in some cases this information is missing from the manuals, wikis, etc. So I thought I would write up a brief overview of the user autonomy criteria, with a particular focus on easy-to-fill documentation gaps. Want to help? Let's fill out the documentation in cases when the following information is missing, including, for instance: • Which open data formats are supported? • How does one uninstall an application? • Can the application be used offline? • Are ads displayed when using the software? • And so on. The KDE/FOSS community knows our software respects its users, now let's make sure everyone else knows it too! 2 User Autonomy Criteria ════════════════════════ User autonomy (§ 3.1.3) is one of three main categories for obtaining the Blauer Engel eco-label [2], the other two being resource & energy efficiency and potential hardware operating life. The user autonomy criteria cover 8 general areas: 1. Data formats (§ 3.1.3.1) 2. Transparency (§ 3.1.3.2) 3. Continuity of support (§ 3.1.3.3) 4. Uninstallability (§ 3.1.3.4) 5. Offline capability (§ 3.1.3.5) 6. Modularity (§ 3.1.3.6) 7. Freedom from advertising (§ 3.1.3.7) 8. Documentation (§ 3.1.3.8) In the above, I have added section numbers from the award criteria in parentheses for easy reference. Note that this is not an exhaustive presentation of the Blauer Engel criteria; rather, I want to focus on aspects of the criteria which we can easily fill out in KDE/FOSS documentation. 2.1 Data Formats ──────────────── The main information to include in KDE/FOSS documentation: • Which (open) data formats are supported (with links to specifications, e.g., PDF: https://www.iso.org/standard/51502.html)? • Also potentially of interest: Are there examples of other software products that process these data formats? For an example of the online documentation of supported data formats for Okular, see https://okular.kde.org/formats/. For an example of documentation in a Blauer Engel application, see https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-4-okular.md. 2.2 Transparency of the software product ──────────────────────────────────────── When missing, links to documentation of the API, source code, and license. For the sake of example, for KMail: • KDE PIM API documentation: https://api.kde.org/kdepim/index.html • Source code: https://invent.kde.org/pim/kmail • License: https://invent.kde.org/pim/kmail/-/blob/master/LICENSES For an example of documentation in a Blauer Engel application, see https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/kmail/de-uz-215-eng-annex-5-kmail.md. 2.3 Continuity of support ───────────────────────── Examples of details about continuity of support to add to documentation: • Information about how long the software has been supported for (with links to release announcements) • Release schedule and details (e.g., who maintains the software) • Statement that updates are free of charge • Declaration on how the free and open source software license enables continuous support indefinitely • Information about whether, and how, functional and security updates may be installed separately An example of Okular's continuity of support documentation for Blauer Engel certification can be found in Section 3.1.3.3 here: https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-6-okular.md. 2.4 Uninstallability ──────────────────── How can one completely uninstall the software? Relevant details may include: • Uninstallation depends on how the software was installed (source code or binary) • Examples of uninstallation instructions (source code or package managers, with relevant links to documentation) • Information about whether user-generated data is also removed when uninstalling a program An example of Okular's uninstallability documentation for Blauer Engel certification can be found in Section 3.1.3.4 here: https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-6-okular.md. 2.5 Offline capability ────────────────────── This could be one of the easiest areas to document (alongside freedom from advertising; see below): Does the software require external connections such as a license server in order to run? If not, no network connection is needed and the software is capable of offline usage, and this should be documented. An example of Okular's offline capability documentation for Blauer Engel certification can be found in Section 3.1.3.5 here: https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-6-okular.md. 2.6 Modularity ────────────── Information to document includes: • What aspects of the software are modular and can be deactivated during installation? • For instance, can the software manuals or translations be installed separately? • Are any modules unrelated to the core functionality of the software included with installation, such as tracking modules or cloud integration? If not, let's document it! An example of Okular's modularity documentation for Blauer Engel certification can be found in Section 3.1.3.6 here: https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-6-okular.md. 2.7 Freedom from advertising ──────────────────────────── If the software does not display advertising, let's make this explicit in our manuals and wikis. 2.8 Documentation ───────────────── This includes the following: • General process for installing/uninstalling the software? May include generic instructions or tutorials for a specific desktop environment or package manager. • Data import/export process? • What can users do to reduce the use of resources (e.g., configuration options for improving performance)? • Does the software have any resource-intensive functionality not necessary for the core functionality? If not, let's tell people! • Licensing terms related to further development of the software products, with links to source code and license? • Who supports the development of the software? • Does the software collect any personal data? Is is compliant with existing data protection laws? If yes, document it! • What is the privacy policy? Is there telemetry, and if yes, how does the software handle data security, data collection, and data transmission? Also, are there ads or tracking embedded in the software? If not, excellent, now let everyone else know! An example of Okular's product documentation for Blauer Engel certification can be found in Section 3.1.3.8 here: https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-6-okular.md. 3 References ════════════ 3.1 Blauer Engel Examples ─────────────────────────── Below are examples of Blauer Engel documentation for KMail and Okular. • Annex 4: Data Formats (Section 2.1) ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/kmail/de-uz-215-eng-annex-4-kmail.md ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-4-okular.md • Annex 5: Open Standards (Transparency Section 2.2) ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/kmail/de-uz-215-eng-annex-5-kmail.md ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-5-okular.md • Annex 6: Product Information (Sections 2.3–2.8) ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/kmail/de-uz-215-eng-annex-6-kmail.md ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-6-okular.md • See also Annex 1 ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/kmail/de-uz-215-eng-annex-1-kmail.docx ⁃ https://invent.kde.org/cschumac/blue-angel-application/-/blob/master/ applications/okular/de-uz-215-eng-annex-1-okular.docx 3.2 Links ───────── [1] Minutes of the community meetup on 9 September 2021: https://invent.kde.org/joseph/be4foss/-/blob/master/community-meetups/ 2021-09-09_community-meetup_minutes.md [2] See Section 3.1.3 in Resource and Energy-Efficient Software Products 2020: https://produktinfo.blauer-engel.de/uploads/criteriafile/en/DE-UZ%20215-202001-en-Criteria-2020-02-13.pdf