Yzis
I am the first one to say that there is no more stupid project than writing a source editor. There are plenty, they work good enough, you should better focus on something more useful. Even more stupid would be to rewrite one major editor like Emacs or GVim. Despite that, I am now engaged in Yzis, the rewriting of a vi-like editor.
The problem we had with gvim is that when doing KVim, we found many limitations in the way graphics are handled in gvim. It prevented us to make a good kpart component for KDE. Working with the source was a nightmare and the author was not willing to ease the task for us: only bugfixing and nothing else are accepted in gvim.
So, we started yzis. So far I have contributed the test suite and the undo code. Despite gvim being very advanced, I am confident that we can eventually bring a better editor. The key of success for yzis vs gvim:
On the drawbacks side, yzis (even the engine) depends on Qt because we did not want to deal with unicode problems. However, we use very little of Qt for the backend (mainly QString, QMap and QList) and it could be replaced with a std::string if one is motivated. There is no windows port yet, but I am investigating the porting of tinyQ on windows, to have at least the backend compiling.
GVim is a great editor so we will have a long way before competing with him. However, we have an easier to maintain codebase. We can not borrow code but we are probably going to implement compabilibilities features, like re-using the syntax highlighting files.
We are heading to Milestone 1 in one week. Wait and see...
Since we are a distributed group of people working from various places, including in the train to home, it is important to be able to deal with issues while offline. This brings two additional requirements:
But I had a look on what I could find on the net. The closest thing I found was xplc but xplc is a component framework and I just need a DLL loader. Another search lead me (to my surprise) to glib and its gmodule. I did not know glib has a plugin facility. Hey, that's something Qt has not although there was a failed attempt with qlibrary. Anyway, since I work on windows and I want free as in beer software library for this small project, I can not use Qt. GModule seems to do what I need, so I investigate further.
First, I discover that glib has no homepage. Try www.glib.org and have some fun. developer.gnome.org hosts some API documentation bug the glib tarball is not available on ftp.gnome.org (or I could not find it), and it seems that they have never heard of windows port.
I wanted to browse the source of gnome and was surprised no to see any link to bonsai or lxr. I realised later that the link was hidden by some unreadable text, because developer.gnome.org renders ugly in konqueror (uh uh).
So, no glib source code for me, nothing known about windows, no place to download it. I google more I find gimp in win32 which seem to contain what I am looking for.
However, it seems that glib depends on gettext and libiconv. I am annoyed by this because of the usually poor windows portability or any linux program. Also, installing the whole glib + gettext + libiconv just to get DLL opening seems overkill to me. Other people working on my project don't like extra dependancies.
I also find out that www.gtk.org seem to be the home of glib. Glib seem to be inside gtk whereas I thought that glib was promoted to be indepentant of gtk (at least that's what I read on freedesktop). Ok, but what about my source code ? There seem to be no bonsai/viewcvs/lxr on www.gtk.org .
Since the documentation link points to developer.gnome.org, I checked again and this time, I found the bonsai link. I can finally browse the source on the web. This is exactly what I thought: the gmodule file is very simple and can be easily integrated into a foreign application without using the whole glib framework. Hurrah! It is LGPL so there is no consequence for my (closed source) application.
This also gave me the opportunity to read more about GObject. The whole thing is quite impressive. The developers have really put out a complete object framework. I think this kind of thing is unnecessary because you can find all the facilities provided by gobject directly in C++ but it does not diminish the quality of their work. Of course, because or the limitations of C, the syntax is awful. But that's common to most glib/gtk programs.
Regarding glib, I think it really deserves its own homepage, instead of being drown under gtk stuff.
Anyway, the good news is that we have taken our own way, with already code being contributed for debian installers, endorsing sponsors, wonderful work of Alex Neudorf for Gtk and OpenOffice integration into KDE. UserLinux does not look to be moving that fast :-)
So all in all, it looks quite good for KDE's future in enterprise work. And we still have the possibility of returning to UserLinux of Bruce ever changes its mind.
I was pointed to a Gnome blog where it is said that the KDE name has been dragged into mud by the reaction on the UserLinux list.
I agree that there have been overreactions on the UserLinux list, from some KDE people. However, I find the blog unfair in the sense that it only talks about the bad aspects of KDE, those overheated discussions on UserLinux. We took a great time to prepare a clear, argumented and constructive proposition: http://desktop.kdenews.org/strategy.html
But it seems that nobody has taken care to read it or to take it into account when they talk about KDE and UserLinux. There has also been a lot of argumented postings, not only from KDE people, whose concerns about UserLinux have still not been answered.
I think the reaction on UserLinux are strong because, like many free software developers, we are passionate at what we do and UserLinux sounded like an exciting project. However, the rules were not written in the original paper. What sounded like a community based project where choices would be dabeted and argumented turned out to be a dictatorship project. Bruce said that some part of the project would be community-based, but I have the feeling that the only community-based decision ever accepted will be the one that follow the opinion of Bruce.
I am expecting more frustration on the UserLinux list. For example, people are debating about a name, but I expect Bruce to come back and said that he never intended to change the name, so all the people who have voted can all go home.
I would love to be surprised though.
So, what started as a probably community distribution toward the enterprise turns out to be a dictatorship distribution where choices are made without any rationale. What an irony for a distribution that is based the debian, the community driven distribution.
The particular subject of discord is the fact that the distribution will be Gnome centric, to the point where KDE is not recommended (but still included). The arguments supporting a distribution based on both KDE and Gnome have been ditched away with a "the decision is already taken", without bothering to give any explanation on the choice of excluding KDE.
Forget that KDE had a very significant impact on the fact that Linux can now afford to be an enterprise desktop. Forget that in Europe, the standard is KDE and you won't sell an enterprise distro if it is not based on KDE. Forget that many ISV already have chosen Qt despite the licensing price.
UserLinux is actually BrucePersensLinux. For those that doubted it, Bruce said it clearly. Don't expect any democraty there.
I had this though for a long time. Although I believe Qt is superior to Gtk, there seem to be more innovative projects done using Gtk: there was no equilvalent to gimp, GnomeMeeting, AbiWord, Gnu Cash, Gnu Spread or sodipodi before they were started. And all in Gtk or Gnome. There is also the CD burning app (don't remember the name).
Apart from a few very ambitious applications, like KOffice and Konqueror, KDE seem to have tackled common applications. KMail and Konqueror for example are very good but we already had a mail client and a browser before. All vector drawing program (Karbon14, Krita) seem to have a hard time becoming usable.
However, there seem to be more and more applications that are better than the original one they were copying. Maybe it is just a subjective impression but it is mine.
5 Oct 2003 (updated 25 Apr 2006 at 11:20 UTC) »
I just found this link on the Gnome website, which I find very funny: http://developer.gnome.org/doc/guides/wrapper-friendly-api-guidelines/wrapper_friendly_api.html
Basically, if you want your code in Gnome to be easy to wrap, you should write C++. Maybe that is why we never had this issue in KDE.
Some more reflections about writing a wrapper for Qt/KDE or Gnome/Gtk:
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!