Giter Site home page Giter Site logo

protontypes / open-sustainable-technology Goto Github PK

View Code? Open in Web Editor NEW
1.9K 50.0 221.0 25.47 MB

A directory and analysis of the open source ecosystem in the areas of climate change, sustainable energy, biodiversity and natural resources.

Home Page: https://opensustain.tech

License: Creative Commons Attribution 4.0 International

sustainability photovoltaic energy-consumption energy wind-turbine ocean renewable-energy carbon-emissions awesome awesome-list

open-sustainable-technology's Introduction

This project is deprecated without any replacement. If you are interested into fully automated and transparent distribution of funding within open source please contact the main developers.

Continuous Funding

LibreSelery is a command line tool to distribute funding in free and open source projects. With a new funding model, it offers transparent, automated and adaptable compensation of contributors. The aim is to replace the middleman in donation distribution as far as possible with a free and transparent algorithm. Unlike most other donation systems LibreSelery only offers a decentralized tool and not a platform.

Join the chat at https://gitter.im/protontypes/LibreSelery Docker Pulls stability-experimental

This project is funded by LibreSelery itself. If you actively contribute to this repository, you will receive a small amount of cryptocurrency from the donation pool to your public email address on GitHub.

Actions Status Balance BTC Balance EUR Donate with bitcoin Transaction History

Benfits for your Project

  • Attract new developers by sharing donations with your dependency tree.
  • Strengthen the bond with existing developers.
  • Reward the contributors keeping the project up to date.
  • Attract new donors by distributing donations to the people actually working on the project.

Concept

LibreSelery is a simple command line tool that runs upon any GitHub hosted project manually or automated by continuous integration. It works with a donation pool containing cryptocurrency in a wallet. With each run a small amount is taken from the donation pool and is distributed to the project's contributors and dependencies. The project owner has the freedom to customize the distribution but it is done openly in-front of the community.

It is designed to run in a continuous integration pipeline like GitHub Actions. Donation transactions are automatically handled and transaction details are published for transparency into the wiki of your repository. Even the donation website is automatically created in your Wiki.

