> Am I right in believing that a code-cleanup is one of the goals of the
> next major release? It sounds like it might be not only desirable but
> essential if LyX is to remain improvable and maintainable.
Yes, we are cleaning up the code base in the development series.
This implies that we have to take everything apart, and at the moment,
we are at this stage with 1.1: Everything is in pieces, and nothing really
works well. Therefor, motivation is a bit hard to find, and focus
tends to stay on 1.0.x., which in itself is a little boring, because
it has reached a point where all there is to do is to maintain the
web pages and fix some very subtle and hard to find bugs. Sometimes
the work in fixing them is hard to justify, and things tend to move
slowly. Therefor it is essential that you the users provides lots and
lots of bug reports so that we can pick the fun or easy ones out ;-)
Seriously, when 1.0.x is out, we can hopefully resume full work on
the development branch, have some fun again and ensure the future
in this way.
It's arguably whether it is *essential* that we clean up the code
before we add new features. It is technically possible to keep
building on the code in 1.0.x as we have it, and still add lots
of useful features and improvements, without breaking everything.
KLyX is a real-life example of this approach -- they have managed
to change the toolkit which is quite an accomplishment. However,
the next Quantum Leap in functionality will not come with the existing
code base IMO, and for many reasons. Most seriously, I feel that we
have some very fundamental errors in the data structures that implies that
a lot of things are hard to do, and it has taken two years to flush out
the bugs in this area. It's very fragile and therefor we can expect to
spend another year to flush out the bugs if something fundamentally new is
added.
Also, it's fun to redo the kernel! And we want to do this
The Right Way(tm) in the new kernel. We have many ideas, and
many dreams. If we get a clean and lean kernel, I feel that
LyX really will take a Quantum Leap, because we will hopefully
make it easier for everybody to contribute to the LyX effort.
LyX will hopefully support many different kinds of work -- not
only lots of different formats such as SGML, HTML, LaTeX, Ascii,
man pages, etc., but also completely new areas: Literate programming
in a WYSIWYG environment, intelligent dynamic documents, and what
else you can imagine. This is exactly what it is about: If you
want to do something completely crazy that has something to do with
document processing, I hope LyX will be able to support you to
implement it with a relative small investment.
(Disclaimer: I have all these strange ideas for LyX, but this does
not imply that LyX will loose it's LaTeX lead. A lot of the other
developers will take care of that, I'm sure.)
Greets,
Asger