Let's document user autonomy! | Blauer Engel 4 FOSS (KDE Eco)

Joseph P. De Veaugh-Geiss joseph at kde.org
Tue Sep 21 14:25:47 BST 2021


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





More information about the Kde-eco-discuss mailing list