www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [RFC] List of contributors per module

reply Seb <seb wilzba.ch> writes:
Hei,

I recently made a PR to dlang.org which is aimed to show a list 
of all contributors to a Phobos module based on the git history.
The idea is to give all the awesome people who have helped and 
contributed their earned credit!

https://github.com/dlang/dlang.org/pull/1307

A couple of questions from this PR are still open though:

1) How can we best integrate this with the author section?
- Should we move this into the header?
- Maybe a module could also have a current maintainer(s) (that is 
in charge of approving changes)

2) Should we show the avatars? They are loaded lazily, so they 
don't block the page load.
If neccessary out of privacy concerns, contribs.dlang.io could 
act as a proxy.

3) I would prefer to generate this information on deploy-time, 
but rolling a small (vibe.d) service was a lot easier than 
integrating this properly in the current Makefile. Maybe once we 
migrate to ddox this would be easier?
May 24 2016
next sibling parent Seb <seb wilzba.ch> writes:
On Tuesday, 24 May 2016 at 19:22:31 UTC, Seb wrote:
 Hei,

 I recently made a PR to dlang.org which is aimed to show a list 
 of all contributors to a Phobos module based on the git history.
 The idea is to give all the awesome people who have helped and 
 contributed their earned credit!

 https://github.com/dlang/dlang.org/pull/1307

 A couple of questions from this PR are still open though:

 1) How can we best integrate this with the author section?
 - Should we move this into the header?
 - Maybe a module could also have a current maintainer(s) (that 
 is in charge of approving changes)

 2) Should we show the avatars? They are loaded lazily, so they 
 don't block the page load.
 If neccessary out of privacy concerns, contribs.dlang.io could 
 act as a proxy.

 3) I would prefer to generate this information on deploy-time, 
 but rolling a small (vibe.d) service was a lot easier than 
 integrating this properly in the current Makefile. Maybe once 
 we migrate to ddox this would be easier?
I forgot if you want to see this in live, you can browse the output of DAutotest, e.g.: http://dtest.thecybershadow.net/artifact/website-2ebaa0abe10645832000264a7cb6499949dee786-2b1fd6809124063d6afd0801431f016f/web/phobos/std_uri.html
May 24 2016
prev sibling next sibling parent qznc <qznc web.de> writes:
On Tuesday, 24 May 2016 at 19:22:31 UTC, Seb wrote:
 I recently made a PR to dlang.org which is aimed to show a list 
 of all contributors to a Phobos module based on the git history.
 The idea is to give all the awesome people who have helped and 
 contributed their earned credit!
