Giter Club home page Giter Club logo

operations's Introduction

Packages in this repository

This repository is a monorepo, meaning it is set up to contain multiple distinct packages, although for now it only contains one.

Package Name Description Subdirectory with README
sourcecred A monolith package containing the CLI that supports instances, our JS library, and all of our supported platform plugins. link

operations's People

Contributors

brianlitwin avatar kurafire avatar sternhenri avatar teamdandelion avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

operations's Issues

Choose time for regular office hours

In our 3-27 office hours we agreed that we'd like to have regularly scheduled weekly office hours. We want to try an "two-track" schedule, where every other office hours has a different regular time. E.g. week 1 is at 2pm on Wednesdays, week 2 is at 8pm on Thursdays, week 3 is 2pm on Wednesdays, week 4 is back to 8pm Thursday. This will make it easier for people to participate in office hours if e.g. they are in a distant timezone, or can't do calls during work hours.

Next up, the work of actually choosing real time slots. :)

Write a SourceCred mission plan

We should have mission plan for SourceCred.

I've put a preliminary outline below. I'll try to convert this into a longform document (likely checked into Git in this repository) soon.

Thanks to @meiqimichelle for prompting this.
cc/ @flyingzumwalt @sternhenri @wchargin @momack2


1. Vision/Setup

  • Credit Attribution: The problem SourceCred is trying to solve
  • Why this matters / What it enables (paying open source, better-resourced communities)
  • Vision for how SourceCred will look + operate in the long run

2. How SourceCred Works

  • PageRank algorithm and the graph based approach
  • Customizability + flexibility through...
    • Plugins which add new nodes (w/ example)
    • Plugins which add new kinds of edges (w/ example)
    • Heuristics on the values of nodes and edge (w/ example)

3. Current State of the project

  • "Late Alpha" type software that proves the general approach (link to prototype)
  • Strong technical foundation (thoughtfully architected Graph class, great test coverage, static typing)
  • Uses data mostly from GitHub (issues, pulls, comments, etc), few plugins
  • Decent job with identifiying top contributors, but struggles to accurately assess value of specific contributions
    • e.g. it can't tell which commits are important

4. Key Risks / Issues

  • SourceCred might be easy to game
    • Discussion of how social norms constrain gameability, hence focus on transparency, but it needs to be proven out
  • SourceCred might fail to appreciate non-technical contributors
  • SourceCred might produce weird social norms / disrupt the social ecology of open-source projects
  • The PageRank/Cred Graph approach might not be flexible enough to accurately value contributions
  • GitHub could restrict access to their APIs

5. Key Initiatives

  • Grow the project
    • Increase # of people working on / contributing to SourceCred
    • Increase # of people using SourceCred, i.e. increase adoption
  • Improve credit attribution on open-source projects
    • Add features like time-based cred and code analysis so that SourceCred is dramatically better at credit assignment on a median open-source project
  • Improve credit attribution on SourceCred itself
    • Use SourceCred as a testing ground for new techniques that require engagement from the community but could be a lot better overall.
    • Try to prove that SourceCred can reward all types of work, not just coding, by proving it on SourceCred itself

Disable the "!clear" command on InfoBot

It deletes an entire channel's log, and isn't really necessary. The bot will reside in only a dedicated bot channel (so noise is expected and harmless) and/or private messages.

Suggestion: specify a timeframe for responding to Pull Requests

This is a light suggestion, but something I liked from one of Mozilla's repos' contributing guides is the last sentence on their guide stating: "We aim to respond to all review requests within two business days."

From a contributors perspective, it's really nice to have some expectation about when your pull request will be acknowledged. Otherwise, you're kind of just anxiously watching your notifications. There are plenty of repos where the maintainers simply don't have time to respond to PRs that quickly, so it's nice as a contributor to know upfront.

From a project management perspective, it feels like a nice way to be deliberate/intentional about prioritizing the relationship with contributions/contributors.

A semi-important distinction is that they're not promising to review your pr in two days, just to respond to it. Another semi-important distinction is that they're not actually promising anything, just stating that their goal is to respond within two business days.

Not suggesting two days is the right timeframe to choose; just that being clear on this point is helpful for contributors and maintainers.

SourceCred / CodeBuddies walkthrough

This thread is for organizing/planning the SourceCred / Code Buddies code walkthrough.

