Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track open source contributions made with Janitor #341

Open
jankeromnes opened this issue Jun 7, 2018 · 4 comments
Open

Track open source contributions made with Janitor #341

jankeromnes opened this issue Jun 7, 2018 · 4 comments

Comments

@jankeromnes
Copy link
Member

jankeromnes commented Jun 7, 2018

It would be great to know how many code contributions come out of Janitor, to get a sense of the impact we have on all our open source projects.

But I don't really know how to implement this (we've wanted this for years). Here are a few ideas, in no particular order, to get this discussion started:

A. Credit message: Add a Made with Janitor credit at the bottom of every new commit message by default (but users might get annoyed / always remove it)

B. Developer telemetry: Add telemetry in Janitor containers / IDEs that detect when new commits are pushed upstream (very hard to implement, and pretty bad for user privacy I think)

C. Claim API: Add a Janitor API handler for users to self-report commits they've contributed upstream (but nobody will do that without extra tools and incentives)

D. Developer stats: Start tracking & showing developer stats to encourage friendly competition, e.g. contributing as many patches to as many projects as possible (gamification for Janitor, which could incentivize users to self-report contributions)

E. Claim button: Write a WebExtension that adds a Claim on Janitor button everywhere you see commits that you might have done with Janitor (e.g. on Chromium's Gerrit, on hg.mozilla.org, on GitHub, etc)

F. Batch claim: Make a Janitor web page that can collect & show all commits that are probably made by you, allowing you to claim any commits you've actually made with Janitor in one go

@phistuck @beaufortfrancois @FrancoisChastel I think you had some thoughts & wants about this?

@phistuck
Copy link

phistuck commented Jun 7, 2018

F. seems the most effective, combined with when containers are created/used, you can score a pretty accurate view.
D. would also be cool, but you will probably have to offer prizes for the periodic winner, otherwise it is not so appealing.

How about the following?
G. Periodically ask the user if they made any contribution and ask them to fill a form with links to those contributions (with a check box for optionally stop bothering them).
H. Alias the various upload commands to also ask the question from G. In Chromium, git cl upload would be git cl upload ...; echo Made any contribution? Claim it at janitor.technology/claim.
I. Same as H, but echo "Contributing? Kindly add "Powered by Janitor" to your commit description? :)" with a pause before the command starts.

(Or a combination of them)

@phistuck
Copy link

phistuck commented Jun 7, 2018

(And a .stopnagging file that can stop those messages)

@phistuck
Copy link

I plan to add this comment to my (hopefully) next Chromium change list -

This commit was made possible by Janitor -
https://janitor.technology

@notriddle
Copy link
Contributor

Thinking of the three big constraints that I would have on such a feature:

  1. It should not change the PR or Commit messages. If it does, I'll just remove it.

  2. It should not require me to manually enter my contributions.

  3. It should not count a contribution until it lands in master.


I can think of a couple ways to do it that fit:

  • Add a hook in the containers that any created commit hashes back to the mothership. These commit hashes expire after a couple months, along with the containers, or something. The telemetry should not collect anything but commit hashes. Have a separate process that pulls from master for supported projects and compares the master branch to telemetry-collected commits: if one shows up in master, count it.

  • Tag commits with some non-message side channel, like a PGP key, that's connected to Janitor. If the process sees a new commit from master with the Janitor PGP key, count it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants