unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: What a modern collaboration toolkit looks like
@ 2008-01-03 20:32 Trey Jackson
  2008-01-04  9:46 ` dhruva
                   ` (2 more replies)
  0 siblings, 3 replies; 271+ messages in thread
From: Trey Jackson @ 2008-01-03 20:32 UTC (permalink / raw)
  To: emacs-devel

 ESR wrote:
 > This started out as part of a longer essay called "On not kissing the pig".
 > But that essay grew into an epic.  Rather than dump it on the list all 
 > at once, I think it will be useful if I start by giving everybody a
 > clear idea of the potential benefits of changing our practices.

IMO, the development environment Emacs provides is very indicative of the
environment used to develop Emacs.  Namely, communication is email, and VCS
is CVS.  Those things work very well inside Emacs.

ESR is pointing out that many folks have moved on to ... more sophisticated
development methodologies (not saying better), and that, in comparison,
Emacs seems antiquated.

My take on the lessons to take from this thread (never saw ESR's promised
lessons rant):

Goal: Make changes in the way Emacs is developed in order to
1) enable more responsive Emacs development/releases
2) make Emacs development (and by extension Emacs) more attractive to new folks

For example, moving to a new VCS would ensure that the Emacs/VCS integration
works properly.  As ESR (?) found out, Emacs' version control interface
didn't map well into the newer VCSs - thereby prompting the recent rewrite.

What else could be done?  One might work on an IDE *framework* that is
useful for Emacs developers as well as other projects?  Components might
include coupling between:

- development system (code, build, run, debug, code browsing)
- version control
- bug tracking
- communication (email, IRC, web)
- task management (todo.el, planner.el)

gud.el and vc.el are examples of similar work.  Perhaps it's time for ide.el?


To be clear, I'm not advocating moving to new VCS, bug tracking system, IRC,
or *anything* just to be "hip" and "cool."  Every change must provide
benefit.  It seems that the VCS discussion has revealed some benefits found
in the newer VCSs that might be (are?) attractive to RMS & others.


So... one possible conclusion is to work on an IDE framework that can be
used by Emacs developers and potentially extended by others.

For example, concrete steps that could be taken by Emacs development team:

1) move to new VCS
   -> ensures Emacs integration with new VCS works well
2) move to bug tracking system
   -> develop IDE hooks to coordinate bug system with VCS
3) integrate communication system with bug system/VCS
   -> IDE hooks auto-communicate check-ins with email/chat
   -> hooks for analyzing communication and interacting with VC/bug tracking


Someone might then see the above framework and decide to add hooks to
integrate with planner.el to assist in task management... 


Again, I'm not advocating making any specific changes (I'm sure I have no
standing in this group as I am unknown).  Just trying to pull together where
I think this thread can lead.


TJ

ps. I think it's always good to reflect on how one approaches their tasks -
even if no changes occur.  It sounds like that's what is happening with Emacs
development.

-- 
Trey Jackson
bigfaceworm@gmail.com

"...all those moments will be lost in time
 like tears in the rain.
 Time to die."
-- Roy Batty

^ permalink raw reply	[flat|nested] 271+ messages in thread
* Re: What a modern collaboration toolkit looks like
@ 2008-01-29  5:43 Werner LEMBERG
  0 siblings, 0 replies; 271+ messages in thread
From: Werner LEMBERG @ 2008-01-29  5:43 UTC (permalink / raw)
  To: emacs-devel


I'm not sure whether this has come up before, but here you can find
links where Keith Packard discusses the reasons why he selected git
for X.org

  http://keithp.com/blogs/Tyrannical_SCM_selection/
  http://keithp.com/blogs/Repository_Formats_Matter/


     Werner

^ permalink raw reply	[flat|nested] 271+ messages in thread
* Re: What a modern collaboration toolkit looks like
@ 2008-01-01  3:09 Nick Roberts
  2008-01-01  6:24 ` Eric S. Raymond
  0 siblings, 1 reply; 271+ messages in thread
From: Nick Roberts @ 2008-01-01  3:09 UTC (permalink / raw)
  To: Eric S. Raymond; +Cc: emacs-devel

> David Matuszek (star CS professor at UPenn) has been griping at me
> for years about things like features he relied upon disappearing
> during version upgrades.  He's made it very clear that he thinks this
> sort of thing is a symptom of inattention to what users are actually
> doing with the software by developers too obsessed with the next cool
> hack.  I think that counts as both software and project croticism.

Do you know if he reported these things to the mailing list?  I think we need
a reality check here:  Emacs is a voluntary project, and if users aren't
prepared to make bug reports then it's unlikely that any version control
system, no matter how good, will allow a handful to developers to avoid such
pitfalls.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 271+ messages in thread
* What a modern collaboration toolkit looks like
@ 2007-12-30 12:22 Eric S. Raymond
  2007-12-30 15:32 ` Thien-Thi Nguyen
                   ` (4 more replies)
  0 siblings, 5 replies; 271+ messages in thread
From: Eric S. Raymond @ 2007-12-30 12:22 UTC (permalink / raw)
  To: emacs-devel

This started out as part of a longer essay called "On not kissing the pig".
But that essay grew into an epic.  Rather than dump it on the list all 
at once, 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.  It's not even a
particularly large one -- no more than a dozen core devs, 58
developers total.  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.  

a) That change can be referenced, through its Subversion revision ID.  
   (So, for example, "Hey boucman, your r22615 broke linger mode!")

b) That change can be backed out as a unit.

c) That change is instantly browseable by any dev.

d) If that change is a fix that references a bug number, that fact
   instantly becomes part of the bug database *where everyone can
   see it*.

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.

3. Because everybody (and our user community!) uses the bug tracker, 
everybody always knows exactly what the dozen most important 
bugs are, and has a pretty good idea what the dozen most valuable
feature requests are.

4. Because the IRC has a monitor bot hooked to the bug database,
whenever someone says "Eric, have you looked at feature request #2355,
it looks like your kind of thing." I can get to that issue by typing
"wesbot: bug #2355" and clicking once.  Questioner usually gets a
response less than 30 seconds later.  If I address the request,
they'll see my commit comment in real time without me having to do
anything special.

5. The entire commit history of the project is visible to me 
moments after I type C-X v l.  This is much more powerful 
than just having the per-file change history visible, because 
the commit groupings themselves tell me valuable things 
about developer intentions.

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.

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*.

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.

The Wesnoth devs are good but not exceptionally so, and we're weighed
down by a crappy implementation language (C++).  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.

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.

And bear in mind: At the end of 2007 this is obervably *normal*.  It's
not that Battle For Wesnoth's collaboration toolkit is ahead of the
curve -- it's that Emacs's is behind.  Way, *way* behind.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Americans have the will to resist because you have weapons. 
If you don't have a gun, freedom of speech has no power.
         -- Yoshimi Ishikawa, Japanese author, in the LA Times 15 Oct 1992

^ permalink raw reply	[flat|nested] 271+ messages in thread

end of thread, other threads:[~2008-01-29  5:43 UTC | newest]

Thread overview: 271+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-03 20:32 What a modern collaboration toolkit looks like 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
  -- strict thread matches above, loose matches on Subject: below --
2008-01-29  5:43 Werner LEMBERG
2008-01-01  3:09 Nick Roberts
2008-01-01  6:24 ` Eric S. Raymond
2007-12-30 12:22 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  9:53             ` 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
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:18                       ` 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

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).