├── .github └── workflows │ └── links_checkerPR.yml ├── CODEOWNERS.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── SUPPORT.md └── climateindicators.jpeg /.github/workflows/links_checkerPR.yml: -------------------------------------------------------------------------------- 1 | name: "Check docs links" 2 | 3 | on: 4 | workflow_dispatch: 5 | pull_request: 6 | paths: 7 | - "README.md" 8 | - ".github/workflows/links_checkerPR.yml" 9 | 10 | jobs: 11 | linkChecker: 12 | if: github.actor != 'dependabot[bot]' 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | 17 | - name: Link Checker 18 | id: lychee 19 | uses: lycheeverse/lychee-action@v1 20 | 21 | - name: Read link checker output 22 | id: read_links 23 | run: | 24 | error_count=$(grep -c "🚫 Errors" ./lychee/out.md) # Count errors 25 | echo "error_count=$error_count" >> $GITHUB_ENV # Set error count 26 | if [ "$error_count" -gt 0 ]; then 27 | echo "broken_links<> $GITHUB_ENV 28 | cat ./lychee/out.md >> $GITHUB_ENV # Set broken links detail 29 | echo "EOF" >> $GITHUB_ENV 30 | else 31 | echo "broken_links=All links in the README.md are working fine! 🎉" >> $GITHUB_ENV 32 | fi 33 | shell: bash 34 | 35 | - name: Set output for error count 36 | run: echo "::set-output name=error_count::${{ env.error_count }}" 37 | 38 | - name: Create or Update Comment - No Broken Links 39 | if: env.lychee_exit_code == '0' # Run if there are no broken links 40 | uses: peter-evans/create-or-update-comment@v4 41 | with: 42 | issue-number: ${{ github.event.pull_request.number }} 43 | body: | 44 | **Link Checker Report:** 45 | All links in the README.md are working fine! 🎉 46 | reactions: hooray # React with a 'hooray' if there are no broken links 47 | 48 | - name: Create or Update Comment - Summary of Broken Links 49 | if: env.lychee_exit_code != '0' # Run if there are broken links 50 | uses: peter-evans/create-or-update-comment@v4 51 | with: 52 | issue-number: ${{ github.event.pull_request.number }} 53 | body: | 54 | **Link Checker Report:** 55 | The following links are broken in the README.md: 56 | ```markdown 57 | ${{ env.broken_links }} 58 | ``` 59 | -------------------------------------------------------------------------------- /CODEOWNERS.md: -------------------------------------------------------------------------------- 1 | # This repository is maintained by: 2 | @paullyoung, @michael-s-ashida, @abbitude 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at . All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | [fork]: https://github.com/github/GreenSoftwareDirectory/fork 4 | [pr]: https://github.com/github/GreenSoftwareDirectory/compare 5 | [style]: https://github.com/styleguide/ruby 6 | 7 | Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. 8 | 9 | Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE.txt). 10 | 11 | Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. 12 | 13 | ## Submitting a pull request 14 | 15 | 1. [Fork][fork] and clone the repository 16 | 1. Configure and install the dependencies: `script/bootstrap` 17 | 1. Make sure the tests pass on your machine: `rake` 18 | 1. Create a new branch: `git checkout -b my-branch-name` 19 | 1. Make your change, add tests, and make sure the tests still pass 20 | 1. Push to your fork and [submit a pull request][pr] 21 | 1. Pat yourself on the back and wait for your pull request to be reviewed and merged. 22 | 23 | Here are a few things you can do that will increase the likelihood of your pull request being accepted: 24 | 25 | - Follow the [style guide][style]. 26 | - Write tests. 27 | - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests. 28 | - Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). 29 | 30 | ## Resources 31 | 32 | - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) 33 | - [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) 34 | - [GitHub Help](https://help.github.com) 35 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright GitHub, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![GitHub's Green Software Directory](https://github.blog/wp-content/uploads/2024/09/1200x630-GHNonprofits_BlogB.png?w=1600) 2 | 3 | --- 4 | ## GitHub's Green Software Directory is a simple and easy-to-use resource that all developers can use to adopt green software tools. This list aims to help any developer find green software projects available on GitHub. 5 | 6 | ### What is “Green Software”? 7 | Green software meets all of our modern needs while being carbon aware and efficient. Only three activities reduce the carbon emissions of software: energy efficiency, carbon awareness, and hardware efficiency. 8 | 9 | As technology industry energy use grows, we believe we have a responsibility to help support sustainable practices and reduce the environmental impact of software we build. 10 | 11 | ![Graph titled "Changes emerging across the climate system," which shows indicators like carbon dioxide increasing, ocean warming, and sea level rising over time.](climateindicators.jpeg) 12 | Image source: Open access [climate visuals](https://github.com/ed-hawkins/climate-visuals) on GitHub from Ed Hawkins. 13 | 14 | ## Our Directory 15 | We reviewed all repositories on GitHub that self-identified being green software tools as their primary purpose. We compiled these into a directory of resources built by our community, for our community. 16 | 17 | We were particularly inspired by the Green Software Foundation's [awesome-green-software](https://github.com/green-software-foundation/awesome-green-software) list, a valuable resource that has been developed by the Green Software Foundation community over the past few years, and the [Open Sustainable Technology](https://github.com/protontypes/open-sustainable-technology) directory. 18 | 19 | This list is managed by GitHub Sustainability with the Social Impact Team. 20 | 21 | **Categories:** 22 | - **[Measurement](#measurement)** 23 | - **[Carbon Efficiency](#carbon-efficiency)** 24 | - **[Carbon Awareness](#carbon-awareness)** 25 | - **[Special Tools](#special-tools)** 26 | 27 | Do you know of an incredible green software repository that we missed? Let us know! This list is meant to continually grow and develop, so we welcome any suggestions from our community on how we can improve it. Create a [pull request](#contributing-to-githubs-green-software-directory) with a brief explanation to add a new project. 28 | 29 | ## Measurement 30 | > Help measure and interpret the impact of emissions and the environmental impact of software use. 31 | - [Scaphandre](https://github.com/hubblo-org/scaphandre): Scaphandre [skafɑ̃dʁ] is a metrology agent dedicated to electric power and energy consumption metrics. Use it to measure the power consumption of your tech services and get this data in a convenient form, sending it through any monitoring or data analysis toolchain. 32 | - [Kepler](https://github.com/sustainable-computing-io/kepler): Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe performance counters and other system stats, uses ML models to estimate workload energy consumption based on these stats, and then exports them as Prometheus metrics. Use it to learn about energy consumption of Kubernetes components such as Pods and Nodes. 33 | - [Codecarbon](https://github.com/mlco2/codecarbon): A Python package that estimates your hardware electricity power consumption (GPU + CPU + RAM) and then applies to it the carbon intensity of the region where the computing is done. 34 | - [Cloud-carbon-footprint](https://github.com/cloud-carbon-footprint/cloud-carbon-footprint): A tool to estimate energy use (kilowatt-hours) and carbon emissions (metric tons CO2e) from public cloud usage. 35 | - [Carbon-aware-sdk](https://github.com/Green-Software-Foundation/carbon-aware-sdk): A toolset to help you measure the carbon emissions of your software, in turn helping you measure and reduce your software's carbon emissions, and choose when and where you run your software to make it greener. 36 | - [CO2.js](https://github.com/thegreenwebfoundation/co2.js/): An open-source JavaScript library that enables you to estimate the carbon emissions produced by transferring bytes of data on the internet, get different forms of grid intensity data such as annual average and marginal data by country, and make automated queries against Green Web Foundation’s Green Domain’s dataset. 37 | - [Carbontracker](https://github.com/lfwa/carbontracker): Track and predict the energy consumption and carbon footprint of training deep learning models. 38 | - [Experiment-impact-tracker](https://github.com/Breakend/experiment-impact-tracker): A simple drop-in method to track energy usage, carbon emissions, and compute utilization of your system. 39 | - [Eco2AI](https://github.com/sb-ai-lab/Eco2AI): The Eco2AI is a Python library for CO2 emission tracking. It monitors energy consumption of CPU & GPU devices and estimates equivalent carbon emissions taking into account the regional emission coefficient. The Eco2AI is applicable to all Python scripts and all you need is to add the couple of strings to your code. All emissions data and information about your devices are recorded in a local file. 40 | - [Greenframe-cli](https://github.com/marmelab/greenframe-cli): Estimate carbon footprint of a user scenario on a web application. 41 | - [Impact](https://github.com/mlco2/impact/): ML has an impact on the climate, but not all models are born equal. Calculate machine learning emissions and add the results to your paper with this generated latex template. 42 | - [Zeus](https://github.com/ml-energy/zeus): Zeus is a library for (1) measuring the energy consumption of Deep Learning workloads and (2) optimizing their energy consumption. 43 | - [Powerapi](https://github.com/powerapi-ng/powerapi): PowerAPI is a middleware toolkit for building software-defined power meters. Software-defined power meters are configurable software libraries that can estimate the power consumption of software in real-time. PowerAPI supports the acquisition of raw metrics from a wide diversity of sensors (eg., physical meters, processor interfaces, hardware counters, OS counters) and the delivery of power consumptions via different channels (including file system, network, web, graphical). As a middleware toolkit, PowerAPI offers the capability of assembling power meters «à la carte» to accommodate user requirements. 44 | - [Green-cost-explorer](https://github.com/thegreenwebfoundation/green-cost-explorer): See how much of your cloud bill is spent on fossil fuels, so you can do the right thing and switch. We're in a climate crisis, remember? This will show you your climate-related spend analysis for AWS. 45 | - [Green Metrics Tool](https://github.com/green-coding-solutions/green-metrics-tool): Measures the energy and CO2 consumption of software through a software life cycle analysis (SLCA). 46 | - [Carbonalyser](https://github.com/carbonalyser/Carbonalyser): The add-on "Carbonalyser" allows you to visualize the electricity consumption and greenhouse gases (GHG) emissions that your Internet browsing leads to. 47 | - [GreenIT-Analysis](https://github.com/cnumr/GreenIT-Analysis): GreenIT-Analysis est une extension pour navigateur qui vous permet de quantifier les impacts environnementaux d'un parcours utilisateur complet, même derrière un firewall et / ou une authentification applicative. L'outil vérifie également l'utilisation de bonnes pratiques visant à diminuer ces impacts. 48 | - [Tracarbon](https://github.com/fvaleye/tracarbon): Tracarbon tracks your device's energy consumption and calculates your carbon emissions using your location. 49 | - [Carbonifer](https://github.com/carboniferio/carbonifer): Command Line Tool to control carbon emission of your cloud infrastructure. Reading Terraform files, carbonifer plan will estimate future Carbon Emissions of infrastructure and help make the right choices to reduce Carbon footprint. 50 | - [PyJoules](https://github.com/powerapi-ng/pyJoules): A Python library to capture the energy consumption of code snippets. 51 | - [Powerjoular](https://github.com/joular/powerjoular): PowerJoular is a command line software to monitor, in real time, the power consumption of software and hardware components. 52 | - [Eco CI Energy Estimation](https://github.com/green-coding-solutions/eco-ci-energy-estimation): A project aimed at estimating energy consumption in continuous integration (CI) environments. 53 | - [Perun](https://github.com/Helmholtz-AI-Energy/perun): Perun is a Python package that calculates the energy consumption of Python scripts by sampling usage statistics from your Intel, Nvidia or AMD hardware components. It can handle MPI applications, gather data from hundreds of nodes, and accumulate it efficiently. perun can be used as a command-line tool or as a function decorator in Python scripts. 54 | - [Cloud-scanner](https://github.com/Boavizta/cloud-scanner): Get Boavizta impact data for your aws cloud account usage. 55 | - [E-footprint](https://github.com/publicissapient-france/e-footprint): The current perimeter is the carbon footprint associated with the fabrication and usage of servers, storage, network (usage only) and end-user devices necessary for the existence of a digital service. Other environmental impacts (water, rare earth metals, etc.) will be added soon through an integration with the Boavizta API, and the lifecycle phases of device transportation and end of life are currently considered negligible. 56 | - [Carbon-tools](https://github.com/dvelasquez/carbon-tools): A set of CO2 footprint tools to measure the impact of the code we ship. 57 | - [Ecoinfra](https://github.com/eco-infra/ecoinfra): Ecoinfra is a powerful tool that helps you predict, asses, and reduce the environmental impact of your cloud infrastructure. By integrating your existing or new IaC project you can harness predictive sustainability into your cloud operations. 58 | - [PSElectricityMaps](https://github.com/cloudyspells/PSElectricityMaps): This PowerShell module is intended for retrieving emissions data from CO2 Signal for a supplied Azure Region during resource deployments. This is a lightweight solution making use of non-commercial functionality available with a free account at ElectricityMaps. This means the module is only able to get near-realtime emissions data and no prodictive values. This means this module is not a real solution for reduced carbon deployments and -software. It does however provide some nice realtime values so you can simulate the beheaviour of deployments and software based on emissions data without the cost of a paid account for such data. For example in lab- or proof of concept environments. 59 | - [PSWattTime](https://github.com/cloudyspells/PSWattTime): This PowerShell module is intended for retrieving emissions data from WattTime for a supplied Azure Region during resource deployments. 60 | - [Carbon-appinsights](https://github.com/cloudyspells/carbon-appinsights): Azure Function for logging PSElectricityMaps results for Azure regions to Application Insights. 61 | - [Energy-consumption-measuring-toolkit](https://github.com/Accenture/energy-consumption-measuring-toolkit): While running applications on-premises or in the cloud, the main consumers of power on a server will be the CPU, the GPU, the memory, and the Tech Stack. Estimating how much each consumes will give an estimate of how much power your server, or your application on a server, consumes. 62 | - [Green Kernel](https://github.com/green-kernel): This project creates an addition to the Linux Kernel which enables developers and end-users to see and quantify the energy cost of their running software on a process level. 63 | - [FrameworkBenchmarks](https://github.com/TechEmpower/FrameworkBenchmarks): This project provides representative performance measures across a wide field of web application frameworks. With much help from the community, coverage is quite broad and we are happy to broaden it further with contributions. 64 | - [Energy-Languages](https://github.com/greensoftwarelab/Energy-Languages): The complete set of tools for energy consumption analysis of programming languages, using Computer Language Benchmark Game. 65 | - [Coppers](https://github.com/ThijsRay/coppers): Measure energy consumption of unit tests, Rust. 66 | - [Cloud-jewels](https://github.com/etsy/cloud-jewels): Estimate energy consumption using GCP Billing Data. 67 | - [Green-algorithms-tool](https://github.com/GreenAlgorithms/green-algorithms-tool): The Green Algorithms project aims at promoting more environmentally sustainable computational science. It regroups calculators that researchers can use to estimate the carbon footprint of their projects, tips on how to be more environmentally friendly, training material, past talks etc. 68 | - [Carbonara](https://github.com/digital4better/carbonara/): This is a custom element to compute web navigation carbon footprint. 69 | - [Cpu-energy-meter](https://github.com/sosy-lab/cpu-energy-meter): A tool for measuring energy consumption of Intel CPUs. 70 | - [IF](https://github.com/Green-Software-Foundation/if): GSF Impact Framework for environmental impacts of software. 71 | - [Experiment Runner](https://github.com/S2-group/experiment-runner): The Experiment Runner provides a framework for automatically executing measurement-based experiments on any platform with dedicated plugins for energy related metrics collection. 72 | - [Android Runner](https://github.com/S2-group/android-runner): The Android Runner provides a framework for automatically executing measurement-based experiments on native and web applications running on Android devices with dedicated plugins for energy related metrics collection. 73 | - [Robot Runner](https://github.com/S2-group/robot-runner): The Robot Runner provides a framework for automatically executing measurement-based experiments on robotics software with dedicated plugins for energy related metrics collection. 74 | - [Cardamon](https://github.com/Root-Branch/cardamon) Cardamon is able to measure front-end websites and associated back-end server processes for end to end measurements compatible with ISO 21031 SCI specification. 75 | - [EcoLogits](https://github.com/genai-impact/ecologits): Estimate and track energy consumption and environmental impacts of generative AI models via APIs. 76 | - [BoaviztAPI](https://github.com/Boavizta/boaviztapi): Multi-criteria environmental impacts of IT resources taking into account hardware manufacturing and usage as a self-hostable API. 77 | - [ecobenchmark-applicationweb-backend](https://github.com/Boavizta/ecobenchmark-applicationweb-backend): Benchmarking different webapp scenario to compare energy consumption on several programming languages and dev practices. 78 | - [Aether](https://github.com/re-cinq/aether): Aether is a calculation engine that uses metrics of infrastructure and calculates emissions in real-time based on factors. 79 | - [Cloud Assess](https://github.com/kleis-technology/cloud-assess): The next generation cloud carbon calculator: an open source tool to automatically assess your environmental footprint as a cloud service provider. 80 | - [PowDroid](https://github.com/powdroid-project/powdroid): A lightweight tool for measuring the energy footprint of any Android application. 81 | - [Power Hog](https://github.com/green-coding-solutions/hog/): A macOS tool that visualises the resource usage (energy, carbon, energy impact) of your processes over time. 82 | - [PowerLetrics](https://github.com/green-kernel/powerletrics): PowerLetrics is an open-source framework designed to monitor and analyze power consumption metrics at the process level on Linux. 83 | - [EcoSurf Analyser](https://github.com/les-enovateurs/estimate-good-website): A browser extension that provides sustainability scores for websites, helping users understand the environmental impact of their browsing habits. 84 | - [AI Wattch](https://github.com/AIWattch/browser-extension): AI Wattch is a Chrome browser extension that estimates the carbon emissions of your ChatGPT conversations in real time. 85 | 86 | ## Carbon Efficiency 87 | > Start making changes to your software and architecture to use less energy and emit less carbon. 88 | - [Kube-green](https://github.com/kube-green/kube-green): A simple k8s add-on that automatically shuts down some of your resources when you don't need them. 89 | - [Kernel_tuner](https://github.com/kerneltuner/kernel_tuner): Create optimized GPU applications in any mainstream GPU programming language (CUDA, HIP, OpenCL, OpenACC). 90 | - [Ec0lint](https://github.com/ec0lint/ec0lint): Ec0lint is a static code analysis tool that provides users with hints on how to reduce the carbon footprint of their websites during the development process. Applying code changes suggested by ec0lint results in lower carbon emissions per visit, quicker loading and higher space efficiency. The tool is open-source and community-driven. 91 | - [ecoCode](https://github.com/green-code-initiative/ecoCode): EcoCode is a collective project aiming to reduce environmental footprint of software at the code level. The goal of the project is to provide a list of static code analyzers to highlight code structures that may have a negative ecological impact: energy and resources over-consumption, "fatware", shortening terminals' lifespan, etc. 92 | - [Geopm](https://github.com/geopm/geopm): The Global Extensible Open Power Manager (GEOPM) provides a framework to explore power and energy optimizations on platforms with heterogeneous mixes of computing hardware. 93 | - [Ecocode-mobile](https://github.com/green-code-initiative/ecocode-mobile): Mobile apps running on top of battery-limited, android-powered devices are more than others concerned by the reduction of their environmental footprint. Hence, we created ecoCode android, the version of ecoCode project fully dedicated to the Android platform. It provides static code analyzers to highlight code structures that may have a negative ecological impact: energy over-consumption, "fatware", shortening devices' lifespan, etc. 94 | - [EcoSonar](https://github.com/Accenture/EcoSonar): Raising the awareness of delivery teams to environmental issues: enabling development teams to consider the environmental impact of digital technology during development and to promote knowledge of best eco-design and accessibility practices. 95 | - [EcoCode-ios](https://github.com/green-code-initiative/ecoCode-ios): Mobile apps running on top of battery-limited devices are more than others concerned by the reduction of their environmental footprint. Hence, we created ecoCode iOS, the version of ecoCode project fully dedicated to the iOS platform. It provides static code analyzers to highlight code structures that may have a negative ecological impact: energy over-consumption, "fatware", shortening devices' lifespan, etc. 96 | - [pruna](https://github.com/PrunaAI/pruna): An AI inference optimization framework. This projects integrates major model compression algorithms in an unified way, to enable developers use faster, smaller, more efficient and greener models with a minimal overhead. 97 | 98 | ## Carbon Awareness 99 | > Learn behavior changes that will enable less carbon emissions. 100 | - [Region-carbon-info](https://github.com/GoogleCloudPlatform/region-carbon-info): This repository contains sustainability characteristics of Google Cloud regions in a machine readable format. Read more on the Google Cloud website. 101 | - [Carbon-aware-keda-operator](https://github.com/Azure/carbon-aware-keda-operator): This repo provides a Kubernetes operator that aims to reduce carbon emissions by helping KEDA scale Kubernetes workloads based on carbon intensity. 102 | - [Grid-intensity-go](https://github.com/thegreenwebfoundation/grid-intensity-go): A tool written in Go, designed to be integrated into Kubernetes, Nomad, and other schedulers, to help you factor carbon intensity into decisions about where and when to run jobs. 103 | - [Vessim](https://github.com/dos-group/vessim): Vessim is a versatile co-simulation testbed for carbon-aware applications and systems which connects domain-specific simulators for renewable power generation and energy storage with real software and hardware. 104 | - [Carbon-Aware-Computing](https://github.com/bluehands/Carbon-Aware-Computing): The goal of this project is to provide developers with hassle free, easy to use, ready to run tools for carbon aware computing. All libraries and data are open source and open data with unrestricted usage. Within private, open source and commercial software. This project will deliver a set of libraries, services and data. There are mostly extensions to other projects and all credits belong to them. To forecast the best execution time the Carbon Aware SDK from the Green Software Foundation is used. The Forecast and actual data is from Energy-Charts provided by Fraunhofer ISE. For UK the data is provided by UK National Grid ESO. 105 | - [Carbon-minimiser](https://github.com/bbc/carbon-minimiser): The National Grid have created a Carbon Intensity API for Great Britain. This allows you to access to predictions for carbon intensity across England, Scotland, and Wales. The Carbon Minimiser sits on top of this, and allows you to estimate the optimal time to perform actions to reduce their impact on the planet, by choosing times when your area has a lower carbon intensity. 106 | - [Hangfire.Community.CarbonAwareExecution](https://github.com/bluehands/Hangfire.Community.CarbonAwareExecution): A Hangfire extension to schedule tasks with carbon awareness in mind. The best point in time is calculated based on emission forecasts to get a window with a minimal grid carbon intensity. 107 | - [Compute Gardener Scheduler](https://github.com/elevated-systems/compute-gardener-scheduler): Compute Gardener is an open source Kubernetes scheduler with the goal of making it much easier for a k8s cluster operator to immediately begin employing carbon or price signal aware strategies in order to shift deferrable jobs in time and space when power is cheaper or cleaner. Compute Gardener also captures all metrics necessary to validate mitigated emissions for reporting and future carbon credit generation purposes. 108 | 109 | ## Special Tools 110 | - [Patterns](https://github.com/Green-Software-Foundation/patterns): An online open-source database of software patterns reviewed and curated by the Green Software Foundation across a wide range of categories. 111 | - [Nvidia-co2](https://github.com/kylemcdonald/nvidia-co2): Show gCO2eq emissions information with nvidia-smi, at the top right corner. For example: 79.2gCO2eq/h or 23.76mm^2/h sea ice. 112 | - [Sustainability-scanner](https://github.com/awslabs/sustainability-scanner): Sustainability scanner is an open source tool that helps you create a more sustainable infrastructure on AWS. It takes in your Cloudformation template as input, evaluates it against a set of sustainability best practices and generates a report with a sustainability score and suggested improvements to apply to your template. 113 | - [Leaf](https://github.com/dos-group/leaf): LEAF is a simulator for analytical modeling of energy consumption in cloud, fog, or edge computing environments. It enables the modeling of simple tasks running on a single node as well as complex application graphs in distributed, heterogeneous, and resource-constrained infrastructures. LEAF is based on SimPy for discrete-event simulation and NetworkX for modeling infrastructure or application graphs. 114 | - [Lite-youtube-embed](https://github.com/paulirish/lite-youtube-embed): Provide videos with a supercharged focus on visual performance. This custom element renders just like the real thing but approximately 224× faster. 115 | - [Ipmitool](https://github.com/ipmitool/ipmitool): An open-source tool for controlling IPMI-enabled systems that gets the power consumption of a bare metal machine. 116 | - [Ethereum-nft-activity](https://github.com/kylemcdonald/ethereum-nft-activity): How much energy does it take to power popular Ethereum-backed CryptoArt platforms? And what emissions are associated with this energy use? 117 | - [Carbon.txt](https://github.com/thegreenwebfoundation/carbon.txt): A proposed convention for making it possible demonstrate that your infrastucture uses green power. 118 | 119 | --- 120 | ### Contributing to GitHub's Green Software Directory 121 | We are looking for projects **on GitHub** that are actively being used/developed and can be used by others. 122 | 123 | - Create a fork of this project. 124 | - Create a new branch. 125 | - Add your project to a relevant category in the following format: [Project Name](Project URL) - A sentence that describes your project. 126 | - Create a pull request and wait for it to be reviewed and merged. 127 | - Further details on how create pull requests can be found in the official [GitHub documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). 128 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | Thanks for helping make GitHub safe for everyone. 2 | 3 | # Security 4 | 5 | GitHub takes the security of our software products and services seriously, including all of the open source code repositories managed through our GitHub organizations, such as [GitHub](https://github.com/GitHub). 6 | 7 | Even though [open source repositories are outside of the scope of our bug bounty program](https://bounty.github.com/index.html#scope) and therefore not eligible for bounty rewards, we will ensure that your finding gets passed along to the appropriate maintainers for remediation. 8 | 9 | ## Reporting Security Issues 10 | 11 | If you believe you have found a security vulnerability in any GitHub-owned repository, please report it to us through coordinated disclosure. 12 | 13 | **Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** 14 | 15 | Instead, please send an email to opensource-security[@]github.com. 16 | 17 | Please include as much of the information listed below as you can to help us better understand and resolve the issue: 18 | 19 | * The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting) 20 | * Full paths of source file(s) related to the manifestation of the issue 21 | * The location of the affected source code (tag/branch/commit or direct URL) 22 | * Any special configuration required to reproduce the issue 23 | * Step-by-step instructions to reproduce the issue 24 | * Proof-of-concept or exploit code (if possible) 25 | * Impact of the issue, including how an attacker might exploit the issue 26 | 27 | This information will help us triage your report more quickly. 28 | 29 | ## Policy 30 | 31 | See [GitHub's Safe Harbor Policy](https://docs.github.com/en/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor#1-safe-harbor-terms) 32 | -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Support 2 | 3 | ## How to file issues and get help 4 | 5 | This project uses GitHub issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new issue. 6 | 7 | For help or questions about using this project, please open a blank issue. 8 | 9 | Please include one of the following statements file: 10 | 11 | GitHub's Green Software Directory is under active development and maintained by GitHub staff and the community. We will do our best to respond to support, feature requests, and community questions in a timely manner. 12 | 13 | ## GitHub Support Policy 14 | 15 | Support for this project is limited to the resources listed above. 16 | -------------------------------------------------------------------------------- /climateindicators.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/GreenSoftwareDirectory/157c316e30ab194672918ac4ad741001ddf5a8df/climateindicators.jpeg --------------------------------------------------------------------------------