The plan is to have an hourlong video walkthrough of SourceCred. Here's the agenda*

  1. Why SourceCred Exists
    • Why attributing credit is important
  2. Demo of SourceCred on a few different repositories
  3. SourceCred's general design
    • Overview of PageRank algorithm
    • The Graph
    • The Explorer
    • The Plugin System
    • The Website
  4. High-level code walkthrough
  5. Setup instructions
  6. Discussion of 3 Open Issues (tbd)
    • each with a walkthrough of the code files impacted

We still need to decide on the time. I propose any of the following timeslots:

  • Monday December 10, at 10am PT (1pm ET)
  • Tuesday December 11, at 11am PT (2pm ET)
  • Wednesday December 12, at 9am PT (12pm ET)

If you're interested in attending, please reply with which date is your
favorite, and whether any don't work at all for you. My vote is for Tuesday. :)

  • Thanks to @lpatmo for helping set this up, and for suggestions on the agenda

Setup weekly video team meeting for SourceCred

I think SourceCred could benefit a lot from having a regular video team meeting / team office hours.

TODOs:

  • decide how to host it (Discord)
  • decide on a time
  • communicate existence of meeting to people interested in SourceCred
  • then do it

We could do weekly or biweekly cadence. I think I prefer weekly.

Leveraging Issue Labels to be welcoming and accessible to new contributors

At 1/10 Office Hours, we had a great discussion on using Issue Labels to be inviting and accessible to new contributors. This Issue can be a platform to extend that discussion.

Some of the notes from our discussion include:

  • There's variance in the degree of difficulty on "Contributions Welcome" issues. Being more explicit about the degree of difficulty will help new contributors find issues that match their skill level and familiarity with the project.
  • We like the idea of, at minimum, providing a label that conveys that a particular issue would be a good first contribution, eg "Good for Beginners" or "Good First Issue".
  • If we have a "Good First Issue" label, do we also need a "Contributions Welcome" label?
  • One potential ambiguity in the "Contributions Welcome" label is that it sort of implies that other Issues are not welcome to contributions? Does an Issue without a Contributions Welcome label signify that contributors shouldn't try to take it on?

Define Q1 OKRs

In #7, we add OKRs for SourceCred as a whole in 2019. We should also create specific OKRs for Q1 to communicate our prioritization for the coming quarter.

Archive This Repo?

Going through all the SourceCred stuff to help organize it. There's a lot of cool stuff in this repo, but it's outdated. Should we just archive this repo so that new users don't get confused?

Define a cred rating methodology

The 2019 OKRs (#7) call for measuring attribution quality via a subjective "cred rating" from contributors.

Coming up with metrics for attribution quality is challenging, since there
isn't a readily available ground truth to compare against. Right now, the best
metric we have is asking the contributors to a project to rate the quality of
our attribution. The "cred rating" in the table below is the average rating
that contributors to a project give its cred attribution, measured on a
10-point scale.

Metric Goal Q4 Q1 Q2 Q3 Q4
SourceCred's cred rating 8/10 -
IPFS's cred rating 7/10 -

@sternhenri points out that we should explicitly document the cred rating methodology. This issue tracks that work.

Setup a new repo structure for SourceCred

At present sourcecred/sourcecred contains all of the development activity for SourceCred. This was convenient for rapid development progress during the initial development of the app.

There are some disadvantages:

  • It makes project setup more complicated (need to install sqlite for the GitHub plugin, even if you only
  • It encourages lax API boundaries
    • (e.g. the attribution flow only being runnable with the cred explorer (#967))
    • splitting the plugins into their own repositories would likely correlate to improving their API design
  • It makes the issue tracker more noisy; for someone with a particular interest, it's harder to find where to contribute

I propose the following repositories:

  • sourcecred/core
    • for the core Graph + PageRank
  • sourcecred/explorer
    • for the frontend explorer
  • sourcecred/git-plugin
  • sourcecred/github-plugin
  • sourcecred/website
  • sourcecred/attribution
    • for specifying in detail how the attribution algorithm works, tracking issues and improvements to it. eventually this repo should produce a spec/whitepaper for SourceCred, keep that up to date, and include a process for changing it
  • sourcecred/mission
    • catch all for all the non-technical / project management type work in SourceCred. tracking objectives, etc.

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.