JanitorTechnology / janitor

The fastest development system in the world.
https://janitor.technology
GNU Affero General Public License v3.0
126 stars 22 forks source link

Track open source contributions made with Janitor #341

Open jankeromnes opened 6 years ago

jankeromnes commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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

phistuck commented 6 years ago

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

This commit was made possible by Janitor -
https://janitor.technology
notriddle commented 6 years ago

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: