From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Karl Fogel Newsgroups: gmane.emacs.devel Subject: Re: More metaproblem Date: Thu, 04 Dec 2014 12:33:10 -0600 Message-ID: <87egsftgd5.fsf@ktab.red-bean.com> References: <20141203142859.24393.98673@vcs.savannah.gnu.org> <20141203192721.GE12748@thyrsus.com> <547F6774.50700@cs.ucla.edu> <838uio5vjw.fsf@gnu.org> <20141203211447.GB15111@thyrsus.com> <871toge5zw.fsf@floss.red-bean.com> <83388v6hsq.fsf@gnu.org> Reply-To: Karl Fogel NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1417718023 28905 80.91.229.3 (4 Dec 2014 18:33:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 4 Dec 2014 18:33:43 +0000 (UTC) Cc: esr@thyrsus.com, eggert@cs.ucla.edu, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 04 19:33:37 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XwbDc-0000SD-1w for ged-emacs-devel@m.gmane.org; Thu, 04 Dec 2014 19:33:36 +0100 Original-Received: from localhost ([::1]:47071 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwbDb-00035e-N6 for ged-emacs-devel@m.gmane.org; Thu, 04 Dec 2014 13:33:35 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40434) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwbDJ-00035N-UU for emacs-devel@gnu.org; Thu, 04 Dec 2014 13:33:22 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XwbDF-0007Nn-Np for emacs-devel@gnu.org; Thu, 04 Dec 2014 13:33:17 -0500 Original-Received: from mail-ig0-x236.google.com ([2607:f8b0:4001:c05::236]:33270) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwbDF-0007NX-Ee; Thu, 04 Dec 2014 13:33:13 -0500 Original-Received: by mail-ig0-f182.google.com with SMTP id hn15so15122634igb.15 for ; Thu, 04 Dec 2014 10:33:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:reply-to:date:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=c+YAuAIIbTJR7/1pdWVsl+4/4z84gXeWFiOayKhIv8M=; b=RMeoLO0EKDLWgegLyNR6+ybtnP2RNFLMJdhzArI1u+P69X62/neiAAIzL7AXuhYyVC N9SEc3ozFZfATbAL/6Wy0+oDFw4+qc2EK5T5MzX6e9iIdaVLiH6FTscBDhmI0lKqSbA/ IFlevDpR9I0om4iwdHfXToia2qkxI8S6kbQdwnqvhW88AxcJK7RbRIz8taLvwH69x1MH T/bmfxEHxTmmDNWtuLEKxz58zcXo+bTOkg+sP1Cxl4wZ6Far1UuxRqGBfAn4rPulJ4pP RjbXuYduj1et2xU9fBCF/VdV8k4Tyf/cZCdE8G705yET2NTfTNDUg95Cs3QItEOn0MSR ZSlg== X-Received: by 10.42.205.197 with SMTP id fr5mr8045079icb.5.1417717992676; Thu, 04 Dec 2014 10:33:12 -0800 (PST) Original-Received: from ktab.red-bean.com (74-92-190-113-Illinois.hfc.comcastbusiness.net. [74.92.190.113]) by mx.google.com with ESMTPSA id n7sm13497829igp.0.2014.12.04.10.33.11 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Dec 2014 10:33:12 -0800 (PST) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c05::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:178847 Archived-At: Eli Zaretskii writes: >> "Eric S. Raymond" writes: >>> For Emacs to attract new developers, its code and the culture need to >>> be discoverable. As part of this, practice rules need to be *clear*, >>> *documented*, and *minimal*. Right now they fail all three tests. >>=20 >> +1 all over that. >>=20 >> For example, as far as I can see -- and I've looked, though maybe in the >> wrong places -- there's never been a permanent sign anywhere, like on a >> web page, telling developers when they should commit to release branches >> versus when they should commit to master (trunk). > >See admin/notes/repo and admin/notes/commits. What else is missing? New developers are somehow supposed to know that those random files in admin/notes/ are what they need to read? What most projects do is have a development web page. linked to from their main user-facing web page. The development page organizes all this stuff and provides links to source code repository, dev guidelines & documentation, etc. For Emacs, the main web page is http://www.gnu.org/software/emacs/. It links to two possible candidates for the "developer page": https://savannah.gnu.org/projects/emacs https://savannah.gnu.org/bzr/?group=3Demacs But neither of those automatically-generated pages provides what a real development web page provides. Instead they just tell you how to get the development sources and where the mailing lists are. They don't tell you to look in admin/notes/ (for example). Compare those with develompent pages for projects that are trying to make it easy for new developers to come on board: http://subversion.apache.org/contributing.html http://www.libreoffice.org/community/developers/ (both of which are easy to find from their projects' respective main home pages, by the way.) I hope the contrast between those examples and the way Emacs currently is is sufficiently clear as to not require much elucidation. Else-thread you wrote this: > > For Emacs to attract new developers, its code and the culture need to > > be discoverable. As part of this, practice rules need to be *clear*, > > *documented*, and *minimal*. Right now they fail all three tests. >=20 > Feel free to contribute the missing documentation, and thanks in > advance. It's not just a matter of contributing documentation. We don't even *have a place to put such documentation* right now. Heck, for all I know there _is_ a "Contributing to Emacs" guide somewhere on the Net at this moment. Maybe more than one. What would be needed is for the Emacs project to make it official by moving it to somewhere under an official-ish Emacs URL, linking to it from the obvious places, and helping to maintain it. (I'm not volunteering to take ownership of that task, though I'd participate in maintaining such a guide. I only have time to do occasional patching, and to write emails like this one that try to point out specifically the ways in which the project is currently developer-hostile and stagnating.) >> Emacs is not an easy project for newcomers or drive-by contributors. > >Which large and complex project _is_ easy for newcomers? Mozilla Firefox or LibreOffice, to name two off the top of my head. There are many more. Like others here, I contribute to plenty of free software projects. As it happens, I also study the development procedures of many more -- doing so is, in fact, my full time job. Emacs is one of the least developer-friendly. I have time to explain some of the ways in which it is so, though not enough time to explain all the ways. I think the fact that several people on this mailing list -- people who also have lots of experience with other projects -- have repeatedly said so, should also indicate that most likely there is a bigger problem here than elsewhere. And the fact that we don't see a comparable number of similarly experienced people making this complaint in the forums of, say, Mozilla Firefox or LibreOffice, is further evidence. (Btw, yes I have actually asked about this among contributors to those projects. See also, e.g., https://wiki.mozilla.org/Good_first_bug.) >> (And somebody please stop me before I start ranting about debbugs as a >> primary bug tracker even when email-enabled things like Redmine are >> available, since it's been discussed elsewhere. Apparently for the >> Emacs project in 2014, "send email" is still considered an acceptable UI >> gesture for manipulating a bug ticket.) > >I think if you dislike so much in Emacs development practices, you >should become much more active than you are, and then you maybe stand >a chance to start changing all that. It's precisely that I don't have time to be more active than I am, that leads me to want the project's development procedures to be more conducive to developers like me -- there are many of them out there. Look, it might be reasonable to say "There's an inevitable tradeoff between being easy for new developers and being efficient for expert, long-time developers, and the Emacs project has chosen the latter side of that tradeoff." That's fine. But to deny that the project is difficult for incoming developers? That seems to me empirically wrong; as a simple fact, the difficulty should not be in doubt by this point. Embrace the tradeoff, if you wish -- I think choosing that side of the tradeoff is a mistake, but at least it's reasonable discussion to have. But claiming there is no problem, that the phenomenon is not real, does not seem plausible to me. For a widely used *programmer's tool*, that is self-documenting and has an extension language, Emacs has an astonishingly low rate of lightweight contributed development. Can you help make your hypothesis falsifiable? (In the intellectually rigorous sense, I mean, not the "make it false" sense.) I might be able to find some time to do that. In other words, can you tell me what measurable signs *you* would look for to determine if a free software project were stagnating, and then we can look to see if Emacs is exhibiting those signs? (For example: rate at which developers slow down or stop contributing; relatively greater slowdown in rate of acquisition of new developers compared to other projects; shrinking diversity in first responders to bug reports; etc, etc.) Committers sorted by commit count since 1985, in case it's interesting (obviously doesn't count patches and many other things, so this is only semi-data, not data): 20572 Richard M. Stallman=20 10107 Glenn Morris=20 7395 Stefan Monnier=20 7099 Eli Zaretskii=20 6637 Kenichi Handa=20 6011 Chong Yidong=20 4803 Gerd Moellmann=20 4416 Juanma Barranquero=20 3767 Karl Heuer=20 3374 Paul Eggert=20 3320 Dave Love=20 3025 Kim F. Storm=20 1860 Miles Bader=20 1781 Jim Blandy=20 1511 Jason Rumney=20 1474 Dan Nicolaescu=20 1472 Andreas Schwab=20 1458 Juri Linkov=20 1421 Nick Roberts=20 1397 Michael Albinus=20 1390 Jan Dj=C3=A4rv=20 1284 Luc Teirlinck=20 940 Jay Belanger=20 907 YAMAMOTO Mitsuharu=20 826 Lars Magne Ingebrigtsen=20 749 Pavel Jan=C3=ADk=20 697 Martin Rudalics=20 638 Dmitry Antipov=20 615 Carsten Dominik=20 596 Karoly Lorentey=20 584 Roland McGrath=20 583 Thien-Thi Nguyen=20 518 Katsumi Yamaoka=20 470 Eric S. Raymond=20 445 Alan Mackenzie=20 436 Andrew Innes=20 435 Francesco Potort=C3=AC=20 427 Bill Wohler=20 420 Geoff Voelker=20 407 Lute Kamstra=20 399 Andr=C3=A9 Spiegel=20 337 Leo Liu=20 320 Colin Walters=20 317 Sam Steingold=20 312 Romain Francoise=20 299 John Paul Wallington=20 279 Vinicius Jose Latorre=20 273 Fabi=C3=A1n Ezequiel Gallina=20 266 Xue Fuqiao=20 259 Markus Rost=20 254 Ken Raeburn=20 242 Adrian Robert=20 235 Simon Marshall=20 211 Dmitry Gutov=20 206 Reiner Steib=20 205 Lars Ingebrigtsen=20 191 Michael Kifer=20 182 Tassilo Horn=20 180 John Wiegley=20 178 Daniel Colascione=20 174 Erik Naggum=20 167 Stephen Berman=20 159 Bastien Guerry=20 152 Kai Gro=C3=9Fjohann=20 149 Gnus developers=20 136 Daiki Ueno=20 129 Steven Tamm=20 127 Karl Berry=20 125 David Kastrup=20 122 Robert J. Chassell=20 119 Masatake YAMATO=20 114 Edward M. Reingold=20 113 Roland Winkler=20 112 Simon Josefsson=20 112 Julien Danjou=20 111 Daniel Pfeiffer=20 110 Karl Fogel=20 106 Ted Zlatanov=20 106 Noah Friedman=20 101 Lars Hansen=20 99 Andrew Choi=20 97 Jan D=20 94 Michael Olson=20 86 Stephen Eglen=20 84 Teodor Zlatanov=20 83 Ulf Jasper=20 82 Per Abrahamsen=20 80 Tom Tromey=20 80 David J. MacKenzie=20 77 ShengHuo ZHU=20 77 Mathias Dahl=20 75 Paul Reilly=20 69 Agust=C3=ADn Mart=C3=ADn=20 68 Joseph Arceneaux=20 67 J.D. Smith=20 67 Boris Goldowsky=20 65 Micha=C3=ABl Cadilhac=20 64 Kevin Ryde=20 64 Ken Brown=20 61 David Engster=20 61 Brian Fox=20 60 Fred Pierresteguy=20 60 David Ponce=20 59 Martin Stjernholm=20 58 David Reitter=20 56 Eric M. Ludlam=20 56 Deniz Dogan=20 54 Werner LEMBERG=20 52 Richard Kenner=20 48 Ken Manheimer=20 47 R=C3=BCdiger Sonderfeld=20 47 Deepak Goel=20 43 Magnus Henoch=20 43 Andrew Cohen=20 41 Bozhidar Batsov=20 40 Mark A. Hershberger=20 39 Christoph Scholtes=20 38 Oliver Seidel=20 38 Jim Meyering=20 37 Johan Bockg=C3=A5rd=20 35 Dmitry Dzhus=20 35 Dani Moncayo=20 33 Joakim Verona=20 32 Jonathan Yavner=20 30 Peter Breton=20 30 Alex Schroeder=20 29 Vincent Bela=C3=AFche=20 28 Per Bothner=20 27 Jesper Harder=20 26 Reuben Thomas=20 26 Ramprasad B=20 26 Christopher Schmidt=20 24 Mike Williams=20 23 Thierry Volpiatto=20 22 Michal Nazarewicz=20 22 Jeffrey C Honig=20 22 Aidan Gauland=20 21 Doug Evans=20 20 root 20 Michael I. Bushnell=20 19 Michael Mauger=20 19 Drew Adams=20 18 Phillip Rulon=20 18 K=C3=A1roly L=C5=91rentey=20 18 Jambunathan K=20 18 Ivan Shmakov=20 17 Stefan Merten=20 17 Joel N. Weber II=20 16 Ulrich Drepper=20 16 Jo=C3=A3o T=C3=A1vora=20 16 Christopher Zaborsky=20 16 Ben Key=20 16 Barry O'Reilly=20 16 Alp Aker=20 15 Ulrich Mueller=20 15 Rajesh Vaidheeswarran=20 15 Kelvin White=20 15 Ivan Kanis=20 15 Brian Preble=20 14 Rudy Gevaert=20 14 Marcelo Toledo=20 14 Fabrice Popineau=20 13 Stephen Gildea=20 13 Ian Lance Taylor=20 13 Charles Hannum=20 13 Aaron S. Hawley=20 12 Wolfgang Jenkner=20 12 Wilson Snyder=20 12 Seiji Zenitani=20 12 Lawrence Mitchell=20 12 Ben Elliston=20 11 thierry volpiatto=20 11 Melissa Weisshaus=20 11 Daniel LaLiberte=20 11 Dan Davison=20 11 Adam Sj=C3=B8gren=20 10 Tomohiro Matsuyama=20 10 Michael Meissner=20 10 Kenjiro NAKAYAMA=20 10 Jan Tatarik=20 9 Ulrich M=C3=BCller=20 9 Stephen Leake=20 9 Sebastian Kremer=20 9 Nicolas Richard=20 9 J=C3=BCrgen H=C3=B6tzel=20 9 Jeff Law=20 9 Christian Ohler=20 9 Bob Rogers=20 9 Antoine Levitt=20 8 Jari Aalto=20 8 Helmut Eller=20 8 Brian Youmans=20 7 Vivek Dasmohapatra=20 7 Peter Galbraith=20 7 Paul D. Smith=20 7 Matthias Meulien=20 7 Matthias Dahl=20 7 Luke Lee=20 7 Dima Kogan=20 7 Claudio Bley=20 7 Alexandre Julliard=20 6 =C5=A0t=C4=9Bp=C3=A1n N=C4=9Bmec=20 6 Samuel Bronson=20 6 Oscar Fuentes=20 6 Nathan Trapuzzano=20 6 Mark Lillibridge=20 6 Johan Vromans=20 6 Jim Wilson=20 6 Jarek Czekalski=20 6 Ivan Andrus=20 6 Fabrice Niessen=20 6 Eric Hanchrow=20 6 Eric Ding=20 5 William M. Perry=20 5 Vitalie Spinu=20 5 Troels Nielsen=20 5 Simon South=20 5 Santiago Pay=C3=A0 i Miralta=20 5 Mohsen BANAN=20 5 Michael Heerdegen=20 5 Mario Lang=20 5 Kelly Dean=20 5 Kan-Ru Chen=20 5 Jonas Bernoulli=20 5 John Gilmore=20 5 Jean-Philippe Gravel=20 5 Jaeyoun Chung=20 5 Gr=C3=A9goire Jadi=20 5 enami tsugutomo=20 5 Elias Pipping=20 5 Eduard Wiebe=20 5 Andreas Politz=20 5 Albert Krewinkel=20 4 William Xu=20 4 Tom Willemse=20 4 Thomas Bushnell, BSG=20 4 Teemu Likonen=20 4 Sven Joachim=20 4 Satyaki Das=20 4 Reto Zimmermann=20 4 Ralf Angeli=20 4 Phil Hagelberg=20 4 Morten Welinder=20 4 Matthew Swift=20 4 Mark D. Baushke=20 4 Kazuhiro Ito=20 4 Karel Kl=C3=ADc=20 4 J=C3=A9r=C3=A9my Compostella=20 4 Erich Stefan Boleyn=20 4 Dave Abrahams=20 4 Darren Hoo=20 4 Daniel Hackney=20 4 Alex Harsanyi=20 3 Ulf Jasper <> 3 Toby Cubitt=20 3 Takafumi Arakaki=20 3 Simon Leinen=20 3 Sergio Durigan Junior=20 3 Ray Blaak=20 3 Ralph Schleicher=20 3 Per Starb=C3=A4ck=20 3 =C3=93scar Fuentes=20 3 MON KEY=20 3 Mike Lamb=20 3 Michael Witten=20 3 Mark Oteiza=20 3 Ken Olum=20 3 Jorgen Schaefer=20 3 John Anthony=20 3 gnulists 3 Feng Li=20 3 Erik Charlebois=20 3 Emilio C. Lopes=20 3 Eli Barzilay=20 3 David Lawrence=20 3 David Edmondson=20 3 Cameron Desautels=20 3 Arni Magnusson=20 3 Ari Roponen=20 3 Anders Lindgren=20 3 Alexander Klimov=20 3 Akinori MUSHA=20 2 Zachary Kanfer=20 2 Yoni Rabkin=20 2 Yann Hodique=20 2 William Stevenson=20 2 T.V. Raman=20 2 Torbjorn Granlund=20 2 Tetsurou Okazaki=20 2 Sylvain Chouleur=20 2 Steve Morningthunder=20 2 Steve Chamberlain=20 2 Stan Cox=20 2 Ron Schnell=20 2 Rob Browning=20 2 Richard Copley=20 2 Phil Sainty=20 2 Peter Oliver=20 2 Peter O'Gorman=20 2 Peter J. Weisberg=20 2 OKAZAKI Tetsurou=20 2 Nobuyoshi Nakada=20 2 Nix=20 2 Nicolas Avrutin=20 2 Nguyen Thai Ngoc Duy=20 2 Nathan Weizenbaum=20 2 Mike Stump=20 2 Michael R. Mauger=20 2 Matthew Leach=20 2 Martin Blais=20 2 Le Wang=20 2 Leonard Randall=20 2 Lennart Borgman=20 2 Lars Ljung=20 2 Kevin Rodgers=20 2 Kevin Gallagher=20 2 Kaushik Srenevasan=20 2 Josh Feinstein=20 2 Jim Elgin=20 2 Jeff Bailey=20 2 Jan Nieuwenhuizen=20 2 Jan Moringen=20 2 Ingo Lohmar=20 2 Giorgos Keramidas=20 2 Gabor Vida=20 2 Francesc Rocher=20 2 Eyal Lotem=20 2 E Sabof=20 2 Eric Abrahamsen=20 2 era eriksson=20 2 Ed Reingold=20 2 Dmitry Kurochkin=20 2 Didier Verna=20 2 David R=C3=B6thlisberger=20 2 Daniel Dehennin=20 2 Brian Jenkins=20 2 Barry A. Warsaw=20 2 Alex Ott=20 2 Aleksei Gusev=20 2 Alan Schmitt=20 2 Adam Spiers=20 1 =D0=99=D0=BE=D1=80=D0=B4=D0=B0=D0=BD =D0=9C=D0=B8=D0=BB=D0=B0=D0=B4= =D0=B8=D0=BD=D0=BE=D0=B2=20 1 Yves Baumes=20 1 Yuya Nishihara=20 1 Yuri Karaban=20 1 Yuanle Song=20 1 Yoshiaki Kasahara=20 1 YE Qianchuan=20 1 Yavor Doganov=20 1 Yair Friedman=20 1 W. Trevor King=20 1 Wolfgang Schnerring=20 1 W. Martin Borgert=20 1 William Parsons=20 1 Wilfred Hughes=20 1 Wesley Dawson=20 1 Werner Meisner=20 1 Wang Diancheng=20 1 Volker Sobek=20 1 Vida Gabor=20 1 Vegard =C3=98ye=20 1 Vagn Johansen=20 1 Uwe Brauer=20 1 U. Ser=20 1 Uday S Reddy=20 1 Tsuyoshi Kitamoto=20 1 Toru TSUNEYOSHI=20 1 Tom Wood=20 1 Tom Seddon=20 1 Tom Regner=20 1 Tom Breton=20 1 Tomas Abrahamsson=20 1 Toke H=C3=B8iland-J=C3=B8rgensen=20 1 Tobias C. Rittweiler=20 1 Timo Myyr=C3=A4=20 1 Tim Landscheidt=20 1 Thomas Fitzsimmons=20 1 Thierry Banel=20 1 Tetsuo Tsukamoto=20 1 Ted Phelps=20 1 Tak Ota=20 1 Syver Enstad=20 1 Svante Signell=20 1 Steve Yegge=20 1 Steve Chapel=20 1 Steinar Bang=20 1 Stefan-W. Hahn=20 1 Stefano Facchini=20 1 Stefan Bruda=20 1 Simon Schubert=20 1 Simon Law=20 1 Simen Heggest=C3=B8yl=20 1 Shyam Karanatt=20 1 Shigeru Fukaya=20 1 shawn boles=20 1 Sergei Organov=20 1 S=C3=A9bastien Gross=20 1 Sebastian Hermida=20 1 Sean Neakums=20 1 Scott Frazer=20 1 Samuel Thibault=20 1 rzl24ozi=20 1 Ryan Yeske=20 1 Ryan Twitchell=20 1 Ryan Crum=20 1 Ryan Barrett=20 1 Ryan=20 1 Rupert Swarbrick=20 1 Roy Hashimoto=20 1 Rod Whitby=20 1 Robert Pluim=20 1 Robert Brown (tiny change)=20 1 Richard Levitte=20 1 Richard Kim=20 1 Ren=C3=A9 Kyllingstad=20 1 Raul Acevedo=20 1 Rasmus Pank Roulund=20 1 Ransom Williams=20 1 Rainer Orth=20 1 Primoz PETERLIN=20 1 Prestoo Ten=20 1 PJ Weisberg=20 1 Pieter Schoenmakers=20 1 Philipp Rumpf=20 1 Philipp Haselwarter=20 1 Petr Hracek=20 1 Peter S Galbraith=20 1 Peter Rosin=20 1 Peter M=C3=BCnster=20 1 Peter Kleiweg=20 1 Peder O. Klingenberg=20 1 Paul Rankin=20 1 Paul Pogonyshev=20 1 Paul Fisher=20 1 Olof Ohlsson Sax=20 1 Oliver Scholz=20 1 Oleksandr Gavenko=20 1 Oleh Krehel=20 1 Ognyan Kulev=20 1 oblique=20 1 Noam Postavsky=20 1 Nikolaj Schumacher=20 1 Nic Ferrier=20 1 Nelson Ferreira=20 1 Naohiro Aota=20 1 Nali Toja=20 1 Mitchel Humpherys=20 1 Mirek Kaim=20 1 Milan Zamazal=20 1 Mike Rowan=20 1 Mihir Rege=20 1 Michael Welsh Duggan=20 1 Michael Vehrs=20 1 Michael Shields=20 1 Michael McNamara=20 1 Michael Marchionna=20 1 Michael Hoffman=20 1 Michael Gauland=20 1 Micah Anderson=20 1 Matt McClure=20 1 Matt Fidler=20 1 Mats Lidell=20 1 Masashi Fujimoto=20 1 Martin Pohlack=20 1 Markus Triska=20 1 Mark Diekhans=20 1 Manuel G=C3=B3mez=20 1 Manoj Srivastava=20 1 LynX=20 1 Lukas Huonker=20 1 Luis Felipe L=C3=B3pez Acevedo=20 1 Ludovic Court=C3=A8s=20 1 Ludovic Courtes=20 1 Liang Wang=20 1 Liam Stitt=20 1 Leonardo Nobrega=20 1 Leonard H. Tower Jr=20 1 Laimonas V bra=20 1 l3thal=20 1 Kristoffer Gr=C3=B6nlund=20 1 Knut Anders Hatlen=20 1 Kirk Kelsey=20 1 Kirill A. Korinskiy=20 1 Kevin Layer=20 1 Kenjiro Nakayama=20 1 Keitaro Miyazaki=20 1 Karol Ostrovsky=20 1 Karl Pfl=C3=A4sterer=20 1 Karl Chen=20 1 Julian Scheid=20 1 Juergen Hoetzel=20 1 Jose Marino=20 1 Jose E. Marchesi=20 1 Jorge A. Alfaro Murillo=20 1 Joost Kremers=20 1 Jonathan Rockway=20 1 Jonathan Marchand=20 1 John Yates=20 1 John Mastro=20 1 John Marino=20 1 John Hassey=20 1 Joe Vornehm Jr.=20 1 Joe Matarazzo=20 1 Joel Ray Holveck=20 1 Joel Bion=20 1 Jirka Kosek=20 1 Jim Diamond=20 1 Jes Bodi Klinke=20 1 Jeremy Moore=20 1 Jed Brown=20 1 Jean Haidouk=20 1 Jason S. Cornez=20 1 Jason Merrill=20 1 Jason L. Wright=20 1 Jaros=C5=82aw Rzesz=C3=B3tko=20 1 Jan Beich=20 1 Jae-hyeon Park=20 1 Jack Duthen=20 1 IRIE Shinsuke=20 1 Ikumi Keita=20 1 Igor Kuzmin=20 1 Ian D=20 1 Hrvoje Niksic=20 1 HIROSHI OOTA=20 1 H. Dieter Wilhelm=20 1 HAMANO Kiyoto=20 1 Gustav H=C3=A5llberg=20 1 Gregor Zattler=20 1 Giuseppe Scrivano=20 1 Gergely Risko=20 1 George McNinch=20 1 Geoff Gole=20 1 Fran Litterio=20 1 Florian Adamsky=20 1 Felix H. Dahlke=20 1 Esa Peuha=20 1 Eric Schulte=20 1 Eric Brown=20 1 Enami Tsugutomo=20 1 Edward Reingold=20 1 Edward O'Connor=20 1 Drake Wilson=20 1 Douglas Lewan=20 1 Don March=20 1 Dmitry Bolshakov=20 1 Dieter Schuster=20 1 Devon Sean McCullough=20 1 Detlev Zundel=20 1 David Raynes=20 1 David Michael=20 1 David Koppelman=20 1 David De La Harpe Golden=20 1 David Caldwell=20 1 David Cad=C3=A9=20 1 David Burger=20 1 David Biesack=20 1 David Benjamin=20 1 David Abrahams=20 1 Dave Goldberg=20 1 Dato Sim=C3=B3=20 1 Daniel Hagerty=20 1 Daniel E. Doherty=20 1 Daniel Clemente=20 1 Daniel Bergey=20 1 Damyan Pepper=20 1 Damien Cassou=20 1 Dale Sedivec=20 1 Courtney Bane=20 1 Constantin Kulikov=20 1 Chris Zheng=20 1 Christoph Scholtes <> 1 Christopher J. White=20 1 Christopher Genovese=20 1 Christoph Egger=20 1 Christoph=20 1 Christian Wittern=20 1 Chris Siebenmann=20 1 Chris Newton=20 1 Chris Hanson=20 1 Chris Foote=20 1 Charles Rendleman=20 1 cg=20 1 BT Templeton=20 1 Bruno F=C3=A9lix Rezende Ribeiro=20 1 Brian McKenna=20 1 Brent Goodrick=20 1 Bob Nnamtrop=20 1 Bill Carpenter=20 1 Benjamin Rutt=20 1 Bastien=20 1 Barry Fishman=20 1 Aur=C3=A9lien Aptel=20 1 =C3=85=C2=81ukasz Stelmach=20 1 Atsuo Ohki=20 1 Artur Malabarba=20 1 Arne J=C3=B8rgensen=20 1 =C3=A2=E2=82=AC=C5=93Martin=20 1 Anonymous=20 1 Anmol Khirbat=20 1 Andy Sawyer=20 1 Andy Moreton=20 1 Andrey Kotlarski=20 1 Andrew W. Nosenko=20 1 Andrew Schein=20 1 Andrew Beals=20 1 Andrei Chitu=20 1 Andreas Rottmann=20 1 Andrea Rossetti=20 1 Ami Fischman=20 1 Alvar Jesus Ibeas Martin=20 1 Adam W=20 1 Adam Sokolnicki=20