tythe

module
v0.0.0-...-cfb1625 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2023 License: Apache-2.0

README

Status

This project is on indefinite pause while I work on other things. I hope to come back to it someday.

I think the beginning of the crawl system is pretty cool though. Feel free to lift it.

Overview

Tythe is a simple, open, and transparent way for companies to fund the Open Source Software they rely on.

Tythe has no middlemen, no chokepoints, no fees, no contracts, and distributes money transparently.

It's an Open Source-style solution to the Open Source maintenance problem.

How it Works

1. Maintainers add a .donate file to the root of their projects

This declares that the projects wants to receive donations (and how those donations should be sent) in a machine-readable format.

2. Companies decide an amount to commit to open source

We recommend "Up to 1%* of R&D", but it's your choice.

3. Open Source gets funded

Companies run Tythe continuously - either as part of their build process or using tythe.dev. Tythe monitors dependency trees for participating projects and automatically distributes funds to them. Companies can divide funds however they like, but Tythe provide some reasonable defaults and easy ways to configure.

CLI
  • You can use the Tythe CLI to pay with Bitcoin or USDC
  • PayPal support coming soon
tythe.dev

Very early. All you can do so far is show your dependencies. Payment coming soon.

Setup

First, Download the latest release.

Next, setup payments:

Coinbase
  1. Create an account at Coinbase Pro if you don't already have one
  2. Create an API key (all permissions are required)
  3. Set the environment variables:
  • TYTHE_COINBASE_API_KEY
  • TYTHE_COINBASE_API_SECRET
  • TYTHE_COINBASE_API_PASSPHRASE
  1. Deposit some USDC and BTC into your Coinbase Pro account
PayPal

(todo)

Run

# This splits a tythe of $2 among all the dependencies of <repo-url>
# For example if you run it with "https://github.com/tythe-protocol/z_test1", it sends $2 to me.
./tythe pay-all 3 <repo-url>

More

Directories

Path Synopsis
cmd
webtythe/ui
Package ui contains the static assets for the tythe ui.
Package ui contains the static assets for the tythe ui.
Package coinbase provides utilities for working with Coinbase.
Package coinbase provides utilities for working with Coinbase.
Package conf is for working with dot-donate files.
Package conf is for working with dot-donate files.
dep
Package dep implements dependency crawling for tythe.
Package dep implements dependency crawling for tythe.
crawl
Package crawl implements the core of the dependency crawler.
Package crawl implements the core of the dependency crawler.
golang
Package golang implements the Go-specific parts of dependency crawling.
Package golang implements the Go-specific parts of dependency crawling.
npm
Package npm implements the npm-specific bits of dependency crawling.
Package npm implements the npm-specific bits of dependency crawling.
Package git contains utilities for working with the Git VCS.
Package git contains utilities for working with the Git VCS.
Package paypal contains utilities for working with PayPal.com.
Package paypal contains utilities for working with PayPal.com.
utl
env
Package env contains utilities for working with environment variables.
Package env contains utilities for working with environment variables.
sentinel
Package sentinel renames the empty struct to make it more convenient to use as a sentinel value.
Package sentinel renames the empty struct to make it more convenient to use as a sentinel value.
status
Package status prints status messages to a console, overwriting previous values.
Package status prints status messages to a console, overwriting previous values.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL