On Fri, 17 Nov 2000, Matthias Ettrich wrote:
> Maybe you'll change mind and will be able to convince Lars and Asger :)
I was never angry about the KDE port you did. I even considered branching
with you.
The only reason that I didn't jump aboard that branch was that the other
LyX developers wouldn't. So, as I saw it, that branch was doomed to fail.
At those times, the political problems were the most important, and you
had to stick with the largest crowd.
Now, the situation is different. I think it is more realistic to switch
to Qt now, since the political problems have been solved. It is entirely
realistic to use Qt as the main focus.
In my mind, there is still no doubt that Qt is the technically superior
architechture, and always was. I'm sure the others agree with this.
So from a technical stand point, I can certainly follow you. If the goal
is to maximize development and bring LyX up to being a modern application,
there is no doubt that a switch to Qt is the right decision. That will
bring faster development, because Qt is simply a better tool. It would
also focus development on one goal, and we would not "waste time on other
toolkits."
However, we don't control the developers. This argument only works if all
the active developers agree that a switch to Qt is the right choice. In
that sense, the situation is no different from two years ago.
Personally, I don't actively contribute to LyX any more because I don't
have the time. I could find limited time to do some work if I was able to
do it on Windows, because that's what I use nowadays.
But it is not enough that two outsiders say that they are willing to
contribute a small amount of time to do a Qt port, and then leave the rest
to the steady developers. You can only do this transition if the steady
and main developers want to.
In this situation, it does not help to say that the stable developers are
fools not to realize that it's the right decision to move to Qt. It does
exactly the opposite.
You would do better by asking why the stable developers feel that it's a
wrong choice.
I think I can answer some of it for you:
Some developers are not mainly interested in bringing a modern
application to the users. It's more fun to play around with a
code, learn C++ some more, clean up the code, and have fun.
They are not doing this because they need LyX to be better.
LyX already solves all the problems the main developers have,
with the exception of some problems that have been attacked
mainly by Dekel.
At this point, LyX development is less need-driven than ever.
The developers also do not do the work because they want more
respect of users. The existing users crowd is already enthuisiatic,
and it does not matter whether there are 100,000 users or
1,000,000 users in this context. If anything, a larger user
base only brings more anxiety, because then you have more
responsibility to keep the application stable, and avoid mistakes.
So, it's much safer to just straddle along with the same old course:
The goal is to build the perfect application, purely from a technical
point of view. The users of course are important, but in the end, they
are second. The product is not the application. The product is the code.
It's the code that has to be perfect. It's not the application.
It doesn't matter that it will take a hundred years to achieve the
perfect GUI independence. What counts is the challenge it is to
obtain this difficult to achieve goal.
We all know that GUII is hard, and that it will take a long time to
finish it. But so what? We have all the time in the world. And this
is the fun part: To master the difficult code.
So, rather than arguing the technical points of whether Qt is the
better platform or not, you have to do what is much more difficult:
You have to change the attitude of the developers.
You have to explain that it's fun to increase the user base from 100,000
to 1,000,000. That there will be other challenging technical problems to
solve when you do this, rather than the GUI.
You have to convince the developers that it's more fun to have a user
focus than a code focus.
Now, you have a few odds in your favour:
- Qt is politically correct now
- Allan has recently stepped down as GUII master.
This implies that the territorial fight is less demanding: You don't
have to take away this code territory from Allan, since he already
handed it over to Angus.
- There are many new developers in the LyX team
It might be possible to "convert" these more easily than the old crowd,
at in this way change the direction of the boat.
- A large part of the code restructuring towards "everything is an inset"
is nearer to completion. This will leave a void for the developers
involved: What great code clean-up project should we attack now?
But the most important thing to remember is respect: You have to respect
that some have their personal reasons for not wanting to change. I have
listed some reasons above, but there are certainly others.
Also, you should probably acknowledge that LyX has come a long way in the
last years. All you have to do is to take a look at the code, and
remember that the yardstick is code quality, rather than user experience.
Greets,
Asger