From: Alan Mackenzie <acm@muc.de>
To: "Eric S. Raymond" <esr@snark.thyrsus.com>
Cc: emacs-devel@gnu.org
Subject: Re: What a modern collaboration toolkit looks like
Date: Mon, 31 Dec 2007 13:11:29 +0000 [thread overview]
Message-ID: <20071231131129.GA2737@muc.de> (raw)
In-Reply-To: <20071230122217.3CA84830B9A@snark.thyrsus.com>
Happy New Year, Eric and Emacs!
On Sun, Dec 30, 2007 at 07:22:17AM -0500, Eric S. Raymond wrote:
> ...., I think it will be useful if I start by giving everybody a clear
> idea of the potential benefits of changing our practices.
> I'm going to describe the collaboration toolkit on another project
> where I happen to be a senior dev, called Battle For Wesnoth. You can
> find the project at <http://www.wesnoth.org/>.
> This is a typical modern open-source project.
Emacs is an atypical, very old, piece of free software. Wesnoth seems to
be about 5 years old. (I haven't found the repository online.) This has
some bearing on the differences in development processes.
> .... Here are the collaborative tools we use every day:
> * Source control with Subversion
> * A bug tracker
> * A very active IRC channel used for routine dev chatter
> * A dev mailing list, used mostly for white papers and long proposals
> * Web forums where a large user community hangs out
> * Subversion commits are echoed to IRC in real time by a monitor bot
> * Subversion commits that reference a bug append a comment to the tracker
> * A bot on IRC that you can query with a bug number and get a tracker URL.
> Here are some of the ways my workflow on Wesnoth differs from my
> workflow on Emacs:
> 1. When I do a commit of changes to several files, the entire changeset
> is saved as a unit with a single change comment attached to it.
I would appreciate having this in Emacs.
> a) That change can be referenced, through its Subversion revision ID.
> (So, for example, "Hey boucman, your r22615 broke linger mode!")
Hopefully, people are considerate enough not to do this too often;
continually having to look somewhere else to get context is not nice.
> b) That change can be backed out as a unit.
That's fine if nearly all changes are independent. In Emacs, I think,
this is not the case. The codebase is extremely old, and clean
structuring has in many cases been lost. (But, hey, for >20 y.o. code,
it's not bad).
Such easy backing out could lead to problems.
[ .... ]
> 2. My commit is also echoed to the IRC channel, where there are almost
> never fewer than three or four devs hanging out as they hack, chatting
> in real time. Review tends to happen instantly.
What about fixes that are too big for instant review? Emacs has lots of
bugs (and often fixes ;-) that are barely tractable, so that the slower
pace of email seems a better fit.
[ .... ]
> The effect of all these tools is more than the sum of its parts.
> One huge one is simply that devs can choose to spend time picking bugs
> off the tracker and nailing them, with basically zero process friction.
> Another is that we routinely hash out serious design and coding issues
> in real time, because everyone on the chat channel can share hyperlinks
> to the codebase, the commit history, the bug tracker, and posts
> on the user forums.
I've no experience of IIRC. But doesn't this way of working mean
continually dancing from one thing to another? I don't do that very
well. The "hyperlinks" bit sounds like you have to look at 3 or 4 things
simultaneously to be able to synthesise a context. How does this working
style work for difficult problems?
> Yet a third is that when we decide to do it, we can converge on a
> releasable state with almost absurd ease. Like, Ivanovic (our release
> manager) will announce "Point release scheduled this coming Wednesday"
> and everyone will pretty much flip into bug-stomping mode. The tracker
> bug list tends to shrink dramatically when this happens -- not only do
> we get prepared for release but *we know we've done so*.
Eric, how well do you think this could work at all for Emacs?
> More generally, development happens *fast*. I don't have to wait weeks
> to find out whether other devs think of an idea. Commonly I know
> within minutes.
On emacs-devel, this takes hours, not weeks. At any given time, most
Emacs developers are either asleep or doing other things (like earning
their living). Doesn't this quick-fire style end up excluding lots of
hackers from participation?
> The Wesnoth devs are good but not exceptionally so, and we're weighed
> down by a crappy implementation language (C++).
Yuck!!
> Nevertheless our productivity, in terms of goals achieved per hour of
> work, is quite high. That's because our collaboration tools support
> everything we do without imposing noticeable process friction. This
> makes us dramatically more effective as individuals and as a group than
> we could possibly be without them.
Might it also be because your code base is still young, clean and
flexible?
> Lessons for the Emacs project? Hell, yes. But I'm not going to write
> that rant until y'all have had a little time to absorb this description
> of how things can be.
I'll look forward to that! We'd all welcome a process for releasing
every few months rather than twice a decade.
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2007-12-31 13:11 UTC|newest]
Thread overview: 277+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-30 12:22 What a modern collaboration toolkit looks like Eric S. Raymond
2007-12-30 15:32 ` Thien-Thi Nguyen
2007-12-30 15:42 ` Richard Stallman
2007-12-30 17:22 ` Eric S. Raymond
2007-12-30 20:25 ` Robert J. Chassell
2007-12-30 21:55 ` Nick Roberts
2007-12-30 22:25 ` Lennart Borgman (gmail)
2007-12-30 22:58 ` Richard Stallman
2007-12-30 22:58 ` Richard Stallman
2007-12-31 2:58 ` Eric S. Raymond
2007-12-31 12:14 ` Thien-Thi Nguyen
2008-01-01 23:57 ` John S. Yates, Jr.
2008-01-02 1:46 ` Thien-Thi Nguyen
2007-12-31 22:29 ` Richard Stallman
2008-01-01 0:19 ` Leo
2007-12-31 4:31 ` Eli Zaretskii
2007-12-31 13:07 ` Eric S. Raymond
2007-12-31 20:57 ` Eli Zaretskii
2007-12-31 21:41 ` Eric S. Raymond
2007-12-31 23:00 ` Nick Roberts
2008-01-01 0:50 ` Eric S. Raymond
2008-01-01 4:22 ` Eli Zaretskii
2008-01-01 6:20 ` Eric S. Raymond
2007-12-31 23:12 ` Eli Zaretskii
2008-01-01 0:27 ` Dan Nicolaescu
2008-01-01 3:00 ` Mike Mattie
2008-01-01 7:57 ` Drew Adams
2008-01-02 19:28 ` Agustin Martin
2008-01-03 9:50 ` Richard Stallman
2008-01-05 3:34 ` Mike Mattie
2008-01-06 8:09 ` Richard Stallman
2008-01-03 9:50 ` Richard Stallman
2008-01-01 20:44 ` Eli Zaretskii
2008-01-02 4:17 ` Dan Nicolaescu
2008-01-05 10:48 ` Eli Zaretskii
2008-01-01 0:57 ` Eric S. Raymond
2008-01-01 4:21 ` Eli Zaretskii
2008-01-01 0:10 ` Miles Bader
2008-01-01 1:06 ` Eric S. Raymond
2008-01-01 1:41 ` Miles Bader
2008-01-01 2:16 ` Eric S. Raymond
2008-01-01 19:43 ` Tom Tromey
2008-01-01 21:11 ` Nick Roberts
2008-01-02 0:25 ` Miles Bader
2008-01-02 1:12 ` Tom Tromey
2008-01-02 17:19 ` On-the-fly compiling (was Re: What a modern collaboration toolkit looks like) Mark A. Hershberger
2008-01-02 20:57 ` On-the-fly compiling Stefan Monnier
2008-01-02 22:33 ` Lennart Borgman (gmail)
2008-01-02 23:09 ` Tom Tromey
2008-01-02 9:53 ` What a modern collaboration toolkit looks like Richard Stallman
2008-01-01 11:28 ` Tassilo Horn
2008-01-01 20:36 ` Eli Zaretskii
2008-01-02 0:29 ` Miles Bader
2008-01-02 4:14 ` Eli Zaretskii
2008-01-02 4:33 ` Miles Bader
2008-01-02 8:24 ` Werner LEMBERG
2008-01-02 8:20 ` Tassilo Horn
2008-01-03 9:50 ` Richard Stallman
2008-01-03 13:15 ` Ævar Arnfjörð Bjarmason
2008-01-04 13:56 ` Stefan Monnier
2008-01-02 8:41 ` tomas
2008-01-03 9:50 ` Richard Stallman
2008-01-03 10:16 ` Miles Bader
2008-01-05 5:55 ` Richard Stallman
2008-01-05 6:59 ` Óscar Fuentes
2008-01-05 15:29 ` Eli Zaretskii
2008-01-05 19:53 ` Óscar Fuentes
2008-01-06 8:09 ` Richard Stallman
2008-01-05 8:55 ` David Kastrup
2008-01-05 9:55 ` Werner LEMBERG
2008-01-05 15:23 ` Eli Zaretskii
2008-01-05 15:31 ` Lars Magne Ingebrigtsen
2008-01-05 15:39 ` David Kastrup
2008-01-06 8:09 ` Richard Stallman
2008-01-06 9:51 ` tomas
2008-01-06 11:02 ` David Kastrup
2008-01-06 12:05 ` Robert J. Chassell
2008-01-06 12:40 ` David Kastrup
2008-01-06 16:51 ` Robert J. Chassell
2008-01-06 17:03 ` David Kastrup
2008-01-07 4:18 ` Richard Stallman
2008-01-05 22:46 ` Stefan Monnier
2008-01-06 18:09 ` Richard Stallman
2008-01-07 17:17 ` Gregory Collins
2008-01-07 23:21 ` Stephen J. Turnbull
2008-01-08 0:25 ` Gregory Collins
2008-01-08 0:51 ` David Kastrup
2008-01-08 2:43 ` Mike Mattie
2008-01-08 3:03 ` YAMAMOTO Mitsuharu
2008-01-08 4:25 ` Mike Mattie
2008-01-08 19:07 ` Richard Stallman
2008-01-03 10:32 ` David Kastrup
2008-01-01 17:11 ` Alan Mackenzie
2008-01-01 18:05 ` Werner LEMBERG
2008-01-01 18:27 ` Alan Mackenzie
2008-01-01 18:28 ` Werner LEMBERG
2008-01-02 9:53 ` Richard Stallman
2008-01-02 10:36 ` Werner LEMBERG
2008-01-02 12:23 ` Eric S. Raymond
2008-01-04 5:27 ` Richard Stallman
2008-01-02 11:27 ` Thien-Thi Nguyen
2008-01-02 12:17 ` Eric S. Raymond
2008-01-03 1:26 ` Stephen J. Turnbull
2008-01-03 2:49 ` Eric S. Raymond
2008-01-04 5:27 ` Richard Stallman
2008-01-04 5:35 ` Miles Bader
2008-01-04 12:47 ` Eric S. Raymond
2008-01-05 14:30 ` Richard Stallman
2008-01-06 1:10 ` Miles Bader
2008-01-04 12:45 ` Eric S. Raymond
2008-01-05 14:30 ` Richard Stallman
2008-01-05 15:29 ` Eric S. Raymond
2008-01-05 15:59 ` Andreas Schwab
2008-01-06 2:14 ` Mike Mattie
2008-01-03 1:08 ` Giorgos Keramidas
2008-01-03 2:56 ` Eric S. Raymond
2008-01-03 3:18 ` Giorgos Keramidas
2008-01-04 5:27 ` Richard Stallman
2008-01-04 8:51 ` David Kastrup
2008-01-05 14:30 ` Richard Stallman
2008-01-05 15:28 ` David Kastrup
2008-01-06 10:46 ` Richard Stallman
2008-01-06 11:10 ` David Kastrup
2008-01-07 4:18 ` Richard Stallman
2008-01-07 4:36 ` dhruva
2008-01-07 4:52 ` Sam Steingold
2008-01-07 5:09 ` dhruva
2008-01-07 8:17 ` David Kastrup
2008-01-07 15:37 ` Stefan Monnier
2008-01-07 15:47 ` David Kastrup
2008-01-07 16:22 ` Stefan Monnier
2008-01-07 17:09 ` David Kastrup
2008-01-07 15:40 ` CHENG Gao
2008-01-07 23:36 ` Stephen J. Turnbull
2008-01-08 4:31 ` CHENG Gao
2008-01-08 5:07 ` Mike Mattie
2008-01-08 2:56 ` Mike Mattie
2008-01-08 9:37 ` Andreas Schwab
2008-01-07 5:16 ` Jason Earl
2008-01-07 17:16 ` Richard Stallman
2008-01-07 17:45 ` Gregory Collins
2008-01-08 19:07 ` Richard Stallman
2008-01-08 19:50 ` Miles Bader
2008-01-13 20:06 ` Giorgos Keramidas
2008-01-14 11:28 ` Richard Stallman
2008-01-07 21:28 ` Jason Earl
2008-01-07 8:15 ` David Kastrup
2008-01-07 8:33 ` Giorgos Keramidas
2008-01-07 23:50 ` Stephen J. Turnbull
2008-01-05 21:11 ` Stephen J. Turnbull
2008-01-06 18:08 ` Richard Stallman
2008-01-07 9:35 ` Piet van Oostrum
2008-01-01 20:53 ` Nick Roberts
2008-01-02 9:53 ` Richard Stallman
2008-01-02 12:24 ` Eric S. Raymond
2008-01-02 15:19 ` David Kastrup
2008-01-02 20:35 ` Karl Fogel
2008-01-02 19:19 ` Andreas Schwab
2008-01-02 19:23 ` Romain Francoise
2008-01-03 1:18 ` Giorgos Keramidas
2008-01-03 7:55 ` David Kastrup
2008-01-02 9:53 ` Richard Stallman
2008-01-02 10:03 ` David Kastrup
2008-01-02 10:05 ` Tassilo Horn
2008-01-02 11:31 ` Alan Mackenzie
2008-01-02 11:28 ` Tassilo Horn
2008-01-02 14:26 ` Óscar Fuentes
2008-01-02 19:48 ` Karl Fogel
2008-01-02 18:43 ` Andreas Schwab
2008-01-02 22:10 ` Alfred M. Szmidt
2008-01-03 2:58 ` Karl Fogel
2008-01-03 1:21 ` Giorgos Keramidas
2008-01-03 9:14 ` Andreas Schwab
2008-01-03 10:57 ` Giorgos Keramidas
2008-01-01 19:37 ` Eric S. Raymond
2008-01-01 21:46 ` Alan Mackenzie
2008-01-01 22:49 ` Eric S. Raymond
2008-01-02 17:05 ` Mark A. Hershberger
2008-01-03 9:49 ` Richard Stallman
2008-01-02 8:35 ` Tassilo Horn
2008-01-02 5:54 ` John S. Yates, Jr.
2008-01-02 11:52 ` Eric S. Raymond
2008-01-03 9:50 ` Richard Stallman
2008-01-02 8:51 ` tomas
2008-01-02 9:53 ` Richard Stallman
2008-01-01 22:01 ` Romain Francoise
2007-12-31 13:11 ` Alan Mackenzie [this message]
2007-12-31 13:24 ` Miles Bader
2007-12-31 13:44 ` Alan Mackenzie
2007-12-31 15:45 ` Eric S. Raymond
2007-12-31 15:14 ` Juanma Barranquero
2007-12-31 15:31 ` Eric S. Raymond
2007-12-31 15:25 ` Eric S. Raymond
2008-01-01 20:34 ` Alan Mackenzie
2008-01-01 20:57 ` Eric S. Raymond
2008-01-02 9:53 ` Richard Stallman
2008-01-02 12:29 ` Eric S. Raymond
2008-01-02 12:59 ` dhruva
2008-01-02 13:11 ` Miles Bader
2008-01-02 13:17 ` Tassilo Horn
2008-01-02 13:49 ` David Kastrup
2008-01-04 5:28 ` Richard Stallman
2008-01-04 7:03 ` John S. Yates, Jr.
2008-01-05 14:29 ` Richard Stallman
2008-01-02 13:48 ` Werner LEMBERG
2008-01-02 13:56 ` dhruva
2008-01-02 14:55 ` Eric S. Raymond
2008-01-03 1:13 ` Giorgos Keramidas
2008-01-02 14:50 ` Eric S. Raymond
2008-01-19 17:45 ` Jari Aalto
2008-01-20 2:59 ` dhruva
2008-01-20 5:10 ` Miles Bader
2008-01-20 5:36 ` Juanma Barranquero
2008-01-20 6:03 ` Miles Bader
2008-01-20 19:28 ` Eli Zaretskii
2008-01-20 20:42 ` Juanma Barranquero
2008-01-20 20:17 ` Juanma Barranquero
2008-01-20 20:28 ` Juanma Barranquero
2008-01-21 2:11 ` Miles Bader
2008-01-21 2:38 ` Karl Fogel
2008-01-21 2:49 ` Miles Bader
2008-01-21 3:06 ` Nick Roberts
2008-01-21 3:17 ` Miles Bader
2008-01-21 3:26 ` Stephen J. Turnbull
2008-01-21 3:16 ` Glenn Morris
2008-01-21 4:11 ` Nick Roberts
2008-01-21 10:00 ` Thien-Thi Nguyen
2008-01-21 2:41 ` Juanma Barranquero
2008-01-21 3:01 ` Nick Roberts
2008-01-21 9:07 ` Richard Stallman
2008-01-21 15:51 ` Dan Nicolaescu
2008-01-21 17:37 ` Miles Bader
2008-01-21 17:53 ` Tom Tromey
2008-01-21 20:06 ` Stefan Monnier
2008-01-21 19:50 ` Tom Tromey
2008-01-22 0:33 ` Dan Nicolaescu
2008-01-24 14:43 ` Mark A. Hershberger
2008-01-24 15:00 ` Juanma Barranquero
2008-01-24 15:34 ` dhruva
2008-01-24 19:52 ` Stephen J. Turnbull
2008-01-25 0:43 ` Juanma Barranquero
2008-01-25 22:47 ` Richard Stallman
2008-01-25 23:13 ` Alfred M. Szmidt
2008-01-25 23:36 ` Miles Bader
2008-01-27 0:45 ` Richard Stallman
2008-01-27 17:39 ` David Kastrup
2008-01-27 20:06 ` Nick Roberts
2008-01-27 22:21 ` David Kastrup
2008-01-27 23:58 ` Johan Bockgård
2008-01-28 7:17 ` Richard Stallman
2008-01-28 7:17 ` Richard Stallman
2008-01-28 7:57 ` GNU Project [was: Re: What a modern collaboration toolkit looks like] Nick Roberts
2008-01-28 21:32 ` Richard Stallman
2008-01-28 7:18 ` What a modern collaboration toolkit looks like Richard Stallman
2008-01-28 7:30 ` David Kastrup
2008-01-28 9:18 ` Stephen J. Turnbull
2008-01-28 21:32 ` Richard Stallman
2008-01-26 1:23 ` Thomas Lord
-- strict thread matches above, loose matches on Subject: below --
2008-01-01 3:09 Nick Roberts
2008-01-01 6:24 ` Eric S. Raymond
2008-01-03 20:32 Trey Jackson
2008-01-04 9:46 ` dhruva
2008-01-05 13:36 ` Eli Zaretskii
2008-01-05 15:04 ` dhruva
2008-01-05 15:13 ` Eli Zaretskii
2008-01-06 1:17 ` Miles Bader
2008-01-04 13:43 ` Gianluca Della Vedova
2008-01-05 14:30 ` Richard Stallman
2008-01-06 5:03 ` Trey Jackson
2008-01-06 6:58 ` Nick Roberts
2008-01-07 4:57 ` Trey Jackson
2008-01-07 5:54 ` Nick Roberts
2008-01-06 18:09 ` Richard Stallman
2008-01-07 5:16 ` Trey Jackson
2008-01-07 6:15 ` Nick Roberts
2008-01-07 15:41 ` Stefan Monnier
2008-01-29 5:43 Werner LEMBERG
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071231131129.GA2737@muc.de \
--to=acm@muc.de \
--cc=emacs-devel@gnu.org \
--cc=esr@snark.thyrsus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.