On 12/10/13 5:42 AM, "Mike Solomon" <m...@mikesolomon.org> wrote:

>Hey all,
>
>As 2.18 draws near, I¹d like to work with everyone to establish a system
>of branching for LilyPond development.  After several rounds of
>discussing things with David K, this emerged as the best way to avoid
>arguments about integrating work into the development branch that have
>led several contributors, including myself, to significantly reduce time
>on the project. 

I can see how the proposed mechanism avoids arguments about work that is
going into individual developers branches, but I don't see how this avoids
arguments about what goes into the development branch.

As far as I can see, this proposal supports the creation of multiple forks
of the lilypond development branch, one for each of the "privileged"
developers, plus one for the accepted features.  And then lilypond.org
should support all of those forks.

This seems like a nightmare to me.  It is good for somebody who wants to
get their features out the the user base.  But this just makes the
decisions about what to include in the development branch more emotionally
charged.  I'll present a hypothetical exchange between two caricatures:
the creative developer who is only concerned about adding a really neat
feature, and doesn't care how it affects the code base; and the consistent
developer who is only concerned about the consistency of the code base,
and would rather have no new features added than have a new feature added
that requires contortions in the syntax, the parser/lexer, or the code
base.  Note that both of these are caricatures, drawn for the purpose of
highlighting the conflict, not for the purpose of illustrating the
behavior of any real developer.

Creative developer: "See how many people like this feature?  It's so
positive that we absolutely have to include it."

Consistent developer: "See how badly this would destroy the current code
base?  It's just an ugly hack.  If we accept features like this, our code
base will soon consist of nothing but ugly hacks.  I don't care how many
people like the feature; it's disastrous as currently implemented, so I
won't accept it."

And now, in addition to the different points of view of these developers,
we have the added pressure of users clamoring for a feature.

Personally, I want *both* the creative developer and the consistent
developer to be satisfied.  I want ugly hacks in the codebase to be
decreasing, not increasing.  I want new features that make the engraving
better.  If we can't implement new features without ugly hacks, I don't
think they should be added to the codebase.  But I don't want stasis in
the codebase to prevent the addition of new features.

Developers already have branches on the main repository.  So this proposal
is not really to add branches.

The real issue in the proposal is about how to get users using these
branches.  I have a very hard time thinking that it's in the best interest
of lilypond as a project to have multiple official development branches.
Instead, I think that developers who create a branch that provides some
new functionality should invite users to test the branch (which probably
means that the developer needs to get GUB running on his or her branch and
then make the binaries available).


>[1]  I feel that this reduction in commit diversity is the biggest
>obstacle to LilyPond¹s future evolution, which is why I¹m calling on
>everyone to make a concerted effort to think this through.


I have made a concerted effort to think this through. I believe that a
reduction in commit diversity is a serious problem.  I think the community
was greatly weakened when Mike felt that it was no longer worth putting up
with the hassles to make his contributions.

However, I think that a fractured development branch (up to 6 different
branches) would be an even bigger obstacle to future evolution.  I think
it would lead to a balkanization of LilyPond.

Of course, given my participation in development over the last couple of
years, my input may not be worth much.

Thanks,

Carl S.


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to