aboodman / dot-donate

A machine-readable format that specifies how to send an open source project funds

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Motivation

It is increasingly common for open source projects to accept donations via a variety of mechanisms, such as PayPal, Open Collective, Patreon, or cryptocurrencies.

However, there is currently no easy way to discover which of the projects you rely on accepts donations. And there is no way to automate distribution of donations among many projects.

.donate is a simple file format that allows an open source project to specify how to send it money, so that the discovery and distribution can be automated.

Example

{
  "PayPal": "project@paypal.com",
  "BTC": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
  "USDC": "0x0000000000000000000000000000000000000000"  
}

Location

A .donate file MUST be located in the root of the repository and all-lowercased.

Format

The .donate file MUST be formatted as JSON.

Semantics

All the fields are optional. If more than one payment type is specified, it means that users may pay the project via any of the listed payment types.

Currently Supported Payment Types

Type Description
PayPal A PayPal address
BTC A bitcoin address
USDC A USDC address

Thanks

  • The thanks package by Feross Aboukhadijeh is a centralized directory that first attempted to solve the discovery problem, but only for the NPM ecosystem.
  • Solomon Hykes encouraged the separation of this idea from other projects, and was right.
  • BackYourStack attempts to solve the discovery problem by scanning a repository for dependencies that accept donations via OpenCollective.

About

A machine-readable format that specifies how to send an open source project funds