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?"
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.
That doesn't make it any less FUDulous. Asking stupidly, overzealous loaded questions is just ASKING for a flamewar to break out, and the fact that it was accepted and posted here should just make everyone here sick.. the editors have devolved to Digg's stupidity.
First of all, Qt is GPL (even v3 now); Nokia can't undo that. Future developments might change things, but people can always fork it and continue as if Trolltech never existed.
Secondly, GNOME is *NOT* adopting Microsoft technologies. Miguel != SuSE != GNOME. OOXML, Mono are not essential technologies, and can be removed quite simply (with very little deficit to usability; the only significant Mono applications in the GNOME stack are a photo manager (GThumb already exists), Tomboy (retardedly complex code for sticky notes; already several replacement projects AND E-D-S can already do everything Tomboy does, AND Conduit can sync E-D-S across machines) and Beagle, and Tracker's not only faster, but it uses less memory and has been accepted as default across most of the prominent GNOME-based desktops). Futhermore, effort is underway to give C# users a better way to integrate into GNOME: Vala is modeled after C# and compiles directly to plain-ol' generic GObject C. On top of that, the most new code going into GNOME is Python, by a rather wide margin.
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 am pleasantly surprised that most new code is in Python, interesting, how was this measured?
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.