All Projects β†’ sourcecred β†’ Sourcecred

sourcecred / Sourcecred

Licence: other
a social algorithm for computing cred

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Sourcecred

Android Ratingreviews
Simple star rating system bars, a view similar to the ones seen on Google Playstore. ⭐🌟✨
Stars: ✭ 110 (-68.12%)
Mutual labels:  graph, open-source
Bento
🍱 Minimalist, elegant and simple startpage inspired by the Bento box!
Stars: ✭ 325 (-5.8%)
Mutual labels:  open-source
First Contributions
πŸš€βœ¨ Help beginners to contribute to open source projects
Stars: ✭ 21,839 (+6230.14%)
Mutual labels:  open-source
Riscv Software List
The RISC-V software tools list, as seen on riscv.org
Stars: ✭ 335 (-2.9%)
Mutual labels:  open-source
Open Pixel Art
A collaborative pixel art project to teach people how to contribute to open-source
Stars: ✭ 331 (-4.06%)
Mutual labels:  open-source
Livecollections
Automatically perform UITableView and UICollectionView animations between two sets of immutable data. It supports generic data types and is fully thread-safe.
Stars: ✭ 337 (-2.32%)
Mutual labels:  open-source
Computational Geometry
Computational Geometry Unity library with implementations of intersection algorithms, triangulations like delaunay, voronoi diagrams, polygon clipping, bezier curves, ear clipping, convex hulls, mesh simplification, etc
Stars: ✭ 325 (-5.8%)
Mutual labels:  open-source
Graphosaurus
3D graph viewer powered by WebGL (three.js)
Stars: ✭ 340 (-1.45%)
Mutual labels:  graph
Mahapps.metro.simplechildwindow
A simple child window for MahApps.Metro
Stars: ✭ 339 (-1.74%)
Mutual labels:  open-source
Paracel
Distributed training framework with parameter server
Stars: ✭ 335 (-2.9%)
Mutual labels:  graph
Keras Gat
Keras implementation of the graph attention networks (GAT) by VeličkoviΔ‡ et al. (2017; https://arxiv.org/abs/1710.10903)
Stars: ✭ 334 (-3.19%)
Mutual labels:  graph
Systems Design
All things systems design. Resources, Interview questions, e.t.c
Stars: ✭ 331 (-4.06%)
Mutual labels:  open-source
Trumptracker.github.io
Open source for http://trumptracker.github.io/
Stars: ✭ 338 (-2.03%)
Mutual labels:  open-source
Nodz
Nodz : Visualize your data - Free nodes based graph generator.
Stars: ✭ 330 (-4.35%)
Mutual labels:  graph
Ui5 Tooling
An open and modular toolchain to develop state of the art applications based on the UI5 framework
Stars: ✭ 339 (-1.74%)
Mutual labels:  open-source
Vivagraphjs
Graph drawing library for JavaScript
Stars: ✭ 3,442 (+897.68%)
Mutual labels:  graph
Awesome opensetrecognition list
A curated list of papers & resources linked to open set recognition, out-of-distribution, open set domain adaptation and open world recognition
Stars: ✭ 334 (-3.19%)
Mutual labels:  open-source
Tasks
βœ… Tasks app for Nextcloud
Stars: ✭ 332 (-3.77%)
Mutual labels:  open-source
Openeducat erp
Comprehensive Open Source ERP for Educational Institutes
Stars: ✭ 344 (-0.29%)
Mutual labels:  open-source
Itkwidgets
Interactive Jupyter widgets to visualize images, point sets, and meshes in 2D and 3D
Stars: ✭ 338 (-2.03%)
Mutual labels:  open-source

SourceCred

Build Status Discourse topics Discord

SourceCred is an open-source tool that enables online communities to create a community-specific contribution score, called Cred, which measures how much value every contributor has added to the project. SourceCred then enables the project to issue tokens, called Grain, to contributors based on their Cred. Grain is purchased by sponsors of the project, and gives sponsors the ability to influence Cred scores.

You can read more at sourcecred.io.

Plugin Architecture

SourceCred is organized around a plugin architecture, which ensures that it can track and reward any kind of contribution, so long as you can assign addresses to contributions, and record how they relate to one another. Currently, we have the following four plugins:

  • sourcecred/github: Loads GitHub repositories, including issues, pull requests, and reviews
  • sourcecred/discourse: Loads Discourse forums, including posts, topics, and likes
  • sourcecred/discord: Loads Discord servers, including messages and reactions
  • sourcecred/initiatives: Loads manually added contributions. Still in alpha.

Every plugin has a two-part name in the form $OWNER/$NAME; for example, SourceCred's own GitHub plugin is named sourcecred/github.

The Instance System

SourceCred is organized around the concept of "instances". A SourceCred instance contains all of the configuration and data associataed with Cred and Grain, and optionally may be set up as a deployable website that displays those scores. Each instance has the following directory structure:

./package.json      # SourceCred version and package scripts
./sourcecred.json   # Lists enabled plugins
./config            # User-edited config files
./data              # Persistent data, e.g. ledger history
./output            # Output data, may be removed/regenerated
./site              # Bundled frontend, if included
./cache             # Temporary data, should not be checked in to git

We recommend storing instances in a Git repository. The best way to set up an instance is by forking [sourcecred/example-instance].

Once your instance is setup, you can update it with the following commands:

  • yarn load: Regenerate the cache
  • yarn graph: Recompute graphs from cache
  • yarn credrank: Re-run Cred calculations
  • yarn site: Regenerate the website (potentially upgrading it)
  • yarn go: Runs load, graph and credrank in sequence.

If you want to update the data for just one plugin (e.g. sourcecred/github), you can use the following command sequence:

  • yarn load sourcecred/github
  • yarn graph sourcecred/github
  • yarn credrank

Contributing Guidelines

If you'd like to contribute to the codebase, we ask you to follow the following steps:

1. Drop by our Discord.

Come to the #intros channel and introduce yourself. Let us know that you're interested in helping out. We're friendly and will be happy to help you get oriented.

2. Read our Contributing Guidelines.

We pride ourself on tidy software engineering; part of how we do that is by splitting our changes up into many small, atomic commits, each of which are easy to review. If you'd like to work alongside us, we ask you to adopt our practices.

3. Find an issue to work on.

You can check out the issues marked contributions welcome, or ask in the Discord's #programming channel if anyone has something you can contribute to.

Getting Support

If you need help with SourceCred, try asking for help in the #tech-support channel on our Discord. You can also come to our weekly dev meeting, on Mondays at 12pm PT. (Check out the SourceCred calendar.)

Development Setup

Dependencies

If you want to work on the GitHub plugin, you should create a GitHub API token. No special permissions are required.

Then, set it in your environment:

export SOURCECRED_GITHUB_TOKEN=1234....asdf

If you want to work on the Discord plugin, you need a Discord bot token specific to the bot/server that you are loading. See instructions here.

Building SourceCred Locally

First, run the following commands to clone and build SourceCred:

git clone https://github.com/sourcecred/sourcecred.git
cd sourcecred
yarn
yarn build

Using A Modified Backend

You'll likely want to test out your modified version of SourceCred on an instance you're familiar with. A convenient way to do that is to create an alias for your altered version of SourceCred. Here's an example of how to do so in a bash shell:

SC_REPOSITORY_DIR=`pwd`
alias scdev='node "$SC_REPOSITORY_DIR"/bin/sourcecred.js'
cd $MY_SC_INSTANCE
# Run the `sourcecred go` command, in your instance, using your modified code.
scdev go

While making backend changes, you may find it useful to view a diff between the last generated graph and a newly generated graph by running scdev graph -d and/or running a no-write simulation by running scdev graph -s The graph.json is stored in the instance, so you can easily compare results across backend branches.

Using a Modified Frontend

If you've made changes to the SourceCred frontend, you can preview and test it using our builtin development server:

yarn start

By default, the server will run in the tiny example instance located at ./sharness/__snapshots__/example-instance. If you'd like to run it in your instance instead, start it via: yarn start --instance $PATH_TO_INSTANCE.

License

SourceCred is dual-licensed under Apache 2.0 and MIT terms:

Acknowledgements

We’d like to thank Protocol Labs for funding and support of SourceCred.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].