Donations are divided between contributors based on public and transparent metrics. The metrics can be configured per repository and are based on the following weights:

  • Uniform Weight: Everyone who contributed a minimum number of commits to the main branch is considered
  • Activity Weight: Everyone who contributed in the last X commits
  • Service Weight: Everyone who contributed to successful pull requests based on issues in the last X commits (not implemented yet #132)

The amount distributed to each contributor is calculated from an accumulation of these weights. It is sent via the cryptocurrency market API to the public email address of the git platform user profile. You can even configure the compensation of contributors from your own dependencies, therefore donating money back to open source platforms which play an integral role in your project.

The weights calculations are under active development and will be extended in the future in cooperation with the community. We always listen to concerns and actively seek options for fair and appropriate measures of payout weights. The goal is a system that is fair and recognizes the contributions made without being susceptible to abuse. Furthermore the issue of 'morality' is still open and any issues, concerns or ideas, regarding the following questions, are always welcome:

  • Which metric should give contributions more weight than others?
  • How can we design metrics, which do represent and reward more helpful contributors?
  • Feedback on how we can improve the metrics.

Implementation

LibreSelery ...

  1. is configured based on the selery.yml file and runs as a GitHub Action on your project.
  2. is triggered with every push on the main branch by the GitHub Action worflow file that is part of your project repository.
  3. gathers contributor information about the target project via the GitHub and Libraries.io API.
  4. filters out contributors with a hidden email address in the GitHub profile and below the minimum contribution limit. LibreSelery will not send emails to the git commit email addresses in order to avoid spam.
  5. creates custom funding distribution weights based on the contribution rating of various projects: Minimum contribution, activity, ...
  6. adds the weights to the combined weight used for different distribution splitting behaviors.
  7. distributes the funding between the contributors based on the selected split behavior.
  8. pays out cryptocurrency to the selected contributor's email addresses via the Coinbase API. Contributors without a Coinbase account will receive an email to claim the donation.
  9. automatically generates a donation and transaction visualization website in your GitHub wiki.

Features

  • Transparent payout of GitHub project contributors with every push you make to your main (master) branch.
  • Minimal changes to your GitHub project as shown in the seleryaction to adapt LibreSelery with just a few steps.
  • Detailed transaction history is regenerated in your github wiki every time you run LibreSelery.
  • User defined payout configuration by the selery.yml.
  • Dependency scanning for most languages to include developers of your dependencies using Libraries.io.
  • The funding is distributed via Coinbase. Other payment methods like Uphold are currently work in progress.
  • Donators can see transparent payout logs in GitHub Action.
  • Self-hosted donation website for secure donations is automatically stored in the Wiki of your repository.
  • Simulate the funding distribution for your repository without actually transferring payout to see how the distribution would look like.
  • Automated plot generation on how much was paid out to which developer.
  • Add additional dependencies from your runtime and development environment to the tooling_repos.yml like Docker or Linux that LibreSelery is not able to find out based on your repository information.
  • Splitting Strategies:
    • full split - All contributors receive a payout according to their weight.
    • random split - X contributors are randomly picked using the weight as probability.

Getting Started

Since the project is in its early stages the amount of funding on your wallet should therefore be limited.

GitHub Actions Integration

Use the template seleryaction to integrate LibreSelery into any GitHub project. Starting with GitHub Actions integration is the easiest way for newcomers and people without Linux knowledge.

Command Line Usage

Running with Docker

  1. Install Docker.
  2. Clone LibreSelery and build your Container.
cd ~
git clone https://github.com/protontypes/libreselery.git
cd libreselery
docker build -t libreselery .
  1. Clone your target repository.
cd ~
git clone <target_repository>
  1. Create a token file for your user, where you store API keys and secrets. The scope of your github token should not include any additional permissions beyond the standard minimum scope. Find out more about how to create GitHub tokens here.
mkdir -p ~/.libreselery/secrets ~/.libreselery/results/public
touch ~/.libreselery/secrets/tokens.env
  1. Copy a selery.yml into your <target_repository>.

  2. Libreselery currently supports Coinbase. To enable valid payouts using Coinbase:

  • Create a dedicated Coinbase account with limited amounts. Coinbase does not support sending emails to yourself. That's why you should use a dedicated email address when you are the owner of the Coinbase account and contributor of the project. Otherwise LibreSelery will skip these payouts.
  • Buy some cryptocurrency. See the price list for transferring money into the Coinbase account.
  • Configure the access control settings of the automated Coinbase wallet.
  • Never transfer or store large values with automated cryptocurrency wallets. Use recurring automated buys to recharge you wallet on a regular base to avoid financial and security risks. Coinbase does not charge for transferring cryptocurrency from one Coinbase wallet to another.
  • Add your Coinbase API keys and secrets to the newly created file (~/.libreselery/tokens.env). Never store these tokens in a public repository. Replace XXXXX with the Coinbase and Libraries.io tokens to get started without creating an actual accounts for these APIs.
COINBASE_TOKEN=<your_coinbase_token>
COINBASE_SECRET=<your_coinbase_secret>
GITHUB_TOKEN=<your_github_tokens>
LIBRARIES_API_KEY=<your_libaries_io_tokens>
  1. If you don't have a Coinbase account, the payouts can be simulated. To enable simulation mode:
  • Set simulation: True and include_dependencies: False in your selery.yml in your <target_repository>.
  • Adjust and test different configurations in selery.yml according to your requirements.
  • LibreSelery just needs API tokens from GitHub in simulation mode. Edit the ~/.libreselery/tokens.env as follows:
COINBASE_TOKEN=XXXXX
COINBASE_SECRET=XXXXX
GITHUB_TOKEN=<your_github_tokens>
LIBRARIES_API_KEY=XXXXX
  1. Make the token file read only.
chmod 400 ~/.libreselery/secrets/tokens.env
  1. Send cryptocurrency to weighted random product contributors with a valid visible email address on GitHub:
env $(cat ~/.libreselery/secrets/tokens.env) ./run.sh <target_repository>

Run directly on your host machine

  1. Install the Python and Ruby dependencies on your machine.
sudo apt update && sudo apt install git ruby ruby-dev curl python3-pip
  1. Install LibreSelery and Python dependencies.
cd ~
git clone https://github.com/protontypes/libreselery.git
cd libreselery
pip3 install .
  1. Ensure that $HOME/.local/bin is in $PATH. Check the output of echo $PATH. If it does not contain .local/bin add the following line to your dotfile for example ~/.bashrc.
export PATH=$HOME/.local/bin:$PATH
  1. Follow Step 3 to 9 of the Running with Docker instructions. They should not differ at this steps.

  2. Run LibreSelery on your target project and enjoy fresh Selery.

env $(cat ~/.libreselery/secrets/tokens.env) selery run -d ~/<target_repository> -r ~/.libreselery/results/

Roadmap

LibreSelery is going to support multiple APIs and assets in the near future like:

  • GitHub
  • Gitlab
  • Savannah
  • Libraries.io
  • Coinbase
  • Uphold
  • GNU Taler

Frequently Asked Questions

What about Goodhart's Law? ("any measure which becomes a metric ceases to be a useful measure")

Solving this problem that is one of the core challenges of LibreSelery. We combine multiple weights calculated based on different project data. Via the GitHub API we can even create weights based on projects activity like merging, code review, issue creation, etc... By the accumulation of all weights, we try to avoid rewarding just one behavior. One of the most important metrics will be how much pull requests X have been solved based on the Y issues. We also have a minimum contribution limit that you can adjust for your project. By making all payments transparent, everyone involved can see what the distribution looked like in the past. In principle, every company has metrics for the distribution of funds. Unfortunately, these are often very non-transparent. In contrast, we try to solve the whole thing with the community. That is why our architecture allows you to add more and more weights. These weights can be balanced between each other depending on your project and community. There will never be one ideal metric that can determine the performance of totally different people. We even have a simulator on our roadmap to fine tune the weights.

Find more information on this discussion in our issue board: #159 #132

What are the transaction fees?

Since LibreSelery is only a tool and not a platform, we do not and cannot charge any fees. Only buying and selling cryptocurrency on Coinbase has fees. Transactions between Coinbase wallets have no fees.

Can I do micro transactions?

Yes, you can do that. But please try to avoid spamming people with emails. Every payout results in an email. To disable notification emails, set send_email_notification: False. Users without a Coinbase account on their github profile email address will still receive emails. Sending cryptocurrency between Coinbase wallets is for free. The Coinbase API allows you to send a minimum of 0.000001 BTC. Coinbase Help:

We do not charge for transferring cryptocurrency from one Coinbase wallet to another

When should I use the random_split strategy?

Let's assume you have a small donation that you want to distribute within a larger project. full_split could cause your transaction to fall below the allowed limit of 0.000001 BTC. Not many people in your project may have a Coinbase account. Only few people would open an account for 10 cents. With the random distribution, individual donors are randomly selected based on their weight and receive a larger donation. Over a longer period of time, the same distribution should emerge as it would with the full_split distribution.

When does my credit expire at Coinbase if I do not open an account?

Coinbase Help:

After 30 days, any cryptocurrency sent via email that has not been claimed by the recipient will be returned to the sender.

My Country is not supported by Coinbase. How do I withdraw my donation?

Coinbase Officially Supported Countries:

You can always use Paypal as a transaction bridge. Find more information on the the Paypal integration into Coinbase here

Is this part of the Coinbase referral program?

Coinbase Help:

The Coinbase referral program lets you earn a bonus for each successful referral registered to your account! If your friend visits coinbase.com/trade and initiates a buy or sell of $100 USD or more (or 100 USD equivalent of your domestic currency) within 180 days of opening his or her account, you both will receive a 10 USD (or 10 USD equivalent of your domestic currency) referral bonus when the order completes. Orders can take up to 4 business days to complete. [...] You can also send funds to an email address. This will register as a referral as well.

LibreSelery is working on a way to make even this referral income transparent for the sending account.

How does this work from the legal side in the context of people partly funded by third-party sources, being employed in academics, or people working in industries?

LibreSelery will send the donation to the public email address of your GitHub account. In case the email address is a business or academics address you need to talk to your organization about what to do with the donation. If you have entered a private e-mail address here, you can accept donations at your own discretion. We consider your project contribution as privately done that has not already been rewarded.

Support LibreSelery

Donations

Certainly we are funded by LibreSelery with our donation website. The usage and development of LibreSelery will always be free and without any charges. If you want to support us by using LibreSelery on a regular base you just need to add us to the tooling_repos.yml of your project. The donations are distributed among the developers of LibreSelery, how else?

Contributions

Those who have contributed to the master branch receive emails with cryptocurrency from Coinbase. Only git profiles with emails on the GitHub profile page will be considered. Find out more in the contribution guide or look into the good first issue labels to get into the project with some first simple tasks.

Contact and Feedback

For further information please contact us at team_at_protontypes.eu, join our Gitter chat or check out our wiki. The organisation behind LibreSelery is protontypes. We are building an "Open Accelerator for Free and Sustainable Innovation" based on LibreSelery. Find out more on https://protontypes.eu/.

Artwork by Miriam Winter and undraw

open-sustainable-technology's People

Contributors

agentmorris avatar ahmadchokhachian avatar andrew avatar arnetr avatar billyz313 avatar changliao1025 avatar clampr avatar danielhuppmann avatar ekatef avatar elaristi avatar elvbom avatar fkromer avatar hannesdiedrich avatar holgerteichgraeber avatar javiarrobas avatar jnioche avatar johannamay avatar joshhopkins avatar jtorreggiani avatar julienmattiussi avatar kkulma avatar ludee avatar ly0n avatar mathadon avatar nmstreethran avatar rafmudaf avatar ruijis avatar scheidan avatar tjarkdoering avatar zhenev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-sustainable-technology's Issues

Evaluation of ClimateBERT for similar use cases using OpenSustain.tech data

The OpenSustain.tech datasets represent the largest catalog of knowledge at the intersection of environmental sustainability and OpenSource. Developments such as ClimateBERT have shown that AI can be trained on the IPCC report to answer questions about these knowledge sets:
https://www.chatclimate.ai/

Imagine an AI that could answer the following questions:

  1. what open source tools and data can I use for use case X in environmental sustainability?
  2. I would like to contribute to an open source project in the area of environmental sustainability. What are the best projects to contribute to based on my skills and interests?

What are the risk, challenges, values, requirements and costs that come with such an development?

Creating a About Section

We need an "About" Section:

  • Legal Disclosure
  • Some more information on the background.
  • Some information about the history of this list
  • ...

Creating a tool to extract metadata from ecosyste.ms

@andrew created an fantastic way to get the metadata of all listed projects via his platform: https://ecosyste.ms/
Here a simple visualization of the whole dataset:
https://summary.ecosyste.ms/collections/1

For the next report we need a simple python tool to extract the data automatically into a table (CSV). Additionally, the tool allows us to identify which metadata is missing. This includes, among other things, organizational data. Afterwards we have to decide whether it is in the interest of ecosyste.ms to provide this data via the platform or whether we should write our own tool that obtains the data via the GitHub API.

Creating a long time roadmap / strategy to evolve the website

The current front-end and back-end of the website needs evolution. This includes:

  1. Comprehensive search function that includes the metadata collected from the projects.
  2. News feed about new listed projects.
  3. A way to visualize the projects and organisations as a landscape ( see https://landscape.lfenergy.org/ ). How can we integrate the LF Energy Landscape view?
  4. Dashboard of the report
  5. Simple way to contribute new projects
  6. Traffic Analytics ?

Since the current website with the list on the landing page gives us very good Search engine optimization (SEO) we should be very careful how to change the website. Many developers prefer this list style ( me including )

Changes to the website have a major impact on the entire project. Careful planning with good advice is urgently needed here.

Splitting and restructuring of the fields / topics

The current structure of the fields / topics has resulted in some subject areas becoming very large. This makes the list difficult to navigate. In addition, it would be interesting to better divide the subject area in the analysis to make focal points and gaps more recognizable. This structure has an significant impact on the data analysis we are doing. My good old collage @kikass13 developed the parser we are using at the moment for the list. If we would add another level to the list like field / topic / subtopic we have to change this script. A new structure also has significant on the website framework. Therefore, it would be good to find a structure that allows us to keep with a 2 level structure.
Here are some fields that urgently need splitting and a suggestion how to split them:

  • Biosphere

    • Biodiversity
    • Forest and Vegetation
    • Wildfire
    • Biomass
    • Habitats Conservation and restoration
    • Marine life and Fishery
  • Hydrosphere

    • Freshwater and Groundwater
    • Oceans
    • Coastal and Reefs
  • Atmosphere

    • Atmospheric Dynamics
    • Atmospheric Chemistry
    • Clouds and Water Vapor
  • Cryosphere

    • Glacier
    • Arctic and Antarctic
    • Snow and Permafrost

Website looks out sync with docs

Hey, I just checked https://opensustain.tech/contributing/ and found that bullet points in the Contribute to the list section are not being correctly rendered. When I wanted to check what the reason might be I also found that the document under docs/contribution.md has slightly different content, so something seems to be amiss. Unfortunately I couldn't find out much more, but hopefully it helps to identify the issue.

Create a mastodon presence

Similar to twitter our account.

Milestones:

  • Create one
  • Continuous integration of PRs
  • Move to a foss instance

Compile a list of new projects based on the organisations namespaces

A simple way to discover new projects of the last year is by automatically scanning the relevant namespaces of this ecosystem for projects that have been active in the last year. This list can than be compared with the projects already on OpenSustain.tech.

Here the last update ( 4 months old ) of the organisations:
https://github.com/protontypes/AwesomeCure/blob/main/csv/github_organizations.csv

I will try to do an update of the list at the weekend.

Fixing redirecting links

Hi,

I think it would be a good idea to periodically check all the links in this repository and fix the ones that are redirecting.

For example, I noticed that the link to PowerGenome (https://github.com/gschivley/PowerGenome) redirects to https://github.com/PowerGenome/PowerGenome. If, in the future, a new repository or fork is created that points to the old URL, the link will no longer be correct.

To prevent this from happening, you could set up a scheduled GitHub Action with a link validator (such as awesome_bot) to check links every month or so. In addition to redirecting links, this will allow you to identify links that no longer exist, or name changes to projects.

Thanks and I apologise if you have already discussed this. I didn't find anything related in the issues so I thought I'll post my ideas here!

Description of Field and Topics

Many section titles are not completely self-explained. In order to improve the ordering of the list every section should be discriped with at least one sentence.
Here an example:

Life-cycle assessment

a methodology for assessing environmental impacts associated with all the stages of the life-cycle of a commercial product, process, or service

Rethink Carbon Footprint Section

After reading this we might consider renaming the carbon footprint section:
https://en.wikipedia.org/wiki/Carbon_footprint

The term was popularised by a $250 million ad campaign by the oil and gas company BP in an attempt to move public attention away from restricting the activities of fossil fuel companies and onto individual responsibility for solving climate change

Project Hoodie

Let us create a high-quality hoodie for OpenSustain.tech Contributors.

Milestones:

  • Motivate People that have already contributed by sending them a hoodie
  • Give new contributors a hoodie
  • Give contributors of the listed projects a hoodie, like Hacktoberfest

Task:

What is the role of AI in this open source ecosystem?

We are in the unique position of being able to quantify the application of machine learning, deep learning and artificial intelligence within sustainability. One way to do this is based on the dependencies of the open source software projects and their dependencies. Another way is NLP or simple keyword matching based on the project READMEs.

The results of this analysis could be of interest to a very large group of people.

Create a Georeference / Country / State / Resolution Label

The spatial resolution / global coverage georeferencing of the projects plays an important role in searching the database. Automated labeling of the datasets by NLP is from my point of view not target-oriented. To manage such labels in the long term a real database is necessary instead of the CSV file.

match with conda-forge

It would be interesting to see which of this Software is in the conda-forgerepository so we could get it easily installed by the mamba installer.

Are there plans to map this information?

Work with copy editor(s) with background in sustainability

It will be important to work with one or more copy editors who have a keen eye for detail and are familiar with sustainability topics. This effort may come from the greater community, but more likely will require funding for external resourcing.

Create an improved dashboard with all the ecosystem plots

The website of the latest report divides the different plots into different pages. This makes the report difficult to read and does not give a good overview of the ecosystem. For the next report a dashboard would be optimal that gives a good overview over all the plots. To create this dashboard, several points need to be analyzed:

  1. How can we combine the existing plots on a single page?
  2. What are the best tools for that and how can we integrate the dashboard into the existing website? So far we used Jupyter Book with Plotly. Quarto could be another option for the dashboard.
  3. How can we improve the existing plots?
  4. What other plots can be created from the existing data?
  5. What other data would be interesting to plot?

The preprocessing for the plots and the creation of the plots is done in this repository:
https://github.com/protontypes/open-source-in-environmental-sustainability

Please be aware that many important preproccesing steps are done in the Overview notebook: https://github.com/protontypes/open-source-in-environmental-sustainability/blob/main/open-source-in-environmental-sustainability/chapters/overview.ipynb

This notebook creates another CSV that is used by all the other notebook. This software architecture is really not elegant but it was enough for the last report.

Apply for 2023 Digital Infrastructure Insights Fund RFP

This fund looks like it was made for us:
https://fordfoundation.forms.fm/2023-digital-infrastructure-insights-fund-rfp/forms/9724

"We aim to back the development of pertinent work that examines the convergence of open-source software and digital infrastructure with social movements focused on democracy, rights, justice, the environment and scientific research."

Deadline:
Oct 1 at 12:00am
In your local timezone (GMT +2)

Grant Amount: We seek to support proposals addressing a range of issues and different scopes that are in a ballpark between $50k – $125k for 6 - 12 months projects, managed via Open Collective (exceptions possible for 18 month-proposals)

Compilation of a list of interview partners

For the next report we need a list of people we want to interviews. Criteria for selection should be:

  1. High impact in the ecosystem. Long time experience.
  2. Developers or users of tools and associated data sets.
  3. Variety of organisation perspectives: Academia, For-Profit, Non-Profit Background, Startup, Community,...
  4. Variety of topics: Biosphere, Water Suppy, Battery, ....
  5. Variety of personal backgrounds: Origin, age, opinions,...

One way to find such interview partners is the list created by @andrew. You will find the contributors commited to the most projects here on the right side under committers:
https://summary.ecosyste.ms/collections/1

Creation of a workflow for collaborative Jupyter notebooks

For the further development on the next report we need a workflow with Jupyter Notebook. The platform should allow to work collaboratively on the data analysis, machine learning and plotting. The workflow should:

  1. Allow anyone to open a Jupyter notebook in the cloud without deep Python or cloud skills
  2. Be version controlled via GitHub.
  3. Remove output from Jupyter Notebook to reduce repository size and enable easy merging of notebook
  4. Easy to adapt for multiple data science notebooks
  5. Support the tools we are using at the moment: Plotly, BERTopic, pandas
  6. GPU for using NLP
  7. Support for Jupyter Widgets if possible.

One way to test the workflow is the notebook we used so far for the experimenting with NLP:
https://colab.research.google.com/drive/1Y5exVWXYFvbYp0yzbJcpya6FL8HejYRu?authuser=0&pli=1#scrollTo=BG8S-Qz_Lmy8

Automated online discovery of open source projects in scientific publications

A tool that compiles a list of new projects in this way of the last X years can significantly help the discovery of new projects and the usage of projects.

Most of the open source project in this ecosystem are developed and used within science. Manually searching for projects with the keyword "git" in combination with the keyword dictionary of the ecosystem is a good way to identify new projects. At the same time it is another way to identify the usage of open source projects.

A short search showed that there are a lot of open source tools that might be suitable for this work:

OpenSustain School

Have an educational resource to help people to start contributing and give them an overview over best practices.

Apply as an official LF Energy project

OpenSustain.tech needs more partners to grow and sustain the project in the long term. LF Energy can also help build a neutral govermance structure. Additionally, there are a lot of synergies with LF Energy and a lot of interesting people at LF who want to help to develop OpenSustain.tech further.

Improve health analytics

In the last report, we relied heavily on the Development Distribution Score (DDS) when considering the health of a project. Andrew has already made an extension here calculating the DDS only for the last years. It would be interesting to analyze the DDS in more detail and compare correlations of this value with other variables. First approaches to this can already be found in the last report. It would be interesting to compare this value with other largest values like the number of issues closed in the last year and the download numbers in the last year. This would be essential in assessing whether a project needs support.

Perhaps we can also identify other indicators that could be useful in evaluating the health of the project.

Refactoring and Search Functionality for Open Sustainable Technology

The current design of the website makes it difficult to search and find projects according to criteria such as "programming languages" or specific topics. Therefore, the project always receives poor feedback on its usability. Therefore, we are looking for a concept to better integrate the previously created database into the existing website or to transfer it into a new website.

The requirements are:

  • Easy maintainability
  • Low energy consumption of the website
  • Hosting on GitHub pages if possible
  • As far as the functionality is not restricted, based on open source tools.

Database:
https://airtable.com/shr9we419r2TkpLkc

The aim of the website is to give beginners as well as experts in the field of sustainable technologies a possibility to discover software tools, projects, datasets, communities, tutorials and other resources easily related to their own problems and questions.

First, a proof-of-concept is needed that shows how the website in its current state can be transferred to the new state.

Broken links

Hi, I found some broken links:

Create incentives for external contributors to update the database

The high value of the projects lies in their completeness, which shows the vast majority of the open source ecosystem in this area. Before this project the open source community had problems to find good and active projects in the field. To achieve this quality, I put more than 1500 hours into curating and researching for the project.

On the one hand, this leads to a massive distortion of my view, and on the other hand, I will no longer be able to devote time maintaining to this extent in the future. Another problem is the "fun" of the research. In the beginning, Tjark and I were able to identify many projects very quickly. Now it often takes hours to identify new projects and I am mainly busy working my way through projects that have already been listed. This is no longer really motivating for external and internal contributors.

To ensure the quality and updates of the website in the long run we need incentives to the community to involve them in the maintenance of the project. What we have tried so far:

  1. Sending contributors money automatically via LibreSelery. You will get a lot of pull requests in this way but most of the were garbage and created a lot of management overheat. ( I invested about 300€ in this way)
  2. Planting Trees with Continuous Reforestation for every merged pull request. That led to a few more pull requests, but most people didn't really feel motivated by it. I think most of the pull requests would have been created even without the tree planting. Tree planting is also very controversial. Many studies have shown that a lot of the very cheap tree planting does not lead to sustainable ecosystems and forests. ( Invested about 700€ into this)
  3. Consulting, marketing and blog post for new projects. This worked much better, but was very time consuming. With a team of people / community this could work much better.

If you look at the pull requests, you'll notice that most people add their own projects to the list. Preferably also always on top of the list ;). I think this is a good place to start.

I had some interesting discussions on this topic with Eirini and Josh in the past. What could be very helpful for many new projects that are listed on OpenSustain.tech is a kind of "Open Source Starter Kit". We could provide a combination of multiple support packages: Open source projects could determine for themselves what kind of support they want in which combination:

  1. Consulting on the maintenance and how to sustain the project.
  2. Marketing support ( Podcast, Logo, Blog Post, ....)
  3. Testing and feedback on Code Quality / Documentation and other technical aspects.
  4. A small injection of grants (for example 100€) to cover costs such as website domain, travel or cloud time at the start of the project. Especially the latter is hard to raise for small open source communities what make the development of open source AI application much more difficult.
  5. Credit for courses / training of the Linux Foundation
  6. Networking with possible partners

What do you think about this proposal. What do you think are possible incentives?

Reorder Energy System Assessment Section

#73
@danielhuppmann

Beyond the scope of this PR, but there seems to be a bit of confusion between the "Modeling" section and the "Analysis" section - many of the entries in "Analysis" are really modelling frameworks (e.g., PyPSA, oemof, matpower, POMATO), whereas pyam and the Open Energy Platform (and possibly others in that section) are tools for analysis-and-visualization packages/tools (but not for creating the scenario results). A bit of a review and structuring/tagging might be helpful...

Preparation of a list of new projects and organizations, which have been added since the last report

A key aspect of interest to our readers and users are new projects and organizations identified through our work. To give us an overview of the new projects, a CSV file with the new organization and projects is essential. Hundreds of new projects have been added to the list since the last report. This list could also be essential for identifying possible interview partners.

However, this would first be a first screening. I hope that by publishing the report as a PDF and by publicly announcing the next study, we will be able to identify significantly more projects.

Add open sustainable business / extend contribution area

With the website in mind and and goals extending beyond the list itself, contribution becomes a broader term.
Contribution (within our cause) can be basically anything that is aiming at sustainability and open source.

I would suggest extending the contribution guide and making a new category, sth. like "Open Sustainable Business".
To have an area to gather events like hackathons and similar events. To make contributing in any sense more accessible.

Prepare method for qualitative interviews

Based on the experience we had with the last report the method for qualitative interviews and analysis can be extended. In order to conduct a large number of interviews, it is necessary to find a standardized workflow so that the interviews remain comparable with each other. The questionnaire could consist of a standardized questions and a free part tailored to the project.

The workflow includes:

  1. Creation of a email template to contact people. In many cases, it is easier to make initial contact via LinkedIn. Initial contact via email should be through a known and trusted email domain (Linux Foundation would be ideal).
  2. Interview partner should be offered a common blog post (CC 4.0) that we create based on the interviews. This blog post will be released on the OpenSustain.tech website.
  3. Generation of a framework / method for the evaluation of the interviews.
  4. Creation of methods to compare qualiative and quantiative questions.

Further experimenting with NLP based on project oneliner and README

We have already started initial experiments with the Natural Language Processing (NLP) tool BERTopic. First attempts can be found here: https://colab.research.google.com/drive/1Y5exVWXYFvbYp0yzbJcpya6FL8HejYRu?authuser=0&pli=1#scrollTo=BG8S-Qz_Lmy8
Please contact me if you want permission to edit the notebook.

Such a development could have a variety of benefits for our project:

  1. Better and consistent labels over all projects. —> Much better plots to show the distribution of projects based on topics.

  2. Graph showing connections between topics —> Showing how the ecosystem is connected based on topics and which projects provide important notes.

  3. Creation of a dictionary with the relevant words / topics within the open source sustainability ecosystem —> Very important for further investigations and for gap analytics. What topics are missing so far in our analytics.

  4. Automatic discovery of new projects based on the dictionary

  5. Investigate the role of AI within the ecosystem based on AI related topics within the READMEs. Related to #155

This task is certainly not easy, but the developer of BERTopic has offered us his support. Please contact me if you want me to make a contact here.

Another open source project which could be potentially interesting here is: PandasAI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.