Is this really a good idea? The file with the most authors is std/traits.d with 73 authors. Really list them all? There might be duplicates, if people use different names or email addresses. There should be a deduplication. Btw if you want some more stats, I have script which gives me this for the phobos repo: Top Committers (of 338 authors): Andrei Alexandrescu 1608 commits during 8 years until 2016-04-15 k-hara 646 commits during 4 years until 2016-04-28 Walter Bright 643 commits during 8 years until 2016-04-25 H. S. Teoh 625 commits during 4 years until 2016-05-10 Dmitry Olshansky 517 commits during 4 years until 2016-05-20 jmdavis 501 commits during 3 years until 2014-10-26 monarch dodra 421 commits during 2 years until 2015-03-12 Martin Nowak 369 commits during 4 years until 2016-05-14 Brad Roberts 340 commits during 8 years until 2016-04-16 Vladimir Panteleev 323 commits during 4 years until 2016-05-18 Andrej Mitrovic 296 commits during 4 years until 2015-10-18 Jonathan M Davis 261 commits during 5 years until 2016-05-04 Ilya Yaroshenko 208 commits during 23 months until 2016-05-15 David Nadlinger 207 commits during 5 years until 2016-05-22 David Simcha 207 commits during 2 years until 2012-10-18 Hara Kenji 193 commits during 4 years until 2016-03-24 monarchdodra 181 commits during 2 years until 2014-10-10 Denis Shelomovskij 179 commits during 3 years until 2015-03-06 Don Clugston 172 commits during 5 years until 2013-12-10 Tomoya Tanjo 166 commits during 2 years until 2016-03-22 Daniel Murphy 162 commits during 4 years until 2016-05-18 Steven Schveighoffer 149 commits during 5 years until 2016-05-17 Alex Rønne Petersen 147 commits during 3 years until 2014-08-04 Robert burner Schadek 134 commits during 2 years until 2016-05-02 Lars T. Kyllingstad 117 commits during 5 years until 2016-02-25 dsimcha 109 commits during 22 months until 2012-12-08 Jack Stouffer 94 commits during 9 months until 2016-05-18 Sean Kelly 93 commits during 6 years until 2014-10-27 Михаил Страшун 90 commits during 6 months until 2015-01-26 Shin Fujishiro 79 commits during 6 months until 2010-11-18 Nick Treleaven 79 commits during 4 years until 2016-05-04 Jonas Drewsen 75 commits during 2 years until 2014-01-13 JakobOvrum 70 commits during 3 years until 2016-04-04 Peter Alexander 69 commits during 3 years until 2015-07-22 together these authors have 80+% of the commits (9530/11853) Files with most commits: 411 commits: std/traits.d during 8 years until 2016-05-07 414 commits: std/string.d during 8 years until 2016-05-11 442 commits: std/range.d during 5 years until 2014-11-07 475 commits: std/conv.d during 8 years until 2016-05-14 653 commits: std/algorithm.d during 7 years until 2015-01-17 Files with most authors: 64 authors: std/stdio.d 66 authors: std/file.d 68 authors: std/conv.d 71 authors: std/algorithm.d 73 authors: std/traits.d By file extension: .d: 511 files .h: 66 files together these make up 80+% of the files (577/697)
May 24 2016
prev sibling next sibling parent ag0aep6g <anonymous example.com> writes:
On 05/24/2016 09:22 PM, Seb wrote:
 3) I would prefer to generate this information on deploy-time, but
 rolling a small (vibe.d) service was a lot easier than integrating this
 properly in the current Makefile. Maybe once we migrate to ddox this
 would be easier?
I agree that this should be done when documentation is being built. The information doesn't change, so loading it dynamically only makes things slower. Generally, I think we should be reducing the amount of JavasScript where possible, not do even more with JS that could be done when generating HTML. A relatively simple, non-disruptive way towards more static generation would be writing small programs that generate .ddoc files, like the changelog builder you've got in the making [1]. So maybe we can have a little tool that generates a git-contributors.ddoc which contains a bunch of contributor lists as Ddoc macros, one per module. Then, for example, in std/stdio.d we put `$(GIT_CONTRIBUTORS_STD_STDIO)` somewhere. That means touching every single module, but there's precedent with the PHOBOSSRC macro. Or, since the .html files actually seem to be built individually, the tool could generate a bunch of git-contributors-*.ddoc files, each of which defines just a single GIT_CONTRIBUTORS macro. Then it could be included in a skeleton file, or at least there less potential for mistakes when it's put in all source files. [1] https://github.com/dlang/tools/pull/186
May 24 2016
prev sibling next sibling parent Brad Roberts via Digitalmars-d <digitalmars-d puremagic.com> writes:
I enjoy a good ego stroking, but there are enough issues with the docs being
cluttered and harder to 
digest than necessary already.  I'm not a big fan of adding more clutter.

On 5/24/16 12:22 PM, Seb via Digitalmars-d wrote:
 Hei,

 I recently made a PR to dlang.org which is aimed to show a list of all
contributors to a Phobos
 module based on the git history.
 The idea is to give all the awesome people who have helped and contributed
their earned credit!

 https://github.com/dlang/dlang.org/pull/1307

 A couple of questions from this PR are still open though:

 1) How can we best integrate this with the author section?
 - Should we move this into the header?
 - Maybe a module could also have a current maintainer(s) (that is in charge of
approving changes)

 2) Should we show the avatars? They are loaded lazily, so they don't block the
