[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: More metaproblem
From: |
Karl Fogel |
Subject: |
Re: More metaproblem |
Date: |
Thu, 04 Dec 2014 12:33:10 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Eli Zaretskii <address@hidden> writes:
>> "Eric S. Raymond" <address@hidden> 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.
>>
>> +1 all over that.
>>
>> 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=emacs
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.
>
> 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
10107 Glenn Morris
7395 Stefan Monnier
7099 Eli Zaretskii
6637 Kenichi Handa
6011 Chong Yidong
4803 Gerd Moellmann
4416 Juanma Barranquero
3767 Karl Heuer
3374 Paul Eggert
3320 Dave Love
3025 Kim F. Storm
1860 Miles Bader
1781 Jim Blandy
1511 Jason Rumney
1474 Dan Nicolaescu
1472 Andreas Schwab
1458 Juri Linkov
1421 Nick Roberts
1397 Michael Albinus
1390 Jan Djärv
1284 Luc Teirlinck
940 Jay Belanger
907 YAMAMOTO Mitsuharu
826 Lars Magne Ingebrigtsen
749 Pavel Janík
697 Martin Rudalics
638 Dmitry Antipov
615 Carsten Dominik
596 Karoly Lorentey
584 Roland McGrath
583 Thien-Thi Nguyen
518 Katsumi Yamaoka
470 Eric S. Raymond
445 Alan Mackenzie
436 Andrew Innes
435 Francesco Potortì
427 Bill Wohler
420 Geoff Voelker
407 Lute Kamstra
399 André Spiegel
337 Leo Liu
320 Colin Walters
317 Sam Steingold
312 Romain Francoise
299 John Paul Wallington
279 Vinicius Jose Latorre
273 Fabián Ezequiel Gallina
266 Xue Fuqiao
259 Markus Rost
254 Ken Raeburn
242 Adrian Robert
235 Simon Marshall
211 Dmitry Gutov
206 Reiner Steib
205 Lars Ingebrigtsen
191 Michael Kifer
182 Tassilo Horn
180 John Wiegley
178 Daniel Colascione
174 Erik Naggum
167 Stephen Berman
159 Bastien Guerry
152 Kai Großjohann
149 Gnus developers
136 Daiki Ueno
129 Steven Tamm
127 Karl Berry
125 David Kastrup
122 Robert J. Chassell
119 Masatake YAMATO
114 Edward M. Reingold
113 Roland Winkler
112 Simon Josefsson
112 Julien Danjou
111 Daniel Pfeiffer
110 Karl Fogel
106 Ted Zlatanov
106 Noah Friedman
101 Lars Hansen
99 Andrew Choi
97 Jan D
94 Michael Olson
86 Stephen Eglen
84 Teodor Zlatanov
83 Ulf Jasper
82 Per Abrahamsen
80 Tom Tromey
80 David J. MacKenzie
77 ShengHuo ZHU
77 Mathias Dahl
75 Paul Reilly
69 Agustín Martín
68 Joseph Arceneaux
67 J.D. Smith
67 Boris Goldowsky
65 Michaël Cadilhac
64 Kevin Ryde
64 Ken Brown
61 David Engster
61 Brian Fox
60 Fred Pierresteguy
60 David Ponce
59 Martin Stjernholm
58 David Reitter
56 Eric M. Ludlam
56 Deniz Dogan
54 Werner LEMBERG
52 Richard Kenner
48 Ken Manheimer
47 Rüdiger Sonderfeld
47 Deepak Goel
43 Magnus Henoch
43 Andrew Cohen
41 Bozhidar Batsov
40 Mark A. Hershberger
39 Christoph Scholtes
38 Oliver Seidel
38 Jim Meyering
37 Johan Bockgård
35 Dmitry Dzhus
35 Dani Moncayo
33 Joakim Verona
32 Jonathan Yavner
30 Peter Breton
30 Alex Schroeder
29 Vincent Belaïche
28 Per Bothner
27 Jesper Harder
26 Reuben Thomas
26 Ramprasad B
26 Christopher Schmidt
24 Mike Williams
23 Thierry Volpiatto
22 Michal Nazarewicz
22 Jeffrey C Honig
22 Aidan Gauland
21 Doug Evans
20 root <root>
20 Michael I. Bushnell
19 Michael Mauger
19 Drew Adams
18 Phillip Rulon
18 Károly Lőrentey
18 Jambunathan K
18 Ivan Shmakov
17 Stefan Merten
17 Joel N. Weber II
16 Ulrich Drepper
16 João Távora
16 Christopher Zaborsky
16 Ben Key
16 Barry O'Reilly
16 Alp Aker
15 Ulrich Mueller
15 Rajesh Vaidheeswarran
15 Kelvin White
15 Ivan Kanis
15 Brian Preble
14 Rudy Gevaert
14 Marcelo Toledo
14 Fabrice Popineau
13 Stephen Gildea
13 Ian Lance Taylor
13 Charles Hannum
13 Aaron S. Hawley
12 Wolfgang Jenkner
12 Wilson Snyder
12 Seiji Zenitani
12 Lawrence Mitchell
12 Ben Elliston
11 thierry volpiatto
11 Melissa Weisshaus
11 Daniel LaLiberte
11 Dan Davison
11 Adam Sjøgren
10 Tomohiro Matsuyama
10 Michael Meissner
10 Kenjiro NAKAYAMA
10 Jan Tatarik
9 Ulrich Müller
9 Stephen Leake
9 Sebastian Kremer
9 Nicolas Richard
9 Jürgen Hötzel
9 Jeff Law
9 Christian Ohler
9 Bob Rogers
9 Antoine Levitt
8 Jari Aalto
8 Helmut Eller
8 Brian Youmans
7 Vivek Dasmohapatra
7 Peter Galbraith
7 Paul D. Smith
7 Matthias Meulien
7 Matthias Dahl
7 Luke Lee
7 Dima Kogan
7 Claudio Bley
7 Alexandre Julliard
6 Štěpán Němec
6 Samuel Bronson
6 Oscar Fuentes
6 Nathan Trapuzzano
6 Mark Lillibridge
6 Johan Vromans
6 Jim Wilson
6 Jarek Czekalski
6 Ivan Andrus
6 Fabrice Niessen
6 Eric Hanchrow
6 Eric Ding
5 William M. Perry
5 Vitalie Spinu
5 Troels Nielsen
5 Simon South
5 Santiago Payà i Miralta
5 Mohsen BANAN
5 Michael Heerdegen
5 Mario Lang
5 Kelly Dean
5 Kan-Ru Chen
5 Jonas Bernoulli
5 John Gilmore
5 Jean-Philippe Gravel
5 Jaeyoun Chung
5 Grégoire Jadi
5 enami tsugutomo
5 Elias Pipping
5 Eduard Wiebe
5 Andreas Politz
5 Albert Krewinkel
4 William Xu
4 Tom Willemse
4 Thomas Bushnell, BSG
4 Teemu Likonen
4 Sven Joachim
4 Satyaki Das
4 Reto Zimmermann
4 Ralf Angeli
4 Phil Hagelberg
4 Morten Welinder
4 Matthew Swift
4 Mark D. Baushke
4 Kazuhiro Ito
4 Karel Klíc
4 Jérémy Compostella
4 Erich Stefan Boleyn
4 Dave Abrahams
4 Darren Hoo
4 Daniel Hackney
4 Alex Harsanyi
3 Ulf Jasper <>
3 Toby Cubitt
3 Takafumi Arakaki
3 Simon Leinen
3 Sergio Durigan Junior
3 Ray Blaak
3 Ralph Schleicher
3 Per Starbäck
3 Óscar Fuentes
3 MON KEY
3 Mike Lamb
3 Michael Witten
3 Mark Oteiza
3 Ken Olum
3 Jorgen Schaefer
3 John Anthony
3 gnulists <gnulists>
3 Feng Li
3 Erik Charlebois
3 Emilio C. Lopes
3 Eli Barzilay
3 David Lawrence
3 David Edmondson
3 Cameron Desautels
3 Arni Magnusson
3 Ari Roponen
3 Anders Lindgren
3 Alexander Klimov
3 Akinori MUSHA
2 Zachary Kanfer
2 Yoni Rabkin
2 Yann Hodique
2 William Stevenson
2 T.V. Raman
2 Torbjorn Granlund
2 Tetsurou Okazaki
2 Sylvain Chouleur
2 Steve Morningthunder
2 Steve Chamberlain
2 Stan Cox
2 Ron Schnell
2 Rob Browning
2 Richard Copley
2 Phil Sainty
2 Peter Oliver
2 Peter O'Gorman
2 Peter J. Weisberg
2 OKAZAKI Tetsurou
2 Nobuyoshi Nakada
2 Nix
2 Nicolas Avrutin
2 Nguyen Thai Ngoc Duy
2 Nathan Weizenbaum
2 Mike Stump
2 Michael R. Mauger
2 Matthew Leach
2 Martin Blais
2 Le Wang
2 Leonard Randall
2 Lennart Borgman
2 Lars Ljung
2 Kevin Rodgers
2 Kevin Gallagher
2 Kaushik Srenevasan
2 Josh Feinstein
2 Jim Elgin
2 Jeff Bailey
2 Jan Nieuwenhuizen
2 Jan Moringen
2 Ingo Lohmar
2 Giorgos Keramidas
2 Gabor Vida
2 Francesc Rocher
2 Eyal Lotem
2 E Sabof
2 Eric Abrahamsen
2 era eriksson
2 Ed Reingold
2 Dmitry Kurochkin
2 Didier Verna
2 David Röthlisberger
2 Daniel Dehennin
2 Brian Jenkins
2 Barry A. Warsaw
2 Alex Ott
2 Aleksei Gusev
2 Alan Schmitt
2 Adam Spiers
1 Йордан Миладинов
1 Yves Baumes
1 Yuya Nishihara
1 Yuri Karaban
1 Yuanle Song
1 Yoshiaki Kasahara
1 YE Qianchuan
1 Yavor Doganov
1 Yair Friedman
1 W. Trevor King
1 Wolfgang Schnerring
1 W. Martin Borgert
1 William Parsons
1 Wilfred Hughes
1 Wesley Dawson
1 Werner Meisner
1 Wang Diancheng
1 Volker Sobek
1 Vida Gabor
1 Vegard Øye
1 Vagn Johansen
1 Uwe Brauer
1 U. Ser
1 Uday S Reddy
1 Tsuyoshi Kitamoto
1 Toru TSUNEYOSHI
1 Tom Wood
1 Tom Seddon
1 Tom Regner
1 Tom Breton
1 Tomas Abrahamsson
1 Toke Høiland-Jørgensen
1 Tobias C. Rittweiler
1 Timo Myyrä
1 Tim Landscheidt
1 Thomas Fitzsimmons
1 Thierry Banel
1 Tetsuo Tsukamoto
1 Ted Phelps
1 Tak Ota
1 Syver Enstad
1 Svante Signell
1 Steve Yegge
1 Steve Chapel
1 Steinar Bang
1 Stefan-W. Hahn
1 Stefano Facchini
1 Stefan Bruda
1 Simon Schubert
1 Simon Law
1 Simen Heggestøyl
1 Shyam Karanatt
1 Shigeru Fukaya
1 shawn boles
1 Sergei Organov
1 Sébastien Gross
1 Sebastian Hermida
1 Sean Neakums
1 Scott Frazer
1 Samuel Thibault
1 rzl24ozi
1 Ryan Yeske
1 Ryan Twitchell
1 Ryan Crum
1 Ryan Barrett
1 Ryan
1 Rupert Swarbrick
1 Roy Hashimoto
1 Rod Whitby
1 Robert Pluim
1 Robert Brown (tiny change)
1 Richard Levitte
1 Richard Kim
1 René Kyllingstad
1 Raul Acevedo
1 Rasmus Pank Roulund
1 Ransom Williams
1 Rainer Orth
1 Primoz PETERLIN
1 Prestoo Ten
1 PJ Weisberg
1 Pieter Schoenmakers
1 Philipp Rumpf
1 Philipp Haselwarter
1 Petr Hracek
1 Peter S Galbraith
1 Peter Rosin
1 Peter Münster
1 Peter Kleiweg
1 Peder O. Klingenberg
1 Paul Rankin
1 Paul Pogonyshev
1 Paul Fisher
1 Olof Ohlsson Sax
1 Oliver Scholz
1 Oleksandr Gavenko
1 Oleh Krehel
1 Ognyan Kulev
1 oblique
1 Noam Postavsky
1 Nikolaj Schumacher
1 Nic Ferrier
1 Nelson Ferreira
1 Naohiro Aota
1 Nali Toja
1 Mitchel Humpherys
1 Mirek Kaim
1 Milan Zamazal
1 Mike Rowan
1 Mihir Rege
1 Michael Welsh Duggan
1 Michael Vehrs
1 Michael Shields
1 Michael McNamara
1 Michael Marchionna
1 Michael Hoffman
1 Michael Gauland
1 Micah Anderson
1 Matt McClure
1 Matt Fidler
1 Mats Lidell
1 Masashi Fujimoto
1 Martin Pohlack
1 Markus Triska
1 Mark Diekhans
1 Manuel Gómez
1 Manoj Srivastava
1 LynX
1 Lukas Huonker
1 Luis Felipe López Acevedo
1 Ludovic Courtès
1 Ludovic Courtes
1 Liang Wang
1 Liam Stitt
1 Leonardo Nobrega
1 Leonard H. Tower Jr
1 Laimonas V bra
1 l3thal
1 Kristoffer Grönlund
1 Knut Anders Hatlen
1 Kirk Kelsey
1 Kirill A. Korinskiy
1 Kevin Layer
1 Kenjiro Nakayama
1 Keitaro Miyazaki
1 Karol Ostrovsky
1 Karl Pflästerer
1 Karl Chen
1 Julian Scheid
1 Juergen Hoetzel
1 Jose Marino
1 Jose E. Marchesi
1 Jorge A. Alfaro Murillo
1 Joost Kremers
1 Jonathan Rockway
1 Jonathan Marchand
1 John Yates
1 John Mastro
1 John Marino
1 John Hassey
1 Joe Vornehm Jr.
1 Joe Matarazzo
1 Joel Ray Holveck
1 Joel Bion
1 Jirka Kosek
1 Jim Diamond
1 Jes Bodi Klinke
1 Jeremy Moore
1 Jed Brown
1 Jean Haidouk
1 Jason S. Cornez
1 Jason Merrill
1 Jason L. Wright
1 Jarosław Rzeszótko
1 Jan Beich
1 Jae-hyeon Park
1 Jack Duthen
1 IRIE Shinsuke
1 Ikumi Keita
1 Igor Kuzmin
1 Ian D
1 Hrvoje Niksic
1 HIROSHI OOTA
1 H. Dieter Wilhelm
1 HAMANO Kiyoto
1 Gustav Hållberg
1 Gregor Zattler
1 Giuseppe Scrivano
1 Gergely Risko
1 George McNinch
1 Geoff Gole
1 Fran Litterio
1 Florian Adamsky
1 Felix H. Dahlke
1 Esa Peuha
1 Eric Schulte
1 Eric Brown
1 Enami Tsugutomo
1 Edward Reingold
1 Edward O'Connor
1 Drake Wilson
1 Douglas Lewan
1 Don March
1 Dmitry Bolshakov
1 Dieter Schuster
1 Devon Sean McCullough
1 Detlev Zundel
1 David Raynes
1 David Michael
1 David Koppelman
1 David De La Harpe Golden
1 David Caldwell
1 David Cadé
1 David Burger
1 David Biesack
1 David Benjamin
1 David Abrahams
1 Dave Goldberg
1 Dato Simó
1 Daniel Hagerty
1 Daniel E. Doherty
1 Daniel Clemente
1 Daniel Bergey
1 Damyan Pepper
1 Damien Cassou
1 Dale Sedivec
1 Courtney Bane
1 Constantin Kulikov
1 Chris Zheng
1 Christoph Scholtes <>
1 Christopher J. White
1 Christopher Genovese
1 Christoph Egger
1 Christoph
1 Christian Wittern
1 Chris Siebenmann
1 Chris Newton
1 Chris Hanson
1 Chris Foote
1 Charles Rendleman
1 cg
1 BT Templeton
1 Bruno Félix Rezende Ribeiro
1 Brian McKenna
1 Brent Goodrick
1 Bob Nnamtrop
1 Bill Carpenter
1 Benjamin Rutt
1 Bastien
1 Barry Fishman
1 Aurélien Aptel
1 Åukasz Stelmach
1 Atsuo Ohki
1 Artur Malabarba
1 Arne Jørgensen
1 “Martin
1 Anonymous
1 Anmol Khirbat
1 Andy Sawyer
1 Andy Moreton
1 Andrey Kotlarski
1 Andrew W. Nosenko
1 Andrew Schein
1 Andrew Beals
1 Andrei Chitu
1 Andreas Rottmann
1 Andrea Rossetti
1 Ami Fischman
1 Alvar Jesus Ibeas Martin
1 Adam W
1 Adam Sokolnicki
- Re: More metaproblem, (continued)
- Re: More metaproblem, chad, 2014/12/05
- Re: More metaproblem, Stephen Leake, 2014/12/04
- Re: More metaproblem, Eli Zaretskii, 2014/12/04
- Re: More metaproblem, David Kastrup, 2014/12/04
- Re: More metaproblem, Eric S. Raymond, 2014/12/04
- Re: More metaproblem, David Kastrup, 2014/12/04
- Re: More metaproblem, Eli Zaretskii, 2014/12/04
- Re: More metaproblem, Eric S. Raymond, 2014/12/04
- Re: More metaproblem, Stephen J. Turnbull, 2014/12/04
- Re: More metaproblem, Eli Zaretskii, 2014/12/05
- Re: More metaproblem,
Karl Fogel <=
- Re: More metaproblem, Eli Zaretskii, 2014/12/04
- Re: More metaproblem, Jorgen Schaefer, 2014/12/04
- Re: More metaproblem, Eli Zaretskii, 2014/12/05
- Re: More metaproblem, Aurélien Aptel, 2014/12/05
- Re: More metaproblem, Eli Zaretskii, 2014/12/05
- Re: the Emacs wiki, Stephen Leake, 2014/12/06
- Re: the Emacs wiki, Eli Zaretskii, 2014/12/06
- Re: the Emacs wiki, Nic Ferrier, 2014/12/06
- Re: the Emacs wiki, Stephen Leake, 2014/12/07
- Re: the Emacs wiki, Nic Ferrier, 2014/12/09