You might imagine that an application for desktop notes would be too commonplace to generate controversy. Yet when Hubert Figuiere created Gnote, a port of the GNOME application Tomboy to C++, controversy erupted immediately.
Tomboy, you see, is written in Mono, an implementation of Microsoft's .NET that many fear is patent-encumbered, and might be used against the free software community one day. That hasn't happened in the six years of its existence, but the concern remains widespread, partly legitimate and partly conspiracy theory and demagoguery. Against this background, Gnote was hailed as the liberation of a Mono-encumbered application, as you can see in the responses to the release announcements.
Unfortunately, this reception has two things wrong with it: Figuiere insists that "this has nothing to do with Mono," and the concerns that Tomboy developers have about Gnote are minor and have little to do with programming languages.
An unlikely hero and his reasons
Part of the reason for Gnote's reception is that, in some circles, Figuiere has a reputation for being hostile to Mono. For example, Tomboy developer Sandy Armstrong, who wrote a response to the release of Gnote on his blog, tells me that Figuiere "has gone on the record many times as having a problem with Mono."
However, the truth seems more complicated, and not just because of Figuiere's flat denial. According to Figuiere's LinkedIn profile, he worked two years at Novell, the major sponsor of Mono, as a desktop developer specializing in GNOME and Mozilla, but mostly as a jack-of-all-trades. Two years would be a long time for anyone to work for an employer with whom you had philosophical differences. And, given the areas in which he worked, it is almost inconceivable that Figuiere never had some dealings with Mono for Novell. He certainly did so previously when he worked at Xandros, where he packaged Mono for the company's distribution.
Not that Figuiere is a Mono advocate. But his opposition over the years has been more practical than philosophical. For instance, in several discussion threads about Including Mono in GNOME on the desktop-devel-list in July 2006, Figuiere objected to shipping Mono-based apps on the grounds that the language required a lot of disk space, but was supporting only minor applications -- and he made the same objection to Python, a far less contentious programming language.
This objection, incidentally, is one that he continues to hold today. Gnote, he tells me, "has all to do with the burden of carrying runtime systems designed to make the programmer's life easier (but not the users'). Had Tomboy been written in Python, it would have gotten the same treatment."
Of course, Figuiere might have soured on Mono after being laid off at Novell in February. But, if he did, it would be strange if he continued to use what he describes as an "openSUSE 11.1 custom build with SUSE Studio with some custom packages" -- free software versions of Novell's own products.
Nor does any sudden dislike of Novell feature in Figuiere's explanation of why he created Gnote. His general explanation is that, "In my attempts to fight my own boredom, as an unemployed hacker, I took on myself to do something: porting Tomboy to C++." This is an idea that has apparently interested him since another GNOME developer made the same efforts in July 2006, but he never previously had time to explore.
A more immediate motivation was that Figuiere was running an older netbook, and wanted a note application, but felt that "the runtime dependency on Mono was a problem for a space-constrained device."
In other words, Figuiere was not writing code to liberate free software from the Mono-poly of Tomboy (if you can excuse the pun). He was writing code for which he had a personal need. His focus, as you can see from his description of the technical challenges in his first announcement, was entirely practical.
Issues within the community
Gnote has roused other concerns within the GNOME community in general and the Tomboy community in particular. An apparent fork is always a matter for concern in free software. As Armstrong points out, it risks "wasted developer effort" -- a constant worry since most projects are understaffed to begin with.