Mono man accuses Mac Gtk+ fans of jeopardizing Linux desktop
Trading hard ISV gains for the easy compile
Miguel de Icaza has criticized plans for the next GNU Gnome cross-platform environment that risks damaging the Linux desktop ISV ecosystem by focusing on the Mac.
De Icaza, leading the Mono and Moonlight cross-platform .NET projects at Novell, has warned a "new crop" of developers pushing plans for Gtk+ 3 risk "throwing away years of work" on Gtk+. They're also failing to recognize the value of having an ISV ecosystem working to put Gnome on Linux. Gtk+ is the tool set for building the Gnome graphical user interface, with version three the next planned major update.
According to de Icaza, developers working for Gtk+ specialist Imendio pushing the proposal have "given up on the Linux/Gnome desktop." Having switched to Apple's OS X as their main desktop, they are focused on source code compiling to Macs with some changes, instead.
OS X has seen growing uptake among developers, and Apple has enjoyed a resurgence as a laptop and desktop system at Windows Vista's expense. Linux on the desktop remains, as ever, stuck somewhere in the distant future.
Imendio has advocated breaking the Gtk application programming and application binary interfaces every five years, removing "deprecated" code each five years starting with GTK+ 3.0, in what appears to be an attempt to reduce the size of Gnome, and hiding public structured fields - a move that could potentially allow for easier versioning while maintaining binary compatibility.
While de Icaza has said he's not against breaking the API, he's concerned the Imendio team has not provided a roadmap to justify breakage beyond simply talking about new - but unspecified - future features. He also expressed concern about what appeared to be a lack of participation in Gtk+ discussions by users and developers working with Gtk+. That includes his employer Novell, Red Hat, Adobe Systems and VMware, among others.
De Icaza has called for a clear roadmap over a "wait and see" approach with input from others, working code before breaking the API, and a clear transition from the current 2.x generation of Gtk+ to version 3.0.®