Your editor has long been a user of the
Tomboy makes it easy to gather thoughts, organize them, and pull them up on
demand; it is, beyond doubt, a useful productivity tool. But all is not
perfect with Tomboy. Some people have complained about its faults for a
while; Hubert Figuiere, instead, chose to do something about it in the form of the Gnote
utility. So now, of course,
people are complaining about Gnote instead.
So what are the problems with Tomboy? For your editor, at least, the
biggest issue is the simple sluggishness of the tool. It is a large
program which takes quite some time to start up. If one tries to bring up
a note on a system which has been used for other things, there can be a
lengthy delay before the menu from the taskbar icon appears. Rightly or
wrongly, users blame this fundamental slowness on Tomboy's use of the Mono
platform. Now, of course, use of Mono brings in a whole host of other
complaints, but we need not consider those here. The simple fact is that
Mono adds a great deal of baggage to what should be a small and simple
application. A basic note-taking tool should not be a heavyweight
Gnote is a reimplementation of Tomboy's functionality using C++ and GTK+.
In a sense, though, it is not an independently-developed application.
Instead, Gnote is a straightforward port of the original C# code to C++. So
it's not just a Tomboy work-alike; it's a true clone. There are
advantages to this approach; it makes use of the experience which has gone
into Tomboy development, and compatibility with the Tomboy file format is
not a problem. This approach enabled Hubert to put together a working
application in a relatively short time.
Some distributors (Fedora, at least) have made Gnote packages available.
Your editor played with the Rawhide version of Gnote for a bit; it is, in
general, indistinguishable from Tomboy. It does seem more responsive,
especially when the system is under some memory pressure. Annoyingly, it
does not (unlike Tomboy) dismiss notes when the escape key is hit. Beyond
that, though, Tomboy users (at least those who do not use plugins) will be
hard-put to tell the difference between the two.
It is said that imitation is the sincerest form of flattery; if that is
true, one would expect the Tomboy developers to be flattered indeed. But a web
log entry about the Tomboy 0.14.1 release made it clear that
"flattered" may not be the operative word in the Tomboy camp:
Our stance on Gnote is that it is counterproductive to maintain
identical software in two languages. It will be harmful to the
community, especially as these two apps inevitably diverge. It will
result in duplication of effort, duplication of bugs, and a lot of
wasted time for those who are trying to add value to the user
Tomboy is not going away, and it will continue to be developed on
the extremely productive Mono/GTK# language platform. Anyone
thinking about distributing Gnote should consider the impact on
users and their data. When we develop, we should always be asking
ourselves, "is this adding value for our users?"
It should not come as a surprise that this language inspired a lot of
responses, on the original site and elsewhere. Reading through the
discussions, your editor has come to a couple of conclusions:
- The Tomboy development community obviously sees Gnote as a threat. It's
not entirely clear why that should be. If these developers are paying
attention to what they are doing, and if the Mono platform is as
"extremely productive" as they say, they should have no trouble
staying ahead of Gnote. Beyond that, the existence of other, interoperable
applications should serve to grow the community as a whole.
- Gnote clearly has added value for some users. There is a
significant community out there which does not want to have Mono on
its systems. One may or may not agree with their reasoning, but one
cannot argue with the fact that these users exist; simply dismissing their
concerns is unlikely to change their minds. Mono-free, Tomboy-like
functionality adds value for those users.
It is evident that some developers and users in the Tomboy camp think that
the creation of Gnote is an improper thing to do. The creation of a new
application by translating code into another language seems unoriginal at
best, and a misappropriation of the code at worst. The fact that the code
has been relicensed (from LGPL 2+ to GPLv3) in the translation process has not
helped. But it should be remembered that both the translation and the
relicensing are acts which are allowed
by the license chosen by the Tomboy developers. The LGPL license text
packaged with the Tomboy code reads:
You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library.
Other parts of Tomboy carry GPLv2+ or BSD licenses; it's actually quite a
mixture, but they all allow conversion to GPLv3. So Hubert has only done
what the original developers explicitly allowed him to do; about the only
complaint one might make is that he appears to not have carried the
copyright attributions over into his translated code. That, probably, is
an omission which needs to be fixed; it would be hard to argue that Gnote
is not derived from Tomboy.
Beyond that, there are concerns that Gnote will take developer attention
away from Tomboy. That could be true, but chances are that any developers
working on Gnote (and it's not clear that there are any, beyond Hubert)
are unlikely to have been working on Tomboy previously. There is also
concern about what happens if and when Tomboy and Gnote diverge from each
other. That could well happen; Hubert does not appear to have promised to
mirror Tomboy forever. Should things go that way, Gnote really just
becomes another fork; it will live or die on its own merits.
It will take time to know whether hacking on Gnote is a wise use of Hubert's time.
But it is a clear example of what is good about free software: a developer
with a specific itch was able to scratch it (for himself and for others)
without having to start from the beginning. Criticisms of Gnote
would seem to be misplaced, and attempts to suppress it (and telling
distributors that distributing Gnote is a threat to their users' data can
only be seen as such an attempt) even more so. Free software means letting
others take your code in directions you may not always approve of.
to post comments)