page load.
 If neccessary out of privacy concerns, contribs.dlang.io could act as a proxy.

 3) I would prefer to generate this information on deploy-time, but rolling a
small (vibe.d) service
 was a lot easier than integrating this properly in the current Makefile. Maybe
once we migrate to
 ddox this would be easier?
May 24 2016
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2016-05-24 21:22, Seb wrote:
 Hei,

 I recently made a PR to dlang.org which is aimed to show a list of all
 contributors to a Phobos module based on the git history.
 The idea is to give all the awesome people who have helped and
 contributed their earned credit!

 https://github.com/dlang/dlang.org/pull/1307

 A couple of questions from this PR are still open though:

 1) How can we best integrate this with the author section?
 - Should we move this into the header?
 - Maybe a module could also have a current maintainer(s) (that is in
 charge of approving changes)

 2) Should we show the avatars? They are loaded lazily, so they don't
 block the page load.
 If neccessary out of privacy concerns, contribs.dlang.io could act as a
 proxy.

 3) I would prefer to generate this information on deploy-time, but
 rolling a small (vibe.d) service was a lot easier than integrating this
 properly in the current Makefile. Maybe once we migrate to ddox this
 would be easier?
Please don't add this to the docs. It's enough information there already. -- /Jacob Carlborg
May 24 2016
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 5/24/2016 12:22 PM, Seb wrote:
 I recently made a PR to dlang.org which is aimed to show a list of all
 contributors to a Phobos module based on the git history.
 The idea is to give all the awesome people who have helped and contributed
their
 earned credit!
One idea is to add a "Contributors" button, and when clicked, it executes some javascript that then loads and displays the avatars for the contributors.
May 24 2016
parent reply Seb <seb wilzba.ch> writes:
On Wednesday, 25 May 2016 at 06:51:45 UTC, Walter Bright wrote:
 On 5/24/2016 12:22 PM, Seb wrote:
 I recently made a PR to dlang.org which is aimed to show a 
 list of all
 contributors to a Phobos module based on the git history.
 The idea is to give all the awesome people who have helped and 
 contributed their
 earned credit!
One idea is to add a "Contributors" button, and when clicked, it executes some javascript that then loads and displays the avatars for the contributors.
As there as been diverse feedback and no conclusion, I would like try to revive this discussion - preferably on Github [1]. To argue against some of the posts here, a short summary of the Github discussion: 1) There's _no_ performance impact - everything is down lazily after the page was loaded (see Github for an detailed description) 2) The clutter isn't visible too most users anyhow as the contributer's list is shown at the bottom of the page 3) It currently would require a lot of hard-to-main ddoc hacks to due this at compile-time (see Github) If you have better ideas how we could incorporate such statistics, let me know :) [1] https://github.com/dlang/dlang.org/pull/1307
Jun 14 2016
parent Walter Bright <newshound2 digitalmars.com> writes:
On 6/14/2016 6:10 PM, Seb wrote:
 On Wednesday, 25 May 2016 at 06:51:45 UTC, Walter Bright wrote:
 On 5/24/2016 12:22 PM, Seb wrote:
 I recently made a PR to dlang.org which is aimed to show a list of all
 contributors to a Phobos module based on the git history.
 The idea is to give all the awesome people who have helped and contributed
their
 earned credit!
One idea is to add a "Contributors" button, and when clicked, it executes some javascript that then loads and displays the avatars for the contributors.
As there as been diverse feedback and no conclusion, I would like try to revive this discussion - preferably on Github [1]. To argue against some of the posts here, a short summary of the Github discussion: 1) There's _no_ performance impact - everything is down lazily after the page was loaded (see Github for an detailed description) 2) The clutter isn't visible too most users anyhow as the contributer's list is shown at the bottom of the page 3) It currently would require a lot of hard-to-main ddoc hacks to due this at compile-time (see Github)
There's still the added net traffic (bad for mobile users).
 If you have better ideas how we could incorporate such statistics, let me know
:)
Sure: One idea is to add a "Contributors" button, and when clicked, it executes some javascript that then loads and displays the avatars for the contributors.
Jun 14 2016