Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Continuous and Transparent Developer Payout

OpenSelery is a decentralized framework for a free and transparent salary distribution in free software. It defines a funding distribution to generate a transparent and adaptable cash flow to your digital project and all its contributors, including your dependencies.


Actions Status Docker Cloud Build Status Updates
stability-experimental

Balance Balance
Donate with bitcoin Transaction History

Please keep in mind that OpenSelery is in an experimental state right now. The amount of funding should therefore be kept to a minimum.

Features

  • Transparent payout to the developers of your Github project.
  • Dependency scanning for most languages to even include developers of your dependency.
  • Distribution of money is done via Bitcoin (currently via coinbase).
  • Investors can see a transparent payout with public CI logs.

How does OpenSelery work?

  1. OpenSelery is configured based on the selery.yml file, so it runs as a CI-job in GitHub.
  2. Gathers contributor information about the target project via the Github and Libraries.io API
  3. Filters out contributors that not made the email address visible in the Github profile.
  4. Creates a uniform weight distribution between all contributors. Custom distributions like release participation are under construction.
  5. Creates an activity weight between all contributors to reward activity.
  6. Sums the weights.
  7. Randomly chooses contributors based on the weights.
  8. Pays out Bitcoin to the chosen contributor email addresses via the Coinbase API. Contributor without a Coinbase account will get a email to claim the donation.

Demo

demo

Continuous Integration

Use the github template to integrate OpenSelery into your in your project with a single github action file.

Command Line Usage

Create the access Tokens and Accounts

  1. You will need API tokens for Github and Libraries.io. Then you can simulate payouts without the coinbase token to try it out and find the right settings. You can later add the coinbase token. Configure the access control settings of the automated coinbase account.

  2. Install with docker:

cd ~
git clone https://github.com/protontypes/openselery.git
cd openselery
./build.sh
  1. When you are done trying it out, create a dedicated coinbase account with limited amounts. OpenSelery is based on the APIs of Libraries.io, Github and Coinbase. Setting simulation to false (in your selery.yml) will require your coinbase tokens.

  2. Never transfer or store large values with automated cryptocurrency wallets. Use recurring automated transaction from another account to recharge you wallet on a regular base.

  3. Transfer some money to this wallet for testing. See the price list for transfering money into the coinbase account.

  4. Create a readonly token file for your user, where you store API keys and secrets:

mkdir ~/.openselery/
touch ~/.openselery/tokens.env
chmod 400 ~/.openselery/tokens.env
  1. Add your API keys and secrets to the newly created file (~/.openselery/tokens.env). Never store these tokens in a repository.
nano 

COINBASE_TOKEN=XXXXXXXXXXXXXXXX
COINBASE_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LIBRARIES_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  1. Configure your distribution in the selery.yml file located in ~/.openselery/ or your <target_repository> The simulation paramter is set True by default. You will need the COINBASE_TOKEN and COINBASE_SECRET when setting Simulation to False in your selery.yml. You can use the selery.yml template from the OpenSelery project, modifiy it and copy it into you <target_repository>.

Clone OpenSelery

git clone https://github.com/protontypes/openselery.git

Fund the target repository

This will send cryptocurrency to weighted random product contributors with a valid email address on the git platform (GitHub) or git commit:

Run as dockerized Command-Line Tool

env $(cat ~/.openselery/tokens.env) ~/openselery/run.sh <target_repository>

Run nativly on Debian / Ubuntu

  1. Install Dependencies
sudo apt update && apt install git ruby ruby-dev ruby-bundler build-essentail curl python3-pip
cd openselery
bundle install 
pip3 install -r requirements.txt
  1. Run OpenSelery
TARGET_DIR=<target_repository> && env $(cat ~/.openselery/tokens.env) python3 selery.py --config $TARGET_DIR/selery.yml --directory $TARGET_DIR --result results

Contribution

Constributors on the master branch will probably get emails with cryptocurrency. Only git profiles with emails on the Github profile page are considered.

Knowledge Base

Metadata

Release files for openselery 0.0.1.dev217

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openselery 0.0.1.dev217
File Size Uploaded Provenance Actions
openselery-0.0.1.dev217.tar.gz 17.7 kB Without provenance Details for openselery-0.0.1.dev217.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for openselery 0.0.1.dev217
File Interpreter ABI Platform Actions
openselery-0.0.1.dev217-py3-none-any.whl Python 3 none any Details for openselery-0.0.1.dev217-py3-none-any.whl

Total release size: 49.3 kB

Release files / openselery-0.0.1.dev217.tar.gz

Download URL openselery-0.0.1.dev217.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8fc0da71aea9bee7d79db5ddfd075893a32d3278a37f2ab4e93578fc5524f1a3
BLAKE2b-256 checksum
How to use checksums
29dc73ede55d4c8ec035c9ab70920d364cc601d9327a327b406a4d7e171d7b36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

Release files / openselery-0.0.1.dev217-py3-none-any.whl

Download URL openselery-0.0.1.dev217-py3-none-any.whl
Size 31.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f00305da0e18f434da4ba932fc68ddfcfa8233008c8aa63798abf8c85b7fcfa
BLAKE2b-256 checksum
How to use checksums
675f706a28f7bd7ec73f4cc43d5ea43ec12f53ba24426b71dbaf8049c634d658
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

Security for openselery 0.0.1.dev217

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page