all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Carsten Mattner <carstenmattner@googlemail.com>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Periodical releases
Date: Mon, 02 Jan 2012 06:36:16 -0500	[thread overview]
Message-ID: <E1RhgBc-0001b4-Qz@fencepost.gnu.org> (raw)
In-Reply-To: <CACY+Hvqvj867JSPZ7rwncB2ZPDEpwsy=7yWEC2s2kxT5fszO1g@mail.gmail.com> (message from Carsten Mattner on Mon, 2 Jan 2012 11:40:20 +0100)

> Date: Mon, 2 Jan 2012 11:40:20 +0100
> From: Carsten Mattner <carstenmattner@googlemail.com>
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> > These are fairly significant structural changes which are difficult to
> > perform piecemeal and tend to introduce significant breakage which takes
> > months if not years to test&debug (maybe partly for lack of a good
> > regression test suite, but also because of very complex semantics, most
> > of which is the result of accidental interferences between
> > "independent" features).
> 
> The solution for that is to let it evolve in a branch for longer than
> one release cycle

Been there, done that.  In Emacs, this generally means leave the code
to bit-rot into oblivion.  Examples:

  . The person who wrote the multi-tty code disappeared after merging
    the branch onto the trunk; if we would have waited longer with the
    merge, we would have no one who knew the code enough to merge it
    and take care of merge complications.

  . The bidi branch actually did bitrot, for at least 3 years, until
    yours truly decided it was now or never, and somehow managed to
    find time to do the job.  Knowing now how much effort it took, I
    can assure you that work would never have been done had Stefan and
    Chong not supported me all the way and urged me to merge early.  A
    year from now, I cannot even promise I will have enough time and
    health left to do anything comparable.

> That way finished features like say package support, built-in colour
> theme support, cc-mode and other mode updates, etc., which are less
> invasive, are delivered in a stable release faster.

That's a nice theory, but implementing it in practice needs a much
larger and probably different organization than Emacs development we
have now.  Unlike many other projects, Emacs is a hodgepodge of a
myriad of separate and almost independent subsystems, many of which
require very specific domain knowledge and target different audiences,
sometimes quite narrow ones.  Exposing significant changes to a wide
audience is perhaps the only practical way of testing those changes
efficiently; leaving them on a branch would mean features remain
largely untested (read: buggy) for many months if not years.

If we want to move in the direction of periodical releases, we will
have to come up with a plan that includes organizational and
procedural changes, and we will have to convince ourselves that such a
plan is doable in practice.  First step in the plan should be to bring
much more developers on board.



  reply	other threads:[~2012-01-02 11:36 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-31 12:00 Periodical releases Carsten Mattner
2012-01-01 22:41 ` Stefan Monnier
2012-01-02 10:40   ` Carsten Mattner
2012-01-02 11:36     ` Eli Zaretskii [this message]
2012-01-02 12:57       ` Carsten Mattner
2012-01-02 17:31         ` Eli Zaretskii
2012-01-02 19:05         ` Drew Adams
2012-01-02 19:54           ` chad
2012-01-02 21:36             ` Carsten Mattner
2012-01-02 20:29           ` Eric Schulte
2012-01-02 21:31             ` Carsten Mattner
2012-01-02 20:41           ` Lluís
2012-01-02 21:23           ` Carsten Mattner
2012-01-02 22:14             ` Drew Adams
2012-01-02 22:27               ` Carsten Mattner
2012-01-05  2:34           ` Dave Abrahams
2012-01-05  2:58             ` Chong Yidong
2012-01-05  3:36               ` Dave Abrahams
2012-01-05  4:23                 ` Óscar Fuentes
2012-01-05 13:25                 ` Eli Zaretskii
2012-01-05 13:41                   ` Dave Abrahams
2012-01-05  9:31               ` Bastien
2012-01-05 10:11                 ` Leo
2012-01-05 11:31                   ` Carsten Mattner
2012-01-05 12:56                   ` Jambunathan K
2012-01-05 14:00                     ` Leo
2012-01-05 14:30                       ` Jambunathan K
2012-01-05 11:28                 ` Carsten Mattner
2012-01-05 14:18                   ` Eric Schulte
2012-01-05 11:33                 ` Carsten Mattner
2012-01-05  5:43             ` Eli Zaretskii
2012-01-05 12:20               ` Dave Abrahams
2012-01-05 15:34             ` Drew Adams
2012-01-03 22:23     ` Stefan Monnier
2012-01-03 18:18 ` What's in a feature? (was: Periodical releases) Bastien
2012-01-04  3:24   ` Stephen J. Turnbull
2012-01-04 10:03     ` What's in a feature? Bastien
2012-01-04 12:43       ` Juanma Barranquero

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=E1RhgBc-0001b4-Qz@fencepost.gnu.org \
    --to=eliz@gnu.org \
    --cc=carstenmattner@googlemail.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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.