On Jan 5, 2012, at 9:14 AM, David Kastrup wrote:
> "m...@apollinemike.com" <m...@apollinemike.com> writes:
>
>> On Jan 5, 2012, at 1:20 AM, Janek Warchoł wrote:
>>
>>> Correct me if i'm wrong, but my impression is that
>>> there is no particular direction in which we are going.
>>
>> I'm sure that other people have their pet projects as well. The
>> ensemble of these projects is the "direction" of LilyPond, and I don't
>> see why it would need more of a direction that that.
>
> Because
> a) LilyPond becomes unmaintainable if everybody implementing his own pet
> project implements his own pet infrastructure and pet APIs for it.
> b) LilyPond becomes unusable if everybody implementing his own pet
> project does not bother paving the path for slightly similar pet
> projects.
I agree with this - I should have added that those who are contributing to
LilyPond should do so in a way that favors extensibility.
> c) Implementors are scarcer than users.
>
>> In fact, I think that it is because of some sorta unified direction
>> that for-profit programs can often miss out on adding experimental or
>> innovative features.
>
> Mike, just recently you said something like you had implemented
> something along the line of spanbars, did not actually understand what
> you were doing, it could not actually do the work you intended it to do,
> but you thought there was nothing wrong with leaving it in until
> somebody hit bugs caused by this code.
I agree with the "something like" part of your statement.
> As opposed to an artwork, _any_ corner of LilyPond, no matter how small,
> can _ruin_ the rest. You tend to think of bugs and bad code of
> blemishes at most, when they are actually more like fungi that will eat
> through the whole canvas and cause it to fall apart.
This is not how I think of bugs. If I thought of bugs like this, I wouldn't
have taken the time to squash so many bugs in LilyPond over the past several
months.
> And if the LilyPond code does not make great strides in the direction of
> becoming boring by doing everything the same way, projects like "use
> linear programming" will be dead in the water since you can't streamline
> a garbage heap of disparate code into doing linear programming if you
> can't even make it do the same things in the same way everywhere before
> changing that way to a linear programming one.
>
I agree. For example:
The new StemTremolo code does less internal moving of the stencil and farms
this out to callbacks.
The new Stem code is decoupled from the Flag code and now behaves (along with
the flag) more like other grobs.
The Beam scoring code now looks more like the Stem and Tie scoring code on the
inside.
I did not work on these projects expressly in order to make LilyPond more
uniform, but in working on them, I tried to move LilyPond to a state where its
code was uniform. I think a good policy is that, when working on that which
one wants to work on, one should always strive to do it in a way that leads to
better maintainability and extensibility. Perhaps this is my American bias,
but I strongly believe that the value of LilyPond is in the innovativeness of
those who care enough about it to work on it. LilyPond's becoming more
maintainable and extensible is a result of the good coding practices of these
people. However, I do not think that a grand unified vision of where LilyPond
should go (short of several guidelines on style and common practice (many of
which are already in the CG)) is necessary or desirable.
<taken only slightly out of context>
There are again two methods of removing the causes of faction: the one, by
destroying the liberty which is essential to its existence; the other, by
giving to every citizen the same opinions, the same passions, and the same
interests.
It could never be more truly said than of the first remedy, that it was worse
than the disease. Liberty is to faction what air is to fire, an aliment without
which it instantly expires. But it could not be less folly to abolish liberty,
which is essential to political life, because it nourishes faction, than it
would be to wish the annihilation of air, which is essential to animal life,
because it imparts to fire its destructive agency.
The second expedient is as impracticable as the first would be unwise. As long
as the reason of man continues fallible, and he is at liberty to exercise it,
different opinions will be formed. As long as the connection subsists between
his reason and his self-love, his opinions and his passions will have a
reciprocal influence on each other; and the former will be objects to which the
latter will attach themselves. The diversity in the faculties of men, from
which the rights of property originate, is not less an insuperable obstacle to
a uniformity of interests. The protection of these faculties is the first
object of government. From the protection of different and unequal faculties of
acquiring property, the possession of different degrees and kinds of property
immediately results; and from the influence of these on the sentiments and
views of the respective proprietors, ensues a division of the society into
different interests and parties.
</taken only slightly out of context>
Cheers,
MS
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel