Desktop Environment for Proprietary Applications?
nushoin writes "Gnome and KDE are the two major desktop environments used on Linux today. However, Gnome is growing more and more affiliated with Microsoft's proprietary technologies (Mono, OOXML). Targeting the Gnome desktop environment could prove dangerous in the long run, assuming that one would like its applications to run on distributions other than SuSE. On the other hand, TrollTech is being bought by Nokia, whose commitment to the desktop world remains to be proven. Assuming that one would like to develop a desktop application (either free or closed source), which desktop environment would you target, and what widget tool kit would you use?"
And not because it's inconsequential that QT was bought by Nokia or that Miguel *hearts* MS. It's just not news, not shocking and at the moment not a problem.
Agreed, this is a ridiculous claim.
Yes, Novell is working on Mono and partnering with Microsoft, while at the same time investing in GNOME. But that doesn't 'taint' GNOME in any way. The core GNOME technologies - GLib, GTK, and so forth - are not written in C# and have nothing to do with Mono. The licensing of those core GNOME technologies is the LGPL, in fact, precisely to ensure that there is no risk in developing for that platform. No one 'owns' it, and no one can 'taint' it. You will be able to run GTK and GNOME anywhere you compile it to run, be it SUSE, other Linux distros, Solaris, or whatever; again, as LGPL, you can do whatever you want with it, if you abide by that license. In particular, you can run any app you want on such a platform, which is the question here. The claim that "Targeting the Gnome desktop environment could prove dangerous in the long run" simply shows a lack of understanding of what GNOME is and how FOSS licensing works.
Regarding Qt, Qt is dual licensed as GPL and proprietary. If you want to run FOSS apps on KDE, you have no problem (at least if your FOSS license agrees with what Nokia will accept, and that includes most of those existing today). But if you want to run proprietary applications on a desktop, Qt is a poor choice. For starters it costs money. Furthermore, Nokia can charge whatever they want for proprietary licenses, and this might change at any point; there are no guarantees. However, if you are willing to take that risk, then Qt/KDE is a nice platform (although the portability, one of its main advantages, seems lost in this particular context, since it appears a single desktop is going to be chosen).
So, if you want to develop a FOSS application, both GNOME and KDE are fine (just make sure with KDE that you agree to the licensing). If, on the other hand, you want to develop a proprietary application for a particular desktop, I would say GNOME is the way to go.
Yeah, but I heard some of the wxWidgets developers own iPods and XBoxes, so they're clearly untrustworthy also. It seems to me that the submitter has no choice but to develop his own toolkit and not allow anyone else to use it.
What I'm listening to now on Pandora...
Or you could follow the examples of Opera and Skype and go Qt.
Same rules apply, though. Don't be afraid to pull in libraries, but no matter how closely you tie it to a particular desktop environment, unless you do something incredibly stupid, it will work on others -- it will just be that much more bloated on them.
Don't thank God, thank a doctor!
Come back in 10 years and let's see how "open" Mono/C#/OOXML really are/were.
Most of us are betting that the landscape will be littered with corpses, and the MS Lawyers will be wiping their swords.
Beyond that, where have you been with OOXML? It's not complete! Since when does a *standard* read crap like "Do this the way Word95 does"? If you want a real standard, and if that real standard must accept Word95 has what has been de-Facto, then you need to adequately describe exactly what it is Word95 does. Then instead of "the way Word95 does" insert the real description. (And even with that shorthand, it's over 6000 pages?)
The living have better things to do than to continue hating the dead.
I'm glad to hear that your intention was honest and not just trying to start a flame-war.
The concern with patents is a valid one, because of the sad situation with the (US) patent system. This is an issue with all desktops, and we all need to be aware of it. I do agree with you that Mono is more vulnerable to this issue than other random technologies, simply because we know of Microsoft patents relevant to it. So I can understand if someone is wary of Mono (but I, myself, am not too concerned about this). Yet, as you say, GNOME isn't Mono and certainly does not depend on it, so this is a non-issue. Especially if all you use is GTK - that certainly has no connection whatsoever to Mono. Hence, given that GTK is LGPL, which is a big benefit if your app is proprietary - it doesn't cost money - this seems the best idea for you.
(Btw, not sure what you mean by 'other problematic technologies' aside from Mono. Like what? OOXML? That is also not related to GTK in any way... it might appear in Gnumeric and OpenOffice, neither of which is directly GTK-related.)
I wouldn't be enthusiastic about wxWidgets - it's a nice concept, but doesn't seem to have enough momentum behind it. In particular there are few applications using it compared to the other platforms, GTK and Qt, and for good reason.
Honestly, I'm a little surprised. The very first reply opens with GNOME != SUSE... but, let's look at this seriously - GNOME may not be SUSE, but it certainly is Novell. You're talking about a company that employs many key GNOME developers. To futher quote the replies to this post, GNOME != Miguel deIcaza - true - but a LOT closer to the mark is GNOME == Nat Friedman. More importantly, look at the list of GNOME project thought-leaders under Nat's leadership at Novell... people like Larry Ewing (F-Spot), Michael Meeks, Dave Camp, Joe Shaw, Robert Love, and (yes) Miguel de Icaza.
Even more concerning is influence that Novell simultaneously exerts over the KDE project. In this case, Novell certainly doesn't have the impact on KDE that TrollTech does - however, they do have the legacy SUSE team, who were (are?) huge KDE advocates, users, and comprise many of the developers.
So, does Novell present a nexus of influence and control on the core of Linux's desktop systems? Can they exert undue influence on these projects and, therefore, bend them to the good of their corporation - as opposed to the projects being driven primarily by unaffilated community developers? (Or at least a community of developers with varied and diverse affilations, effecting the same net result...)
And, then, the question that naturally flows from this discussion is "Is this a good thing?". While I don't think anyone one entity should have paramount influence over two competing projects, in this case there may be some significant advantages. Having a unified driver behind both GNOME and KDE could allow a desktop to take advantage of the best from each. We've seen Novell already attempt to do this in their own distro - SUSE Linux Enterprise Desktop 10 has many useful KDE features ported to GNOME and integrated into their standard desktop configuration.
I guess at the end of the day, it comes down to two questions: 1) Do you think really can influence both projects (or even either one)? and 2) Do you trust Novell to drive the desktop in a direction beneficial to all?
"Adventure? Excitement? A Jedi craves not these things."
Hmm...so are you advocating writing GUI apps completely in Tcl, or writing the app in some other language, but doing the GUI parts in Tk? From what I've heard, Tcl itself is a reasonably nice language. But personally I don't want to learn a whole new language just so I can use a particular GUI toolkit, and if I'm going to write my app in a scripting language I'd prefer to use Perl or Python, due to their excellent, comprehensive libraries.
I've done a Perl/Tk GUI app, and my experience was decidedly a mixed bag. On the one hand, I found it very pleasant and efficient to code to the Perl/Tk interface. On the other hand, I ran into some major issues with code quality and the fact that nobody is actively maintaining the code base. If you look through the Perl/Tk source code, you see page after page of C that handles pointers as if it was still 1978. This led to one major snafu that made me decide never to touch Perl/Tk again: there was a null-pointer bug that interacted badly with a GTK release that came out ca. 2005, causing Perl/Tk applications to crash randomly. I submitted a patch, but it took ages for it to be applied, and during that time all Perl/Tk apps were crashing frequently on, e.g., all the recent releases of Ubuntu.
Find free books.