Repository: w3c/sustyweb
Branch: main
Commit: 5b8defe30e82
Files: 16
Total size: 109.8 KB
Directory structure:
gitextract_qd2v8w_j/
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── Web_Sustainability_GRI_Impact_est.ipynb
├── glance.html
├── ig/
│ ├── charter.html
│ └── wg-charter.html
├── index.html
├── intro.html
├── policies.html
├── quickref.html
├── star.html
├── w3c.json
└── wg/
└── charter.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.DS_Store
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Code of Conduct
All documentation, code and communication under this repository are covered by the [W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/).
================================================
FILE: CONTRIBUTING.md
================================================
> [!WARNING]
> This Community Group's activities are now under the direction of the [W3C Sustainable Web Interest Group](https://www.w3.org/groups/ig/sustainableweb/). This includes the curation of the [Web Sustainability Guidelines](https://www.w3.org/TR/web-sustainability-guidelines/). Thank you for supporting us as we reached this stage in our journey and we hope you will continue to support our work as it develops at our new home (where you are welcome to get involved).
>
> **Note:** If you are seeking an archived draft of our CG reports, please go to our [releases](https://github.com/w3c/sustyweb/releases) page and download the Source code (zip archive) for the assets of a particular version you wish to see.
# Contributing
This repository is being used for work in the **W3C Sustainable Web Design Community Group**, governed by the [W3C Community License
Agreement (CLA)](http://www.w3.org/community/about/agreements/cla/). To make substantive contributions,
you must join the [CG](https://www.w3.org/community/sustyweb/).
## Overview
This repository is used to develop content for the Web Sustainability Guidelines (WSGs), as well as any supplementary documents.
## Collaboration
We welcome content from individuals as well as group efforts and understand that this may pose difficulties for those either unfamiliar with pull requests (on a technical level) or with collaborative efforts (wishing to discuss progress before submitting results). In such cases, members can (if they choose) work with any open format they prefer to collaborate (referring to the specification and its supplements), and submit an issue request containing the URL to the document in question. A moderator (lead or chair) will help translate these requested updates into the living draft specification.
## File Structure
The structure of the repository has been created to ensure ease of maintenance. The base directory contains links to all of the compiled files that are public facing such as the [specification](https://www.w3.org/TR/web-sustainability-guidelines/), [at-a-glance](https://w3c.github.io/sustainableweb-wsg/glance.html), [overview](https://w3c.github.io/sustainableweb-wsg/overview.html), [laws & policies](https://w3c.github.io/sustainableweb-wsg/policies.html), [quick reference](https://w3c.github.io/sustainableweb-wsg/quickref.html), [STAR](https://w3c.github.io/sustainableweb-wsg/star.html), [JSON API](https://w3c.github.io/sustainableweb-wsg/guidelines.json) and other supplements such as our draft Test Suite.
```
/ig/charter.html - Working Group Draft Charter
glance.html - READ ONLY - At-A-Glance (Public)
index.html - READ ONLY - WSG Specification (Public)
intro.html - READ ONLY - Summary (Public)
overview.pdf - READ ONLY - Project Progress Tracker (Public)
policies.html - READ ONLY - Laws & Policies (Public)
quickref.html - READ ONLY - Quick Reference (Public)
star.html - READ ONLY - STAR (Public)
TPAC_Slides.pdf - READ ONLY - W3C TPAC Slides
Web_Sustainability_GRI_Impact_est.ipynb - READ ONLY - GRI Impact Calculator
```
When you contribute to our repo, you **MUST** only make changes to documents within the "ig" folders (the sources). Once a PR submission has been reviewed by our group (for quality control purposes), it will either be accepted, or rejected, or further discussion will be required (an issue can be raised for example). Once a PR has been accepted it will be visible within the living draft documents immediately. When enough issues have been collated to warrant a release publication, the necessary documents will be exported through ReSpec into their final HTML form and will replace their static namesakes in the base directory to be versioned as the next public release. Release notes will also be generated by a chair who will verify all submissions before publication.
You will notice duplication within the content of our work (as the JSON API for example must reflect the specification). This work is not auto-generated so while we appreciate it if individuals choose to make adjustments to all affected files as required, time commitments may not allow for everyone to do so. As such, if you can only update a single document, as part of the approval process, a moderator (lead or chair) will update all necessary documents to ensure parity with your change.
## Pull Requests
If you would like to contribute towards this specification, our primary method is through Pull Requests (PRs).
Pull requests (PRs) should be made against the main branch.
If you are not the sole contributor to a contribution (pull request), please identify all contributors in the pull request comment.
To add a contributor (other than yourself, that's automatic), mark them one per line as follows:
```
+@github_username
```
If you added a contributor by mistake, you can remove them in a comment with:
```
-@github_username
```
If you are making a pull request on behalf of someone else but you had no part in designing the feature, you can remove yourself with the above syntax.
## Issues
If you cannot submit a pull request, or if you cannot provide a direct solution, the preferred method is to create a [new issue](https://github.com/w3c/sustyweb/issues/new) with your public comments. You can also comment on any issue threads on [Github Issues](https://github.com/w3c/sustyweb/issues/). You could provide comments on technical errors (bugs) you have uncovered, new guidelines or success criteria you believe should be added, questions you have about existing or future content or an idea for a direction or feature we could utilize.
Please check that your question hasn't already been posted first, and provide as much detail as possible (if you have a solution or content to add, it would be very helpful). We're all volunteers so please keep this in mind and try to be civil when commenting about our work.
If filing issues in GitHub is not feasible, email our open discussion group [public-sustyweb@w3.org](public-sustyweb@w3.org) ([comment archive](https://lists.w3.org/Archives/Public/public-sustyweb/)).
## Credit
All contributors will receive credit (in the specification and our GitHub release notes) if their feedback and ideas make it into the document. Certain exclusions will apply such as those who do not provide their full names or those whose feedback is deemed as invalid, duplicate, or general questions that don't add to the specification or its supplements.
================================================
FILE: LICENSE.md
================================================
All Reports in this Repository are licensed by Contributors
under the
[W3C Software and Document License](http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document).
Contributions to Specifications are made under the
[W3C CLA](https://www.w3.org/community/about/agreements/cla/).
Contributions to Test Suites are made under the
[W3C 3-clause BSD License](https://www.w3.org/Consortium/Legal/2008/03-bsd-license.html)
================================================
FILE: README.md
================================================
> [!WARNING]
> This Community Group's activities are now under the direction of the [W3C Sustainable Web Interest Group](https://www.w3.org/groups/ig/sustainableweb/). This includes the curation of the [Web Sustainability Guidelines](https://www.w3.org/TR/web-sustainability-guidelines/). Thank you for supporting us as we reached this stage in our journey and we hope you will continue to support our work as it develops at our new home (where you are welcome to get involved).
>
> **Note:** If you are seeking an archived draft of our CG reports, please go to our [releases](https://github.com/w3c-cg/sustyweb/releases) page and download the Source code (zip archive) for the assets of a particular version you wish to see.
# Web Sustainability Guidelines (WSGs)
Welcome to the repository for the [Sustainable Web Design Community Group](https://www.w3.org/community/sustyweb/).
In this hub, you will find the draft specification for our [Web Sustainability Guidelines](https://www.w3.org/TR/web-sustainability-guidelines/) and any supplementary documentation, including [Sustainable Tooling And Reporting (STAR)](https://w3c.github.io/sustainableweb-wsg/star.html), our [at-a-glance](https://w3c.github.io/sustainableweb-wsg/glance.html), our [summary](https://w3c.github.io/sustainableweb-wsg/summary.html) of Web Sustainability, our sustainability [laws & policies](https://w3c.github.io/sustainableweb-wsg/policies.html) guide, our [quick reference](https://w3c.github.io/sustainableweb-wsg/quickref.html) sheet, our [PDF checklist](https://w3c.github.io/sustainableweb-wsg/checklist.pdf), our [JSON API](https://w3c.github.io/sustainableweb-wsg/guidelines.json), and our [Test Suite](https://github.com/w3c/sustainableweb-wsg/tree/main/test-suite). We also have a living implementation of the specification under active development called [Sustainable Web Design](https://sustainablewebdesign.org/).
If you would like a brief introduction to both our group and our specification, you may find [the slides](https://w3c-cg.github.io/sustyweb/TPAC_Slides.pdf) from the presentation we gave at [TPAC 2023](https://www.w3.org/2023/09/breakouts/recording-32.html) useful. To learn more about our group, its goals, and our progress, check out our [wiki](https://www.w3.org/community/sustyweb/wiki/Main_Page), and [frequently asked questions](https://www.w3.org/community/sustyweb/wiki/Frequently_Asked_Questions) page.
---
## Progress
Work is planned in accordance with our [overview](https://w3c-cg.github.io/sustyweb/overview.pdf) of the [issues](https://github.com/w3c-cg/sustyweb/issues) requiring resolution. Each [milestone](https://github.com/w3c-cg/sustyweb/milestones) corresponds to a [release](https://github.com/w3c-cg/sustyweb/releases) published.
**Note:** W3C member feedback on our initial [proposed Working Group charter](https://w3c-cg.github.io/sustyweb/ig/wg-charter.html) has lead to many [proposed and planned](https://docs.google.com/presentation/d/1dcuSMLcAF8jTHNCovOfs31zrjCr3rtrwzTXRLSy3lAk/edit?usp=sharing) updates.
View current Interest Group chartering efforts:
* The [Current AC Poll](https://www.w3.org/2002/09/wbs/33280/SustyWeb/). (W3C Members Only)
* Our [Proposed charter](https://www.w3.org/2024/09/sustyweb-charter-202409.html). (Feedback Welcome)
* The latest [editor's draft](https://w3c-cg.github.io/sustyweb/ig/charter.html) of our charter. ([DIFF Changelog](https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fwww.w3.org%2F2024%2F09%2Fsustyweb-charter-202409.html&doc2=https%3A%2F%2Fw3c-cg.github.io%2Fsustyweb%2Fig%2Fcharter.html))
---
## Contributing
If you would like to contribute towards this specification, please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) document for details. It contains detailed information on pull requests (PRs), submitting issues, and other methods of feedback in relation to this repository.
**Note:** Please make your pull requests (including any changes or edits) against files **ONLY** located within the "drafts" or "ig" folders. Also, to make substantive contributions,
you must join the [CG](https://www.w3.org/community/sustyweb/).
You can also contribute at our monthly meetings. For details, see our [calendar](https://www.w3.org/groups/cg/sustyweb/calendar/) and [meeting minutes](https://docs.google.com/document/d/1nrdxfB076c-91GEDFnZF3wb73QqjJ7rmCVVQiKRNnuY/edit).
---
## JSON API
We have a [JSON API](https://w3c.github.io/sustainableweb-wsg/guidelines.json) which is kept in sync with the changes occurring within our specification.
This document is reachable via GitHub pages and can be queried using JavaScript to embed our data within your client of choice.
The structure of the API is identical to that of the specification in its numbering scheme:
`category[1][0].guideline = "Undertake Systemic Impacts Mapping"`
---
## Test Suite
We have a [Test Suite](https://github.com/w3c/sustainableweb-wsg/tree/main/test-suite) which is used to showcase machine testability (as denoted in [STAR](https://w3c.github.io/sustainableweb-wsg/star.html)) for the Web Sustainability Guidelines (WSGs). The template structure for the file uses common W3C conventions for test cases to maintain interoperability for tooling that wishes to align our work with their own.
Key concepts of note include:
- Each title element contains a short identifier for the test.
- The rel="author" link element contains details of who created that test.
- The rel="help" link element links to the WSG guideline it relates to.
- The name="flags" meta element identifies any requirements the test may have such as an external file (**asset**), scripting (**JavaScript**), user-involvement (**interaction**), or if it's trying to disprove something (**invalid**).
- The name="assert" meta tag explains which **STAR** technique it relates to by title.
- The conditions of passing are what requirements are necessary to pass the technique (and thus the success criteria).
================================================
FILE: Web_Sustainability_GRI_Impact_est.ipynb
================================================
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyNeRiUVova28Sct86LUdj6F",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/github/w3c/sustyweb/blob/main/Web_Sustainability_GRI_Impact_est.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"This notebook tries to assess environmental impact of W3C Sustainable Web recommendations across a number of categories aligned with GRI reporting.\n",
"\n",
"As an input it takes a spreadsheet with recommendations and their indicators of impact on reduction of server resource usage, network transfer and end user device usage.\n",
"Then it takes data from greenIT.fr report which estimates environmental impact of above categories across material use, water use, energy use and GHG emissions.\n",
"It then combines these datasets and estimates comparative impact of given recomendation on different sections of GRI taxonomy."
],
"metadata": {
"id": "LAiULQzYwhvj"
}
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "p2ZlWXdNbTKj"
},
"outputs": [],
"source": [
"import gspread\n",
"import pandas as pd\n",
"from google.colab import auth\n",
"from google.colab import files\n",
"from google.auth import credentials\n",
"from google.auth import default\n",
"\n"
]
},
{
"cell_type": "code",
"source": [
"# All the recommendations in the spreadsheet are scored in terms of their impact on end user devices, network and servers in data centre\n",
"# Scores are from 0 to MAX_THRESHOLD, by default 2\n",
"# If maximum score in the spreadsheet is changed, it needs to updated here\n",
"MAX_THRESHOLD = 2\n",
"\n",
"# Labels to be assigned to metrics\n",
"labels = {'Low': MAX_THRESHOLD / 3 ,\n",
" 'Moderate': MAX_THRESHOLD / 3 * 2,\n",
" 'High': MAX_THRESHOLD }\n",
"\n",
"# Set to missing if assessment undefined\n",
"MISSING = 'Missing'"
],
"metadata": {
"id": "NaYxpRteOqam"
},
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# Auth and read the spreadsheet into pandas\n",
"auth.authenticate_user()\n",
"creds, _ = default()\n",
"gc = gspread.authorize(creds)\n",
"\n",
"sheet_url = 'https://docs.google.com/spreadsheets/d/12nGydnSv24fvmvCM-665_pFGPG9u3RgTwe1sCz4eiGk'\n",
"df = pd.read_csv(sheet_url + '/export?gid=0&format=csv', skiprows=[0, 1])\n",
"\n",
"df.head(5)"
],
"metadata": {
"id": "SV8OdvVkbpNf",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"outputId": "a0185329-29e0-4bdb-bd9a-0bcbcaff9a84"
},
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Guideline Spec \\\n",
"0 Undertake Systemic Impacts Mapping UX \n",
"1 Assess And Research Visitor Needs UX \n",
"2 Research Non-visitors Needs UX \n",
"3 Consider Sustainability In Early Ideation UX \n",
"4 Account For Stakeholder Issues UX \n",
"\n",
" Tags Data Centre Network \\\n",
"0 Social Equity\\n Accessibility\\n Ideation\\n Res... 1 1 \n",
"1 Social Equity\\n Accessibility\\n UI\\n Patterns\\... 1 1 \n",
"2 Social Equity\\n Ideation\\n Research\\n Usabilit... 1 1 \n",
"3 UI\\n Ideation\\n Research\\n Software\\n Strategy 0 0 \n",
"4 Social Equity\\n Accessibility\\n Ideation\\n Res... 1 1 \n",
"\n",
" Device Comments \n",
"0 1 NaN \n",
"1 1 NaN \n",
"2 1 NaN \n",
"3 0 NaN \n",
"4 1 NaN "
],
"text/html": [
"\n",
" <div id=\"df-b9be604a-a8ab-444c-bf1d-6851c602001d\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Guideline</th>\n",
" <th>Spec</th>\n",
" <th>Tags</th>\n",
" <th>Data Centre</th>\n",
" <th>Network</th>\n",
" <th>Device</th>\n",
" <th>Comments</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Undertake Systemic Impacts Mapping</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Accessibility\\n Ideation\\n Res...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Assess And Research Visitor Needs</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Accessibility\\n UI\\n Patterns\\...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Research Non-visitors Needs</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Ideation\\n Research\\n Usabilit...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Consider Sustainability In Early Ideation</td>\n",
" <td>UX</td>\n",
" <td>UI\\n Ideation\\n Research\\n Software\\n Strategy</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Account For Stakeholder Issues</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Accessibility\\n Ideation\\n Res...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b9be604a-a8ab-444c-bf1d-6851c602001d')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-b9be604a-a8ab-444c-bf1d-6851c602001d button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-b9be604a-a8ab-444c-bf1d-6851c602001d');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-b8827445-13f4-41a5-bff5-64a50087a206\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-b8827445-13f4-41a5-bff5-64a50087a206')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-b8827445-13f4-41a5-bff5-64a50087a206 button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"source": [
"\n",
"# Impact factors across number of areas split by end user devices, network equipment and data centers\n",
"# Source: GreenIT.fr: https://www.greenit.fr/wp-content/uploads/2019/11/GREENIT_EENM_etude_EN_accessible.pdf\n",
"data = [ [.6, .63, .83, .75]\n",
" , [.23, .22, .09, .16]\n",
" , [.17, .15, .07, .08] ]\n",
"\n",
"factors = pd.DataFrame(data, columns=['Energy', 'Emissions', 'Water', 'Materials'],\n",
" index=['Device', 'Network', 'Data Centre'])\n",
"\n",
"factors.head()\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 142
},
"id": "fesQf4yAd7La",
"outputId": "b9e336c6-5de5-4eca-9419-abbba56596bb"
},
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Energy Emissions Water Materials\n",
"Device 0.60 0.63 0.83 0.75\n",
"Network 0.23 0.22 0.09 0.16\n",
"Data Centre 0.17 0.15 0.07 0.08"
],
"text/html": [
"\n",
" <div id=\"df-ffcdbe42-ce84-408d-9027-3e817d4defb6\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Energy</th>\n",
" <th>Emissions</th>\n",
" <th>Water</th>\n",
" <th>Materials</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Device</th>\n",
" <td>0.60</td>\n",
" <td>0.63</td>\n",
" <td>0.83</td>\n",
" <td>0.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Network</th>\n",
" <td>0.23</td>\n",
" <td>0.22</td>\n",
" <td>0.09</td>\n",
" <td>0.16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Data Centre</th>\n",
" <td>0.17</td>\n",
" <td>0.15</td>\n",
" <td>0.07</td>\n",
" <td>0.08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-ffcdbe42-ce84-408d-9027-3e817d4defb6')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-ffcdbe42-ce84-408d-9027-3e817d4defb6 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-ffcdbe42-ce84-408d-9027-3e817d4defb6');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-035f0964-c0cc-4e8e-82b0-098e1caa2c01\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-035f0964-c0cc-4e8e-82b0-098e1caa2c01')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-035f0964-c0cc-4e8e-82b0-098e1caa2c01 button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"source": [
"# Calculate impacts (numerical)\n",
"\n",
"# GRI-301: Materials\n",
"df['GRI-301'] = df['Data Centre'] * factors['Materials']['Data Centre'] \\\n",
" + df['Network'] * factors['Materials']['Network'] \\\n",
" + df['Device'] * factors['Materials']['Device']\n",
"\n",
"# GRI-302: Enegry\n",
"df['GRI-302'] = df['Data Centre'] * factors['Energy']['Data Centre'] \\\n",
" + df['Network'] * factors['Energy']['Network'] \\\n",
" + df['Device'] * factors['Energy']['Device']\n",
"\n",
"# GRI-303: Water\n",
"df['GRI-303'] = df['Data Centre'] * factors['Water']['Data Centre'] \\\n",
" + df['Network'] * factors['Water']['Network'] \\\n",
" + df['Device'] * factors['Water']['Device']\n",
"\n",
"# GRI-305: Emissions\n",
"df['GRI-305'] = df['Data Centre'] * factors['Emissions']['Data Centre'] \\\n",
" + df['Network'] * factors['Emissions']['Network'] \\\n",
" + df['Device'] * factors['Emissions']['Device']\n",
"\n"
],
"metadata": {
"id": "fWqVehnyb-7I"
},
"execution_count": 5,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# Assign labels to calculated impacts\n",
"# If assessment for a given recommendation is missing it will be set to MISSING\n",
"df['GRI-301 Label'] = df.apply(lambda x: 'Low' if x['GRI-301'] < labels['Low']\n",
" else ('Moderate' if x['GRI-301'] < labels['Moderate']\n",
" else 'High' if x['GRI-301'] <= labels['High']\n",
" else MISSING), axis=1 )\n",
"\n",
"df['GRI-302 Label'] = df.apply(lambda x: 'Low' if x['GRI-302'] < labels['Low']\n",
" else ('Moderate' if x['GRI-302'] < labels['Moderate']\n",
" else 'High' if x['GRI-302'] <= labels['High']\n",
" else MISSING), axis=1 )\n",
"\n",
"df['GRI-303 Label'] = df.apply(lambda x: 'Low' if x['GRI-303'] < labels['Low']\n",
" else ('Moderate' if x['GRI-303'] < labels['Moderate']\n",
" else 'High' if x['GRI-303'] <= labels['High']\n",
" else MISSING), axis=1 )\n",
"\n",
"df['GRI-305 Label'] = df.apply(lambda x: 'Low' if x['GRI-305'] < labels['Low']\n",
" else ('Moderate' if x['GRI-305'] < labels['Moderate']\n",
" else 'High' if x['GRI-305'] <= labels['High']\n",
" else MISSING), axis=1 )\n",
"\n",
"\n",
"df.head()"
],
"metadata": {
"id": "eY6WRm6jQW6A",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 306
},
"outputId": "5fe21fbd-4de5-4a32-f318-dd86d3b6b5f1"
},
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Guideline Spec \\\n",
"0 Undertake Systemic Impacts Mapping UX \n",
"1 Assess And Research Visitor Needs UX \n",
"2 Research Non-visitors Needs UX \n",
"3 Consider Sustainability In Early Ideation UX \n",
"4 Account For Stakeholder Issues UX \n",
"\n",
" Tags Data Centre Network \\\n",
"0 Social Equity\\n Accessibility\\n Ideation\\n Res... 1 1 \n",
"1 Social Equity\\n Accessibility\\n UI\\n Patterns\\... 1 1 \n",
"2 Social Equity\\n Ideation\\n Research\\n Usabilit... 1 1 \n",
"3 UI\\n Ideation\\n Research\\n Software\\n Strategy 0 0 \n",
"4 Social Equity\\n Accessibility\\n Ideation\\n Res... 1 1 \n",
"\n",
" Device Comments GRI-301 GRI-302 GRI-303 GRI-305 GRI-301 Label \\\n",
"0 1 NaN 0.99 1.0 0.99 1.0 Moderate \n",
"1 1 NaN 0.99 1.0 0.99 1.0 Moderate \n",
"2 1 NaN 0.99 1.0 0.99 1.0 Moderate \n",
"3 0 NaN 0.00 0.0 0.00 0.0 Low \n",
"4 1 NaN 0.99 1.0 0.99 1.0 Moderate \n",
"\n",
" GRI-302 Label GRI-303 Label GRI-305 Label \n",
"0 Moderate Moderate Moderate \n",
"1 Moderate Moderate Moderate \n",
"2 Moderate Moderate Moderate \n",
"3 Low Low Low \n",
"4 Moderate Moderate Moderate "
],
"text/html": [
"\n",
" <div id=\"df-34dd6afa-bbc4-4729-a84b-3fe1a8135d49\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Guideline</th>\n",
" <th>Spec</th>\n",
" <th>Tags</th>\n",
" <th>Data Centre</th>\n",
" <th>Network</th>\n",
" <th>Device</th>\n",
" <th>Comments</th>\n",
" <th>GRI-301</th>\n",
" <th>GRI-302</th>\n",
" <th>GRI-303</th>\n",
" <th>GRI-305</th>\n",
" <th>GRI-301 Label</th>\n",
" <th>GRI-302 Label</th>\n",
" <th>GRI-303 Label</th>\n",
" <th>GRI-305 Label</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Undertake Systemic Impacts Mapping</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Accessibility\\n Ideation\\n Res...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Assess And Research Visitor Needs</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Accessibility\\n UI\\n Patterns\\...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Research Non-visitors Needs</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Ideation\\n Research\\n Usabilit...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Consider Sustainability In Early Ideation</td>\n",
" <td>UX</td>\n",
" <td>UI\\n Ideation\\n Research\\n Software\\n Strategy</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>Low</td>\n",
" <td>Low</td>\n",
" <td>Low</td>\n",
" <td>Low</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Account For Stakeholder Issues</td>\n",
" <td>UX</td>\n",
" <td>Social Equity\\n Accessibility\\n Ideation\\n Res...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>0.99</td>\n",
" <td>1.0</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" <td>Moderate</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-34dd6afa-bbc4-4729-a84b-3fe1a8135d49')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-34dd6afa-bbc4-4729-a84b-3fe1a8135d49 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-34dd6afa-bbc4-4729-a84b-3fe1a8135d49');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-af207b48-bb84-4a61-b4b5-1218ea191174\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-af207b48-bb84-4a61-b4b5-1218ea191174')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-af207b48-bb84-4a61-b4b5-1218ea191174 button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"source": [
"# Save to excel and download locally\n",
"\n",
"df.to_excel('Recommendations scored.xlsx')\n",
"\n",
"files.download('Recommendations scored.xlsx')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 17
},
"id": "5FtienoEvf7_",
"outputId": "a825f255-4104-4e6a-932f-7ae4fd6c78ef"
},
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<IPython.core.display.Javascript object>"
],
"application/javascript": [
"\n",
" async function download(id, filename, size) {\n",
" if (!google.colab.kernel.accessAllowed) {\n",
" return;\n",
" }\n",
" const div = document.createElement('div');\n",
" const label = document.createElement('label');\n",
" label.textContent = `Downloading \"${filename}\": `;\n",
" div.appendChild(label);\n",
" const progress = document.createElement('progress');\n",
" progress.max = size;\n",
" div.appendChild(progress);\n",
" document.body.appendChild(div);\n",
"\n",
" const buffers = [];\n",
" let downloaded = 0;\n",
"\n",
" const channel = await google.colab.kernel.comms.open(id);\n",
" // Send a message to notify the kernel that we're ready.\n",
" channel.send({})\n",
"\n",
" for await (const message of channel.messages) {\n",
" // Send a message to notify the kernel that we're ready.\n",
" channel.send({})\n",
" if (message.buffers) {\n",
" for (const buffer of message.buffers) {\n",
" buffers.push(buffer);\n",
" downloaded += buffer.byteLength;\n",
" progress.value = downloaded;\n",
" }\n",
" }\n",
" }\n",
" const blob = new Blob(buffers, {type: 'application/binary'});\n",
" const a = document.createElement('a');\n",
" a.href = window.URL.createObjectURL(blob);\n",
" a.download = filename;\n",
" div.appendChild(a);\n",
" a.click();\n",
" div.remove();\n",
" }\n",
" "
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<IPython.core.display.Javascript object>"
],
"application/javascript": [
"download(\"download_db96e7f6-f5c1-484d-83b8-4c48871b6b04\", \"Recommendations scored.xlsx\", 13991)"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "HNoO30Nqd8_T"
},
"execution_count": null,
"outputs": []
}
]
}
================================================
FILE: glance.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Web Sustainability Guidelines (WSG) at a Glance</title>
<meta http-equiv="refresh" content="0; URL=https://w3c.github.io/sustainableweb-wsg/glance.html">
<link rel="canonical" href="https://w3c.github.io/sustainableweb-wsg/glance.html">
</head>
<body style="text-align: center">
<p>Redirecting to <a href="https://w3c.github.io/sustainableweb-wsg/glance.html">https://w3c.github.io/sustainableweb-wsg/glance.html</a></p>
</body>
</html>
================================================
FILE: ig/charter.html
================================================
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Sustainable Web Interest Group Charter</title>
<link rel="stylesheet" href="https://www.w3.org/2005/10/w3cdoc.css" type="text/css" media="screen">
<link rel="stylesheet" type="text/css" href="https://www.w3.org/OldGuide/pubrules-style.css">
<link rel="stylesheet" type="text/css" href="https://www.w3.org/2006/02/charter-style.css">
<style>
main {
margin: 0 auto;
max-width: 60em; }
ul#navbar {
font-size: small;
padding-bottom: 0; }
dt.spec {
font-weight: bold; }
dt.spec new {
background: yellow; }
ul.out-of-scope > li {
font-weight: bold; }
ul.out-of-scope > li > ul > li{
font-weight: normal; }
.issue {
background: cornsilk;
font-style: italic; }
.todo {
color: #900; }
footer {
font-size: small; }
</style>
</head>
<body>
<header id="header">
<aside>
<ul id="navbar">
<li><a href="#background">Background</a></li>
<li><a href="#scope">Scope</a></li>
<li><a href="#deliverables">Deliverables</a></li>
<li><a href="#success-criteria">Success Criteria</a></li>
<li><a href="#coordination">Coordination</a></li>
<li><a href="#participation">Participation</a></li>
<li><a href="#communication">Communication</a></li>
<li><a href="#decisions">Decision Policy</a></li>
<li><a href="#patentpolicy">Patent Disclosures</a></li>
<li><a href="#licensing">Licensing</a></li>
<li><a href="#about">About this Charter</a></li>
</ul>
</aside>
<p><a href="https://www.w3.org/"><img alt="W3C" height="48" src="https://www.w3.org/Icons/w3c_home" width="72"></a></p>
</header>
<main>
<h1 id="title"><i class="todo">PROPOSED</i> Sustainable Web Interest Group Charter</h1>
<!-- delete PROPOSED after AC review completed -->
<p class="mission">The <strong>mission</strong> of the <i class="todo"><a href="">Sustainable Web Interest Group</a></i> is to improve digital sustainability so that the Web works better for all people and the planet.</p>
<!-- the link to the group is ALWAYS that available from https://www.w3.org/groups/wg or https://www.w3.org/groups/ig because each group page can then point to a different homepage, but not the other way around. -->
<div class="noprint">
<p class="join"><i class="todo"><a href="">Join the Sustainable Web Interest Group.</a></i></p>
<!-- We will require a shortname for the URL: https://www.w3.org/groups/ig/[shortname]/join -->
</div>
<p class="todo" style="padding: 0.5ex; border: 1px solid green">This proposed charter is available on <a href="https://github.com/w3c/sustyweb/tree/main/ig/">GitHub</a>. Feel free to raise <a href="https://github.com/w3c/sustyweb/issues">issues</a>.</p>
<!-- Note: Delete the GH link after AC review completed. -->
<div id="details">
<table class="summary-table">
<tr id="Status">
<th>Charter Status</th>
<td>Initial Charter</td>
<!-- See the <a href="https://www.w3.org/groups/ig/[shortname]/charters">group status page</A> and <a href="#history">detailed change history</a>. -->
</tr>
<tr id="Duration">
<th>Start date</th>
<td class="todo">DD Month YYYY</td>
</tr>
<tr id="CharterEnd">
<th>End date</th>
<td class="todo">DD Month YYYY (2 years)</td>
</tr>
<tr>
<th>Chairs</th>
<td>Ines Akrap (Storyblok)<br>
Tim Frick (Mightybytes)<br>
Mike Gifford (CivicActions)</td>
</tr>
<tr>
<th>Team Contacts</th>
<td><a href="mailto:tzviya@w3.org">Tzviya Siegman</a> (0.25 <abbr title="Full-Time Equivalent">FTE</abbr>)</td>
</tr>
<tr>
<th>Meeting Schedule</th>
<td><strong>Teleconferences:</strong> Approximately monthly. <br><strong>Face-to-face:</strong> The environmental impact of travel will be considered when scheduling in-person meetings with accommodations made for virtual attendance. The group expects to meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of the participants.</td>
</tr>
</table>
</div>
<div id="background" class="background">
<!-- Rewrite per W3C: https://github.com/w3c/sustyweb/issues/105 -->
<h2>Motivation and Background</h2>
<p><a href="https://w3c.github.io/sustyweb/intro.html">Web sustainability</a> examines how digital technology impacts the physical world using an approach that puts people and the planet first (of critical value in the <a href="https://www.w3.org/TR/ethical-web-principles/#sustainable">Ethical Web Principles</a>). Upcoming or existing <a href="https://w3c.github.io/sustyweb/policies.html">laws and policies</a> in this sector also set mandatory digital sustainability-related targets. Web sustainability offers many benefits, including accurate measurement and reduction of planetary impact (such as emissions, resource usage, and waste). Web sustainability also includes intersectional issues relating to people (accessibility, privacy, etc.) and shared prosperity (good governance), which can lead to healthier ecosystems overall. PPP (Planet, People, and Prosperity) principles drive these efforts while accounting for a multitude of variables across different disciplines.</p>
<p>This guidance is intended for end-users, stakeholders, website or application creators, tool authors, educators, students, policymakers, purchasing agents, product owners, managers, and decision-makers who will either request or actively implement sustainable change within their organization.</p>
<p>The Sustainable Web Interest Group will provide evidence-led guidance alongside methods to observe, measure, and improve the sustainability of digital products and services. Through this guidance created by web developers, implementers, and other stakeholders of the Internet economy, they may better understand the Internet's impact on various forms of sustainability reporting and evolving implementable holistic practices. This not only includes digital emissions but also interconnecting variables that can additionally impact digital sustainability. To address these challenges, designers, developers, and product teams can apply stewardship principles to digital products, services, and data delivered via the Internet.</p>
</div>
<section id="scope" class="scope">
<h2>Scope</h2>
<p>The Sustainable Web Interest Group develops and documents guidelines, patterns, processes, and best practices (along with supporting materials) for addressing sustainability issues within digital technology affecting both people and the planet.</p>
<p>The group provides coverage for websites & web applications, authoring tools & user agents, user experience design, web development (and tooling), hosting & infrastructure, business & product strategy, and metrics data (concerning research, statistics for measurability, and related weighting of the guidelines).</p>
<p>The Interest Group will focus on the following activities:</p>
<ul>
<li>Publishing a set of guidelines (based upon the <a href="https://w3c.github.io/sustyweb/">CG Draft Report</a>).</li>
<li>Working with regulatory and standards groups to improve compliance targets within our work.</li>
<li>Improving measurability (how guidelines are endorsed and weighted through quantitative data) to provide more accurate advice within published deliverables.</li>
<li>Creating educational materials to foster wider adoption of the guidelines.</li>
</ul>
<p>The Interest Group may recommend mitigations for sustainability issues in existing features of the Web platform, up to and including their deprecation.</p>
<p>The Interest Group may recommend methods to reduce emissions that reinforce (but don't replace) existing beneficial practices (Accessibility, Performance, Privacy, Security, etc).</p>
<section id="section-out-of-scope">
<h3 id="out-of-scope">Out of Scope</h3>
<ul>
<li><strong>Non-web aspects of native applications in both mobile & desktop environments:</strong> However, Web applications remain in scope.</li>
<li><strong>Hardware:</strong> Unless related to hosting & infrastructure, we will not provide coverage of the manufacturing or usage of products beyond the remit of Internet usage.</li>
</ul>
</section>
</section>
<section id="deliverables">
<h2>Deliverables</h2>
<p>Updated document status is available on the <i class="todo"><a href="">group publication status page</a>.</i></p>
<!-- Provide the IG name: https://www.w3.org/groups/ig/[shortname]/publications -->
<p><i>Draft state</i> indicates the state of the deliverable at the time of the charter approval. <i>Expected completion</i> indicates when the deliverable is projected to become a Group Note, or otherwise reach a stable state.</p>
<section id="guidelines">
<h3>Guidelines</h3>
<p>The Interest Group will deliver the following guidelines:</p>
<dl>
<dt id="web-foo" class="spec"><a href="#">Web Sustainability Guidelines (WSG)</a></dt>
<dd>
<p>These guidelines explain how to design and implement digital products and services that put people and the planet first. The guidelines are best practices based on measurable, evidence-based research; aimed at end-users, web designers, web developers, stakeholders, tool authors, educators, and policymakers.</p>
<p class="draft-status"><b>Draft state:</b> <a href="https://w3c.github.io/sustyweb/">Adopted from Draft CG Report</a></p>
<p class="milestone"><b>Expected completion:</b> <i class="todo">[Q1-4 YYYY]</i></p>
<!-- Expected completion date is requird above. -->
</dd>
</dl>
</section>
<section id="ig-other-deliverables">
<h3>Other Deliverables</h3>
<p>The Group expects to create these deliverables:</p>
<ul>
<li><a href="https://w3c.github.io/sustyweb/glance.html">At-A-Glance</a> & <a href="https://w3c.github.io/sustyweb/intro.html">Introductory</a> documents offering signposting to the group's work.</li>
<li><a href="https://w3c.github.io/sustyweb/quickref.html">Quick Reference</a> & <a href="https://w3c.github.io/sustyweb/checklist.pdf">Checklist</a> which provide a compact list of the WSG's.</li>
<li><a href="https://w3c.github.io/sustyweb/policies.html">Laws & Policies</a> document overviews related regulatory and best practice policies.</li>
<li><a href="https://w3c.github.io/sustyweb/star.html">STAR</a> evaluation methodologies, techniques (case studies), and test suite (metrics).</li>
<li><a href="https://w3c.github.io/sustyweb/guidelines.json">JSON API</a> to facilitate third-party implementation of the guidelines.</li>
</ul>
<p>In addition, the group may work on:</p>
<ul>
<li>Educational materials to promote adoption.</li>
<li>Translations.</li>
</ul>
<p><strong>Note:</strong> While limited support for browser developers (user agents) and authoring tools currently exists, the inclusion of materials for such groups in the future is within the scope of this Interest Group.</p>
</section>
</section>
<section id="success-criteria">
<h2>Success Criteria</h2>
<ul>
<li>Request the publication of the WSGs as a <a href="https://www.w3.org/policies/process/#w3c-statement">W3C Statement</a>.</li>
<li>Provide guidance based upon evidence (where possible), and if evidence is lacking; use industry best practices, develop measurability data, or conduct research to validate claims.</li>
<li>Where machine testing of sustainability features is possible, seek interoperable implementations. Where machine-testability is not possible (due to the nature of their function), indicate this in the deliverables.</li>
<li>Offer guidance across multiple disciplines of existing web technologies and expertise, and provide well-defined goals that benefit the wide spectrum of sustainability.</li>
<li>Align published guidance with existing regulatory requirements to increase compliance levels.</li>
</ul>
<p>This Interest Group expects to follow the TAG <a href="https://www.w3.org/TR/design-principles/">Web Platform Design Principles</a>.</p>
</section>
<section id="coordination">
<h2>Coordination</h2>
<p>For all guidelines, this Interest Group will seek <a href="https://www.w3.org/Guide/documentreview/#how_to_get_horizontal_review">horizontal review</a> for accessibility, internationalization, privacy, and security with the relevant Working and Interest Groups, and with the <a href="https://www.w3.org/groups/other/tag/" title="Technical Architecture Group">TAG</a>. The
Interest Group is encouraged to engage collaboratively with the horizontal review groups throughout development of the guidelines. The Interest Group is advised to seek a review at least 3 months before any request to advance a Note to W3C Statement.</p>
<p>Additional technical coordination with the following Groups will be made, per the <a href="https://www.w3.org/policies/process/#WGCharter">W3C Process Document</a>:</p>
<section>
<h3 id="w3c-coordination">W3C Groups</h3>
<dl>
<dt><a href="https://www.w3.org/groups/wg/ag/">Accessibility Guidelines Working Group</a></dt>
<dd>For guideline modeling and WSG interoperability.</dd>
<dt><a href="https://www.w3.org/groups/wg/webperf/">Web Performance Working Group</a></dt>
<dd>For guideline interoperability with reducing resource waste.</dd>
<dt><a href="https://www.w3.org/groups/cg/sustyweb/">Sustainable Web Design Community Group</a></dt>
<dd>The Sustainable Web Interest Group will maintain an ongoing, collaborative relationship with the current Sustainable Web Design Community Group in order to facilitate knowledge sharing and continuous learning for participants of both groups. This will improve the quality of deliverables for both groups.</dd>
</dl>
</section>
<section>
<h3 id="external-coordination">External Organizations</h3>
<p>As an emerging and rapidly growing field of knowledge, digital sustainability expertise comes from many places. The Interest Group recognizes that numerous organizations around the world focus on similar or adjacent topics. We have identified the below as early partners whose expertise and willingness to collaborate will support our success.</p>
<dl>
<dt><a href="https://greensoftware.foundation/">Green Software Foundation</a></dt>
<dd>Help align with sustainability targets.</dd>
<dt><a href="https://www.thegreenwebfoundation.org/">Green Web Foundation</a></dt>
<dd>Help align with sustainability targets.</dd>
<dt><a href="https://www.unep.org/topics/digital-transformations/sustainable-digitalization">UNEP CODES</a></dt>
<dd>Help align with sustainability targets.</dd>
</dl>
<p>We will also monitor the work of and where appropriate collaborate with standards bodies (external to the W3C) such as those listed below as their work relates to the compliance adherence work we are including within the deliverables.</p>
<dl>
<dt><a href="https://www.globalreporting.org/">Global Reporting Initiative</a></dt>
<dd>Help align with sustainability targets.</dd>
<dt><a href="https://datatracker.ietf.org/group/eimpact/about/">IETF Environmental Impacts of Internet Technology</a></dt>
<dd>Co-ordination and collaboration on documents.</dd>
<dt><a href="https://www.iso.org/committee/10278813.html">International Standards Organization</a></dt>
<dd>Help align with sustainability targets.</dd>
</dl>
</section>
</section>
<section class="participation">
<h2 id="participation">Participation</h2>
<p>To be successful, this Interest Group is expected to have 6 or more active participants for its duration, including representatives from the key users of the guidelines, and active Editors and Test Leads. The Chairs, Editors, and Test Leads are expected to contribute half of a working day per week towards the Interest Group. There is no minimum requirement for other Participants.</p>
<p>The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in <a href='#communication'>Communication</a>.</p>
<p>The group also welcomes non-Members to contribute technical submissions for consideration, although active contributors are expected to join the group.</p>
<p>Participants in the group are required (by the <a href="https://www.w3.org/policies/process/#ParticipationCriteria">W3C Process</a>) to follow the W3C <a href="https://www.w3.org/policies/code-of-conduct/">Code of Conduct</a>.</p>
</section>
<section id="communication">
<h2>Communication</h2>
<p id="public">Technical discussions for this Interest Group are conducted in <a href="https://www.w3.org/policies/process/#confidentiality-levels">public</a>: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts will be developed in public repositories and may permit direct public contribution requests. The meetings themselves are not open to public participation, however, information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the <i class="todo"><a href="">Sustainable Web Interest Group home page.</a></i></p>
<!-- We will require a shortname for the URL: https://www.w3.org/groups/ig/[shortname]/join -->
<p>Most Sustainable Web Interest Group teleconferences will be conducted on an as-needed basis.</p>
<p>This group primarily conducts its technical work on <a id="public-github" href="https://github.com/w3c/sustyweb/issues">GitHub issues</a></i>. The public is invited to review, discuss and contribute to this work. This group also uses utilizes the public mailing list <i class="todo"><a id="public-name" href="">public-[email-list]@w3.org</a> (<a href="">archive</a>)</i> for event notifications and important announcements.</p>
<!--
We will require a IG name to associate with a W3C mailing list:
mailto:public-[email-list]@w3.org
https://lists.w3.org/Archives/Public/public-[email-list]/
-->
<p>The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and participants of the group, for Member-confidential discussions in special cases when a participant requests such a discussion.</p>
</section>
<section id="decisions">
<h2>Decision Policy</h2>
<p>This group will seek to make decisions through consensus and due process, per the <a href="https://www.w3.org/policies/process/#Consensus">W3C Process Document (section 5.2.1, Consensus)</a>. Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with participants of the group and other reviewers, and consensus emerges with little formal voting being required.</p>
<p>However, if a decision is necessary for timely progress and consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote and record a decision along with any objections.</p>
<p>To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email, GitHub issue or web-based survey), with a response period from one week to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised by the end of the response period, the resolution will be considered to have consensus as a resolution of the Interest Group.</p>
<p>All decisions made by the group should be considered resolved unless and until new information becomes available or unless reopened at the discretion of the Chairs.</p>
<p>This charter is written in accordance with the <a href="https://www.w3.org/policies/process/#Votes">W3C Process Document (Section 5.2.3, Deciding by Vote)</a> and includes no voting procedures beyond what the Process Document requires.</p>
</section>
<section id="patentpolicy">
<h2>Patent Disclosures</h2>
<p>The Interest Group provides an opportunity to share perspectives on the topic addressed by this charter. W3C reminds Interest Group participants of their obligation to comply with patent disclosure obligations as set out in <a href="https://www.w3.org/policies/patent-policy/#sec-Disclosure">Section 6</a> of the W3C Patent Policy. While the Interest Group does not produce Recommendation-track documents, when Interest Group participants review Recommendation-track specifications from Working Groups, the patent disclosure obligations do apply. For more information about disclosure obligations for this group, please see the <i class="todo"><a href="">licensing information</a></i>.</p>
<!-- We will require a shortname for the URL: https://www.w3.org/groups/ig/[shortname]/ipr/ -->
</section>
<section id="licensing">
<h2>Licensing</h2>
<p>This Interest Group will use the <a href="https://www.w3.org/copyright/software-license/">W3C Software and Document license</a> for all its deliverables.</p>
</section>
<section id="about">
<h2>About this Charter</h2>
<p>This charter has been created according to <a href="https://www.w3.org/Consortium/Process/#GAGeneral">section 3.4</a> of the <a href="https://www.w3.org/Consortium/Process/">Process Document</a>. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.</p>
<section id="history">
<h3>Charter History</h3>
<p>The following table lists details of all changes from the initial charter, per the <a href="https://www.w3.org/Consortium/Process/#CharterReview">W3C Process Document (section 4.3, Advisory Committee Review of a Charter)</a>:</p>
<table class="history">
<tbody>
<tr>
<th>Charter Period</th>
<th>Start Date</th>
<th>End Date</th>
<th>Changes</th>
</tr>
<tr>
<th><a href="">Initial Charter</a></th>
<!-- We will require a shortname for the URL: https://www.w3.org/groups/ig/[shortname]/charter/ -->
<td class="todo">DD Month YYYY</td>
<td class="todo">DD Month YYYY</td>
<td>None</td>
<!-- Add Dates for Charter Progress -->
</tr>
</tbody>
</table>
</section>
<section id="changelog">
<h3>Change log</h3>
<p>Changes to this document are documented in this section.</p>
<!--
Use this section for changes _after_ the charter was approved by the Director.
<dl class="todo" id='changes'>
<dt>YYYY-MM-DD</dt>
<dd>Changes</dd>
</dl>
-->
</section>
</section>
</main>
<hr>
<footer>
<address><a href="mailto:tzviya@w3.org">Tzviya Siegman</a></address>
<p class="copyright">Copyright © 2024 <a href="https://www.w3.org/">World Wide Web Consortium</a>.<br> <abbr title="World Wide Web Consortium">W3C</abbr><sup>®</sup> <a href="https://www.w3.org/policies/#disclaimers">liability</a>, <a href="https://www.w3.org/policies/#trademarks">trademark</a> and <a rel="license" href="https://www.w3.org/copyright/software-license/" title="W3C Software and Document Notice and License">permissive document license</a> rules apply.</p>
</footer>
</body>
</html>
================================================
FILE: ig/wg-charter.html
================================================
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Sustainable Web Working Group Charter</title>
<link rel="stylesheet" href="https://www.w3.org/2005/10/w3cdoc.css" type="text/css" media="screen">
<link rel="stylesheet" type="text/css" href="https://www.w3.org/OldGuide/pubrules-style.css">
<link rel="stylesheet" type="text/css" href="https://www.w3.org/2006/02/charter-style.css">
<style>
main {
max-width: 60em;
margin: 0 auto;
}
ul#navbar {
font-size: small;
}
dt.spec {
font-weight: bold;
}
dt.spec new {
background: yellow;
}
ul.out-of-scope > li {
font-weight: bold;
}
ul.out-of-scope > li > ul > li{
font-weight: normal;
}
.issue {
background: cornsilk;
font-style: italic;
}
.todo {
color: #900;
}
footer {
font-size: small;
}
</style>
</head>
<body>
<header id="header">
<aside>
<ul id="navbar">
<li><a href="#background">Background</a></li>
<li><a href="#scope">Scope</a></li>
<li><a href="#deliverables">Deliverables</a></li>
<li><a href="#success-criteria">Success Criteria</a></li>
<li><a href="#coordination">Coordination</a></li>
<li><a href="#participation">Participation</a></li>
<li><a href="#communication">Communication</a></li>
<li><a href="#decisions">Decision Policy</a></li>
<li><a href="#patentpolicy">Patent Policy</a></li>
<li><a href="#licensing">Licensing</a></li>
<li><a href="#about">About this Charter</a></li>
</ul>
</aside>
<p><a href="https://www.w3.org/"><img alt="W3C" height="48" src="https://www.w3.org/Icons/w3c_home" width="72"></a></p>
</header>
<main>
<h1 id="title"><i class="todo">PROPOSED</i> Sustainable Web Working Group Charter</h1>
<!-- delete PROPOSED after AC review completed -->
<p class="mission">The <strong>mission</strong> of the <i class="todo"><a href="">Sustainable Web Working Group</a></i> is to improve sustainability so the Web works better for all people and the planet.</p>
<!-- the link to the group is ALWAYS that available from https://www.w3.org/groups/wg or https://www.w3.org/groups/ig because each group page can then point to a different homepage, but not the other way around. -->
<div class="noprint">
<p class="join"><i class="todo"><a href="">Join the Sustainable Web Working Group.</a></i></p>
<!-- We will require a shortname for the URL: https://www.w3.org/groups/wg/[shortname]/join -->
</div>
<p class="todo" style="padding: 0.5ex; border: 1px solid green">This proposed charter is available on <a href="https://github.com/w3c/sustyweb/tree/main/wg">GitHub</a>. Feel free to raise <a href="https://github.com/w3c/sustyweb/issues">issues</a>.</p>
<!-- Note: Delete the GH link after AC review completed. -->
<div id="details">
<table class="summary-table">
<tr id="Status">
<th>Charter Status</th>
<td class="todo">Initial Charter</td>
<!-- See the <a href="https://www.w3.org/groups/wg/[shortname]/charters">group status page</A> and <a href="#history">detailed change history</a>. -->
</tr>
<tr id="Duration">
<th>Start date</th>
<td>DD Month YYYY</td>
</tr>
<tr id="CharterEnd">
<th>End date</th>
<td>DD Month YYYY</td>
</tr>
<tr>
<th>Chairs</th>
<td>Ines Akrap (Storyblok)<br>
Tim Frick (Mightybytes)<br>
Mike Gifford (CivicActions)
</td>
</tr>
<tr>
<th>Team Contacts</th>
<td>Carine Bournez (.25 FTE)</td>
</tr>
<tr>
<th>Meeting Schedule</th>
<td><strong>Teleconferences:</strong> Approximately monthly. <br><strong>Face-to-face:</strong> The environmental impact of travel will be considered when scheduling in-person meetings with accommodations made for virtual attendance. The group expects to meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of the participants.</td>
</tr>
</table>
</div>
<div id="background" class="background">
<h2>Motivation and Background</h2>
<p>The vision of the Sustainable Web Working Group is to provide evidence-led guidance alongside methods to observe, measure, and improve the sustainability of digital products and services. Through this guidance created by web developers, implementers, and other stakeholders of the Internet economy, they may better understand the internet's impact on various forms of sustainability reporting and evolving ESG (Environmental, Social, Governance) practices. This not only includes digital emissions, but also interconnecting variables which can additionally impact digital sustainability. To address these challenges, designers, developers, and product teams can apply stewardship principles to digital products, services, and data delivered via the internet.</p>
</div>
<section id="scope" class="scope">
<h2>Scope</h2>
<p>This group pursues the following sustainability goals:</p>
<ul>
<li>Reducing global carbon emissions.</li>
<li>Reducing consumption of energy and material resources.</li>
<li>Improving resilience of digital products and businesses.</li>
</ul>
<p>The Working Group discusses many use cases to determine how standards - both those focused on (and shaped by) sustainability can benefit the industry, including:</p>
<ul>
<li>Wider adoption of guidelines to reduce carbon emissions and resource use.</li>
<li>Existing regulatory (<a href="https://finance.ec.europa.eu/capital-markets-union-and-financial-markets/company-reporting-and-auditing/company-reporting/corporate-sustainability-reporting_en#legislation">CSRD</a> etc) and standards (<a href="https://www.globalreporting.org/standards/">GRI</a>) compliance to reach a wider global audience.</li>
<li>Methods to reduce emissions reinforce (but don't replace) existing beneficial practices (Accessibility, Performance, Privacy, Security, etc).</li>
<li>Broader interoperability, compatibility, and stability within the Web ecosystem.</li>
</ul>
<p>The Sustainable Web Working Group develops guidelines and supporting materials that address how the following topics relate to the above sustainability goals:</p>
<ul>
<li><strong>Websites & Web Applications:</strong> User-facing digital products, services, and websites.</li>
<li><strong>Authoring Tools & User Agents:</strong> Tools which directly interact with the Internet.</li>
<li><strong>User Experience Design:</strong> Processes by which digital products or services are designed and created.</li>
<li><strong>Metrics Data:</strong> Sustainability research analytics, ratings, and emissions or resource calculations.</li>
<li><strong>Hosting & Infrastructure:</strong> Within the remit of transmitting, delivering, or managing digital assets.</li>
<li><strong>Business:</strong> In relation to the creation or management of digital teams and assets.</li>
</ul>
<section id="section-out-of-scope">
<h3 id="out-of-scope">Out of Scope</h3>
<p>The following features are out of scope, and will not be addressed by this group.</p>
<ul>
<li><strong>Non-web aspects of native applications in both mobile & desktop environments:</strong> However, Web applications remain in scope.</li>
<li><strong>Hardware:</strong> Unless denoted through in-scope section on Hosting & Infrastructure, we will not provide coverage of the manufacturing or usage of products beyond the remit of Internet-usage.</li>
<li><strong>Horizontal Reviews:</strong> This working group will not conduct horizontal reviews of other groups' specifications.</li>
</ul>
</section>
</section>
<section id="deliverables">
<h2>Deliverables</h2>
<p><i class="todo">Updated document status is available on the <a href="https://www.w3.org/groups/wg/[shortname]/publications">group publication status page</a>.</i></p>
<!-- Provide the WG name above. -->
<p><i>Draft state</i> indicates the state of the deliverable at the time of the charter approval. <i>Expected completion</i> indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state.</p>
<section id="normative">
<h3>Normative Specifications</h3>
<p>The Working Group will deliver the following W3C normative specifications:
</p>
<dl>
<dt id="web-foo" class="spec"><a href="#">Web Sustainability Guidelines (WSG) 1.0</a></dt>
<dd>
<p>This specification explains how to design and implement digital products and services that put people and the planet first. The guidelines are best practices based on measurable, evidence-based research; aimed at end-users, web workers, stakeholders, tool authors, educators, and policymakers.</p>
<p class="draft-status"><b>Draft state:</b> <a href="https://w3c.github.io/sustyweb/">Adopted from Draft CG Report</a></p>
<p class="milestone"><b>Expected completion:</b> <i class="todo">[Q1-4 yyyy]</i></p>
<p class="note"><b>Note:</b> The Sustainable Web Design Community Group has taken a holistic approach to sustainability, encompassing environmental, social, and economic (ESG) considerations (see, for example <a href="https://sdgs.un.org/2030agenda">United Nations</a>, <a href="https://www.sustainability.gov/federalsustainabilityplan/index.html">US Gov [Sustainability]</a>, <a href="https://www.nypa.gov/about/vision2030/foundational-pillars-environment-social-governance">NYPA</a>, <a href="https://designnotes.blog.gov.uk/2023/12/21/developing-a-set-of-principles-for-the-design-and-delivery-of-greener-services/">UK Gov [Defra]</a>). This broad approach has the advantage of aligning with some regulatory expectations (<a href="https://w3c.github.io/sustyweb/policies.html">Laws & Policies</a>) and creating a framework that is more likely to achieve success by extending beyond code and hardware to people and practices. The scope of the Working Group charter is narrower than that of the Community Group, and as a result, the Community Group anticipates that some of the guidelines of the Community Group's initial report will not be part of a future Recommendation. The Community Group may continue to leverage some of the material not taken up by the Working Group in order to support the future Recommendation, for example through good practice documentation.</p>
<!-- Expected completion date is requird above. -->
</dd>
</dl>
</section>
<section id="wg-other-deliverables">
<h3>Other Deliverables</h3>
<p>The Working Group will publish additional resources, not on the Recommendation Track:</p>
<ul>
<li><a href="https://w3c.github.io/sustyweb/glance.html">At-A-Glance</a> & <a href="https://w3c.github.io/sustyweb/intro.html">Introductory</a> documents offering signposting to the group's work.</li>
<li><a href="https://w3c.github.io/sustyweb/quickref.html">Quick Reference</a> & <a href="https://w3c.github.io/sustyweb/checklist.pdf">Checklist</a> which provide a compact list of the WSG's.</li>
<li><a href="https://w3c.github.io/sustyweb/star.html">STAR</a> evaluation methodologies, techniques (case studies), and test suite (metrics).</li>
<li><a href="https://w3c.github.io/sustyweb/guidelines.json">JSON API</a> that actively encourages third-party implementation of our work.</li>
</ul>
<p>The Working Group may publish additional supporting resources not on the Recommendation Track:</p>
<ul>
<li>Educational materials to promote adoption.</li>
<li>Translations.</li>
</ul>
<!-- Remove once ATAG/UAAG Added to specification. -->
<p class="todo"><strong>Note:</strong> While limited support for browser developers (user-agents) and authoring tools currently exists, the inclusion of materials for such groups in the future is within the scope of this Working Group.</p>
</section>
</section>
<section id="success-criteria">
<h2>Success Criteria</h2>
<p>In order to advance to <a href="https://www.w3.org/Consortium/Process/#RecsPR" title="Proposed Recommendation">Proposed Recommendation</a>, each normative specification is expected to have <a href="https://www.w3.org/Consortium/Process/#implementation-experience"> at least two independent interoperable implementations</a> of every feature defined in the specification, where interoperability can be verified by passing open test suites, and two or more implementations interoperating with each other. In order to advance to Proposed Recommendation, each normative specification must have an open test suite of every feature defined in the specification.</p>
<p>There should be testing plans for each specification, starting from the earliest drafts.</p>
<p>To promote interoperability, all changes made to specifications in Candidate Recommendation or to features that have deployed implementations should have <a href='https://www.w3.org/2019/02/testing-policy.html'>tests</a>. Testing efforts should be conducted via the <a href="https://github.com/web-platform-tests/wpt">Web Platform Tests</a> project.</p>
<p>Each specification should contain sections detailing all known security and privacy implications for implementers, Web authors, and end users.</p>
<p>Each specification should contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.</p>
<p>This Working Group expects to follow the TAG <a href="https://www.w3.org/TR/design-principles/">Web Platform Design Principles</a>.</p>
</section>
<section id="coordination">
<h2>Coordination</h2>
<p>For all specifications, this Working Group will seek <a href="https://www.w3.org/Guide/documentreview/#how_to_get_horizontal_review">horizontal review</a> for accessibility, internationalization, privacy, and security with the relevant Working and Interest Groups, and with the <a href="https://www.w3.org/groups/other/tag/" title="Technical Architecture Group">TAG</a>. Invitation for review must be issued during each major standards-track document transition, including <a href="https://www.w3.org/Consortium/Process/#RecsWD" title="First Public Working Draft">FPWD</a>. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering <a href="https://www.w3.org/Consortium/Process/#RecsCR" title="Candidate Recommendation">CR</a> and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.</p>
<p>Additional technical coordination with the following Groups will be made, per the <a href="https://www.w3.org/Consortium/Process/#WGCharter">W3C Process Document</a>:</p>
<section>
<h3 id="w3c-coordination">W3C Groups</h3>
<dl>
<dt><a href="https://www.w3.org/groups/wg/ag/">Accessibility Guidelines Working Group</a></dt>
<dd>For specification guideline modeling and WSG interoperability.</dd>
<dt><a href="https://www.w3.org/groups/wg/webperf/">Web Performance Working Group</a></dt>
<dd>For guideline interoperability with reducing resource waste.</dd>
<dt><a href="https://www.w3.org/groups/cg/sustyweb/">Sustainable Web Design Community Group</a></dt>
<dd>The Sustainable Web Working Group will maintain an ongoing, collaborative relationship with the current Sustainable Web Design community group in order to facilitate knowledge sharing and continuous learning for members of both groups. This will improve the quality of deliverables for both groups.</dd>
</dl>
</section>
<section>
<h3 id="external-coordination">External Organizations</h3>
<p>As an emerging and rapidly growing field of knowledge, digital sustainability expertise comes from many places. The Working Group recognizes that numerous organizations around the world focus on similar or adjacent topics. We have identified the three below as early partners whose expertise and willingness to collaborate will support our success.</p>
<dl>
<dt><a href="https://greensoftware.foundation/">Green Software Foundation</a></dt>
<dd>Help the WSGs meet sustainability targets.</dd>
<dt><a href="https://www.thegreenwebfoundation.org/">Green Web Foundation</a></dt>
<dd>Help the WSGs meet sustainability targets.</dd>
<dt><a href="https://www.unep.org/topics/digital-transformations/sustainable-digitalization">UNEP CODES</a></dt>
<dd>Help the WSGs meet sustainability targets.</dd>
</dl>
</section>
</section>
<section class="participation">
<h2 id="participation">Participation</h2>
<p>To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the Working Group. There is no minimum requirement for other Participants.</p>
<p>The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in <a href='#communication'>Communication</a>.</p>
<p>The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the <a href="https://www.w3.org/Consortium/Patent-Policy/">W3C Patent Policy</a>.</p>
<p>Participants in the group are required (by the <a href="https://www.w3.org/Consortium/Process/#ParticipationCriteria">W3C Process</a>) to follow the W3C <a href="https://www.w3.org/policies/code-of-conduct/">Code of Conduct</a>.</p>
</section>
<section id="communication">
<h2>Communication</h2>
<p id="public">Technical discussions for this Working Group are conducted in <a href="https://www.w3.org/Consortium/Process/#confidentiality-levels">public</a>: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed in public repositories and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.</p>
<p>Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the <i class="todo"><a href="">Sustainable Web Working Group home page.</a></i></p>
<!-- We will require a WG homepage to specify a URL link -->
<p>Most Sustainable Web Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.</p>
<p>This group primarily conducts its technical work on <a id="public-github" href="https://github.com/w3c/sustyweb/issues">GitHub issues</a></i>. The public is invited to review, discuss and contribute to this work. This group also uses utilizes the public mailing list <i class="todo"><a id="public-name" href="mailto:public-[email-list]@w3.org">public-[email-list]@w3.org</a> (<a href="https://lists.w3.org/Archives/Public/public-[email-list]/">archive</a>)</i> for event notifications and important announcements.</p>
<!-- We will require a WG mailing list & NOTE our REPO name may change as we become a WG -->
<p>The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.</p>
</section>
<section id="decisions">
<h2>Decision Policy</h2>
<p>This group will seek to make decisions through consensus and due process, per the <a href="https://www.w3.org/Consortium/Process/#Consensus">W3C Process Document (section 5.2.1, Consensus)</a>. Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.</p>
<p>However, if a decision is necessary for timely progress and consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote and record a decision along with any objections.</p>
<p>To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email, GitHub issue or web-based survey), with a response period from <span id='cfc'>one week to 10 working days</span>, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.</p>
<p>All decisions made by the group should be considered resolved unless and until new information becomes available or unless reopened at the discretion of the Chairs.</p>
<p>This charter is written in accordance with the <a href="https://www.w3.org/Consortium/Process/#Votes">W3C Process Document (Section 5.2.3, Deciding by Vote)</a> and includes no voting procedures beyond what the Process Document requires.</p>
</section>
<section id="patentpolicy">
<h2>Patent Policy</h2>
<p>This Working Group operates under the <a href="https://www.w3.org/Consortium/Patent-Policy/">W3C Patent Policy</a> (Version of 15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Web specifications that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the <a href="https://www.w3.org/groups/wg/[shortname]/ipr">licensing information</a>.</p>
</section>
<section id="licensing">
<h2>Licensing</h2>
<p>This Working Group will use the <a href="https://www.w3.org/copyright/software-license/">W3C Software and Document license</a> for all its deliverables.</p>
</section>
<section id="about">
<h2>About this Charter</h2>
<p>This charter has been created according to <a href="https://www.w3.org/Consortium/Process/#GAGeneral">section 3.4</a> of the <a href="https://www.w3.org/Consortium/Process/">Process Document</a>. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.</p>
<section id="history">
<h3>Charter History</h3>
<p>The following table lists details of all changes from the initial charter, per the <a href="https://www.w3.org/Consortium/Process/#CharterReview">W3C Process Document (section 4.3, Advisory Committee Review of a Charter)</a>:</p>
<table class="history">
<tbody>
<tr>
<th>Charter Period</th>
<th>Start Date</th>
<th>End Date</th>
<th>Changes</th>
</tr>
<tr>
<th><i class="todo"><a href="">Initial Charter</a></i></th>
<td><i class="todo">[dd monthname yyyy]</i></td>
<td><i class="todo">[dd monthname yyyy]</i></td>
<td><i class="todo">none</i></td>
<!-- Add Dates for Charter Progress -->
</tr>
</tbody>
</table>
</section>
<section id="changelog">
<h3>Change log</h3>
<p class="todo">Changes to this document are documented in this section.</p>
<!--
Use this section for changes _after_ the charter was approved by the Director.
<dl id='changes'>
<dt>YYYY-MM-DD</dt>
<dd>[changes]]</dd>
</dl>
-->
</section>
</section>
</main>
<hr>
<footer>
<address><a href="mailto:alex@hitechy.com">Alexander Dawson</a> & <a href="mailto:tim@mightybytes.com">Tim Frick</a></address>
<p class="copyright">Copyright © 2024 <a href="https://www.w3.org/">World Wide Web Consortium</a>.<br>
<abbr title="World Wide Web Consortium">W3C</abbr><sup>®</sup>
<a href="https://www.w3.org/policies/#disclaimers">liability</a>,
<a href="https://www.w3.org/policies/#trademarks">trademark</a> and
<a rel="license" href="https://www.w3.org/copyright/software-license/" title="W3C Software and Document Notice and License">permissive document license</a> rules apply.</p>
</footer>
</body>
</html>
================================================
FILE: index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Web Sustainability Guidelines (WSG)</title>
<meta http-equiv="refresh" content="0; URL=https://www.w3.org/TR/web-sustainability-guidelines/">
<link rel="canonical" href="https://www.w3.org/TR/web-sustainability-guidelines/">
</head>
<body style="text-align: center">
<p>Redirecting to <a href="https://www.w3.org/TR/web-sustainability-guidelines/">https://www.w3.org/TR/web-sustainability-guidelines/</a></p>
</body>
</html>
================================================
FILE: intro.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Summary of Web Sustainability</title>
<meta http-equiv="refresh" content="0; URL=https://w3c.github.io/sustainableweb-wsg/summary.html">
<link rel="canonical" href="https://w3c.github.io/sustainableweb-wsg/summary.html">
</head>
<body style="text-align: center">
<p>Redirecting to <a href="https://w3c.github.io/sustainableweb-wsg/summary.html">https://w3c.github.io/sustainableweb-wsg/summary.html</a></p>
</body>
</html>
================================================
FILE: policies.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Web Sustainability Laws & Policies</title>
<meta http-equiv="refresh" content="0; URL=https://w3c.github.io/sustainableweb-wsg/policies.html">
<link rel="canonical" href="https://w3c.github.io/sustainableweb-wsg/policies.html">
</head>
<body style="text-align: center">
<p>Redirecting to <a href="https://w3c.github.io/sustainableweb-wsg/policies.html">https://w3c.github.io/sustainableweb-wsg/policies.html</a></p>
</body>
</html>
================================================
FILE: quickref.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Quick Reference for Web Sustainability Guidelines (WSG)</title>
<meta http-equiv="refresh" content="0; URL=https://w3c.github.io/sustainableweb-wsg/quickref.html">
<link rel="canonical" href="https://w3c.github.io/sustainableweb-wsg/quickref.html">
</head>
<body style="text-align: center">
<p>Redirecting to <a href="https://w3c.github.io/sustainableweb-wsg/quickref.html">https://w3c.github.io/sustainableweb-wsg/quickref.html</a></p>
</body>
</html>
================================================
FILE: star.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Sustainable Tooling And Reporting (STAR)</title>
<meta http-equiv="refresh" content="0; URL=https://w3c.github.io/sustainableweb-wsg/star.html">
<link rel="canonical" href="https://w3c.github.io/sustainableweb-wsg/star.html">
</head>
<body style="text-align: center">
<p>Redirecting to <a href="https://w3c.github.io/sustainableweb-wsg/star.html">https://w3c.github.io/sustainableweb-wsg/star.html</a></p>
</body>
</html>
================================================
FILE: w3c.json
================================================
{
"group": [62441]
, "contacts": ["ijacobs"]
, "repo-type": "cg-report"
}
================================================
FILE: wg/charter.md
================================================
Superseded by the [draft Sustainable Web IG charter](https://w3c.github.io/sustyweb/ig/charter.html).
gitextract_qd2v8w_j/
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── Web_Sustainability_GRI_Impact_est.ipynb
├── glance.html
├── ig/
│ ├── charter.html
│ └── wg-charter.html
├── index.html
├── intro.html
├── policies.html
├── quickref.html
├── star.html
├── w3c.json
└── wg/
└── charter.md
Condensed preview — 16 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (121K chars).
[
{
"path": ".gitignore",
"chars": 10,
"preview": ".DS_Store\n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 186,
"preview": "# Code of Conduct\n\nAll documentation, code and communication under this repository are covered by the [W3C Code of Ethic"
},
{
"path": "CONTRIBUTING.md",
"chars": 6478,
"preview": "> [!WARNING]\n> This Community Group's activities are now under the direction of the [W3C Sustainable Web Interest Group]"
},
{
"path": "LICENSE.md",
"chars": 434,
"preview": "All Reports in this Repository are licensed by Contributors\nunder the\n[W3C Software and Document License](http://www.w3."
},
{
"path": "README.md",
"chars": 5957,
"preview": "> [!WARNING]\n> This Community Group's activities are now under the direction of the [W3C Sustainable Web Interest Group]"
},
{
"path": "Web_Sustainability_GRI_Impact_est.ipynb",
"chars": 47670,
"preview": "{\n \"nbformat\": 4,\n \"nbformat_minor\": 0,\n \"metadata\": {\n \"colab\": {\n \"provenance\": [],\n \"authorship_tag\":"
},
{
"path": "glance.html",
"chars": 521,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Web Sustainability Guidelines (WSG) at a Glan"
},
{
"path": "ig/charter.html",
"chars": 23689,
"preview": "<!DOCTYPE html>\n<html lang=\"en-US\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Sustainable Web Interest Group Charter</title"
},
{
"path": "ig/wg-charter.html",
"chars": 24700,
"preview": "<!DOCTYPE html>\n<html lang=\"en-US\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Sustainable Web Working Group Charter</title>"
},
{
"path": "index.html",
"chars": 509,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Web Sustainability Guidelines (WSG)</title>\n\t"
},
{
"path": "intro.html",
"chars": 507,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Summary of Web Sustainability</title>\n\t\t<meta"
},
{
"path": "policies.html",
"chars": 516,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Web Sustainability Laws & Policies</title>\n\t\t"
},
{
"path": "quickref.html",
"chars": 536,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Quick Reference for Web Sustainability Guidel"
},
{
"path": "star.html",
"chars": 506,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sustainable Tooling And Reporting (STAR)</tit"
},
{
"path": "w3c.json",
"chars": 91,
"preview": " {\n \"group\": [62441]\n, \"contacts\": [\"ijacobs\"]\n, \"repo-type\": \"cg-report\"\n}\n"
},
{
"path": "wg/charter.md",
"chars": 102,
"preview": "Superseded by the [draft Sustainable Web IG charter](https://w3c.github.io/sustyweb/ig/charter.html).\n"
}
]
About this extraction
This page contains the full source code of the w3c/sustyweb GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 16 files (109.8 KB), approximately 30.2k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.