C# and GNOME

Looks like the next few weeks will be cruicial to the future of GNOME. We’re arriving at a point where it’s obvious that we have to talk about what role C# should play in a future desktop. I don’t want to blog much yet, since it’s really too early to draw any conclusions. A thread on the foundation list dealing with questions to the board election candidates yielded a discussion that may become interesting. It was initiated by Richard M. Stallman, whose main two theses are:

For GNOME to include C# support as an optional add-on cannot hurt. (…) I think it is clear that C# should not be the main or preferred
language for GNOME, should not play a major or central role. Giving it such a role would be a very bad strategic move, since it would
encourage a large community to move in a direction that serves our declared enemy.

as well as

The hard question is whether to give C# a middle-level role–whether to let it be more than an optional add-on. The issue depends on the legal situation (…).

I’ve tried to elaborate a bit on his first thesis and prove that if deploying C# in FOSS projects doesn’t really help Microsoft in any way. We should really be thankful that Microsoft invented a useful platform like .NET. C# seems to attract many developers and yield many interesting applications that wouldn’t have been developed otherwise:

(T)he most convinicing product wins, not that one promoted by politic(i)ans.

IANAL, but concerning the legal situation, I also made clear that don’t think that nowadays there are any other problems with C#/.NET adoption than those that would have arised with any other bulky/extensive technology when it comes to patents. Patent infridgement almost definitly already happened (as laid out in my email), and definitly will happen in future, no matter what technology we use.

Let’s ignore that unavoidable situation, for now. Lawyers and judges tend to be very incalculable when it comes to lawsuits dealing with ideological questions that have a direct impact on law, instead of with formal arguments. The good news is that with FOSS there is always a way out, as long as there exist countries that don’t have software patents comparable to those in the USA.

Meanwhile, the nautilus-search branch of Nautilus which aims towards Beagle integration is progressing nicely. Will we experience the normative power of the factual. Will the new board deal with this question?

Stay tuned, and join the foundation-list discussion!

5 thoughts on “C# and GNOME”

  1. I’ve tried to elaborate a bit on his first thesis and prove that if deploying C# in FOSS projects doesn’t really help Microsoft in any way.

    Uhm, whatever does deployment of C# in FOSS projects have to do with helping Microsoft? I for one do not see any relevance towards that at all.

    C# in FOSS should stand on its own merits and not look aside at other political issues (unless it is a legal issue). Either C# is good for FOSS or it is not. If it hurts or helps another cause should not be of any relevance.

  2. C# has the same problems than JAVA

    you will simply use a standard totally controlled by a corporate entity which will not let people evolve the standard and create free market with it. (with java/sun , it was very difficult to certificate opensource products, I don’t think it’s enough : for example you are still dependant of sun to have a good jvm : It’s a _real_ TECHNICAL and COMMERCIAL problems ! )

    with C#, there always legal problems pending and a standard made to serve windows, not linux or macosx or whatever
    in fact : “foss” will simply always behind the better and newer “.net/C#” stuff in whatever windows there will be

    for what I can see : mono is simply a good excuse to continue to do applications for only windows in mind. not some gtk# ones. Of course gnome hackers are doing gtk# applications, but how many are in linux distributions ? or worst Freebsd ?

    _what_ is the interest , for me a professionnal, to do C# applications on linux ? is it better, easier, faster than a windows applications ?

  3. As someone who has a background in C / MFC programming for Windows, C# with Mono has really astounded me. I also liked Java for it’s simplicity in creating applications (the way it handles objects is much, much easier than C) but disliked it’s GUI systems as they stood out too much.

    Moving to Mono/C# to create a few Linux applications in the last two months has made me wonder why the hell I didn’t do it sooner. It’s also quite interesting to design and compile an application under Linux and have it run without any changes under Windows.

    Quite simply, Mono rocks. In fact I’ve even used .NET DLL’s designed for Windows without problem too, Mono has pretty much given me the best of all worlds.

    I would love to see it as a standard inclusion for GNOME, even if the core components still use C.

  4. Uhm, yeah, lets totally forget about Python, that has no legal issues, no patent aggressors, cross platformability, high acceptance rate among free and open source software hackers, tons of third party libraries, good GNOME bindings, tons of GNOME applications, rapid application development to mention a few. Let’s just keep bickering over our corporate Mono vs Java frameworks and strategic alliances.

  5. “Uhm, yeah, lets totally forget about Python”

    Yes, let’s.
    Python is A: slow, 100 times slower than C#/Java in some cases, B: not beginner friendly although it is marketed as such, there are documented problems beginners have that have not been fixed for years, C: hasn’t really changed in 15 years, thanks to the NIMPY crowd (‘not in my python!’), D: many people hate debugging whitespace/indenting issues, E: has a horrible hodge podge of crap for a “standard” library, unlike the standard libraries found in Mono and Java, F: has no easy way for extending functionality (like macros in other languages) or interoperating (like DllImport in C#), G: there is no support for ide features like an easy integrated gui designer or code completion or refactoring (C#/Java, QT Designer, etc.).
    If anything, ruby is already superior to python. On the jvm side there is groovy which is rapidly improving.

Comments are closed.