Please don’t rewrite softwares (that are) written in .NET

This (super) cool .NET developer and good friend came to me at the FOSDEM bar to tell me he was confused about why during the Tracker presentation I was asking people to replace F-Spot and Banshee.

I hope I didn’t say it like that, I would never intent to say that. But I’ll review the video of the presentation as soon as Rob publishes it.

Anyway, to ensure everybody understood correctly what I did wanted to say (whether or not I did, is another question):

The call was to inspire people to reimplement or to provide different implementations of F-Spot’s and Banshee’s data backends, so that they would use an RDF store like tracker-store instead of each app its own metadata database.

I think I also mentioned Rhythmbox in the same sentence because the last thing I would want is to turn this into a .NET vs. anti-.NET debate. It just happens to be that the best GNOME softwares for photo and music management are written in .NET (and that has a good reason).

People who know me also know that I think those anti-.NET people are disruptive ignorable people. I also actively and willingly ignore them (and they should know this). I’m actually a big fan of the Mono platform.

I’ll try to ensure that I don’t create this confusion during presentations anymore.

22 thoughts on “Please don’t rewrite softwares (that are) written in .NET”

  1. @Marco: oh, okay. I feel much better now. Thanks for letting me know!

    @TOM’s removed reaction:

    I don’t feel like providing a platform to people who write things like “.NET sucks” and talking about rewriting things in Vala (while the Vala community aren’t at all a bunch of people saying nonsense like that, most of them are intelligent and sensible software developers). So I removed your comment.

    TOM, please don’t comment on my blog anymore. You aren’t welcome. And yes, because I own the infrastructure that hosts this blog system (I really do) is it my right to ban you and remove your messages (please do go stand on your head and hate me for it, I don’t give a shit). I’m prepared to go as far as to add a iptables filter on your entire internet provider, so just don’t. You’ll just be wasting your time.

    I suggest you start your own blog, and get ignored by the actual doers over there.

  2. Philip, do you know about Solang? It’s a new photo manager that gets everything from Tracker.

  3. @pvanhoof: It was my understanding that there were talks to unify the F-Spot and Banshee backends through the use of Banshee’s Hyena library. Perhaps augmenting Hyena to provide an RDF store mapping interface would be best here?

  4. There may be cases where a rewrite makes sense, independent of any pro-.NET or anti-.NET politics. For example, a small app that is usable in an embedded system might benefit from a port, if the result has fewer dependencies and a smaller footprint.

    But certainly it’s a waste of time for people to attempt wholesale porting of apps from the .NET world.

  5. @Joe – I believe that was the reason for GNote, as a C++ port of Tomboy. It was done not because Mono/C# was bad, but because the developer was targeting a system where the weight of a Mono runtime would not be acceptable.

  6. @Shaun: of course I do. Join GimpNET with an IRC client and join #tracker, and then ask the guy who goes by the nickname “rishi”. He’s developing Solang.

    I consider the point of Solang to be “making the F-Spot guys jealous”. I think F-Spot’s developers should be jealous about it because it’s simply a far better idea to focus on what a photo manager “should focus on”, than that it should focus on “metadata storage and metadata servicing”.

    Every sensible developer knows that the more overhead his software drags with it, the more likely complete failure is a serious threat.

    I’m even going to be so competitive to enjoy watching them try. We do know what is hard about it, we even enjoy solving it, do they?

    Com’n, let’s face it. If each application is going to reinvent the wheels of metadata, then what the fuck are we doing? And where is the fun?

    I’ll help any F-Spot developer as much as I can (and I already know they don’t have time, it’s a false argument. Let’s talk about passion instead. It usually creates time).

  7. How about a LINQ backend that talks SPARQL instead of the usual SQL and/or ADO.NET? I know that there’s a project that implements this already (google linqtosparql). Wouldn’t that be useful for .NET apps like Banshee and F-Spot?

  8. They are written in C#. .Net is a separate definition of API. There are implementations of .Net in C#, as well as C++, and VB on Windows. You can do lots of .Net-ish things in langauges other than C++. I don’t think anyone is implementing the .Net stuff in C/C++/etc… on Linux though, as .Net is pretty much entirely an MS technology, unlike C#.

  9. Funny thing about those anti .NET people is that a lot of them don’t even understand what they are talking about… they just hear the word Microsoft and that does it for them… sad…

    So you just made my regular reading list :p

  10. Thanks for promoting using Tracker as the back-end for these kinds of applications. It would make the GNOME desktop a beautiful thing.

    Editor note: I incorrectly removed Daeng Bo’s comment while I was dealing with removing an idiot’s comments. Sorry Daeng Bo that you became the victim of my error caused by having to deal with idiots making it necessary that I intervene. If you want me to restore your E-mail address and webpage (I lost that information, but luckily I still had your message’s content in my browser’s cache): get in touch.

  11. I removed two comments from a complete idiot moron who went by the name “truth-teller” or something ridiculous like that.

    To this “truth-teller” idiot: you are banned from my blog. Please don’t post any new comments to any of my blog articles of the past and future. You aren’t welcome. And yes, because I own the infrastructure that hosts this blog system (I really do) is it my right to ban you and remove your messages (please do go stand on your head and hate me for it, I don’t give a shit). I’m prepared to go as far as to add a iptables filter on your entire internet provider, so just don’t. You’ll just be wasting your time.

    Dear religious extremists like “truth-teller”: stop wasting everybody’s time. You’re not welcome, no. You guys *have* already consumed your right to free speech on my blog: you don’t have it any longer. Complain to yourself. I despise your hatred and I want you to know that I do not tolerate it here (and I do own this place, you don’t). About me despising your hatred: I want you religious extremists to know that I don’t necessarily consider stupidity immoral. I do consider your hatred immoral and unacceptable at a most fundamental philosophy. I know you don’t, but I hope you do understand what that means: you’re not welcome, at all. Just fuck off.

  12. I fail to see how f-spot is the best though, most of what it does seems to be focused on a special kind of vendor lock-in? And the reason why it’s in distros a massive lobbying campaign?

  13. pvanhoof some of these people need to get over themselves.

    “Please don’t rewrite softwares (that are) written in .NET” Sorry .net is not special. Should not get special treatment.

    History of open source has always seen programs written in one language then be recoded in another.

    Lot of projects per year change between being coded in c to c++ or back again. Same with python to c and so on. Rewriting between languages is natural.

    Lets take a classic old example of this. http://www.oracle.com/database/berkeley-db/index.html You will notice the two additions the C and the Java. The C addition came first. Advantages came out of the rewrite so both exist today.

    .Net just adds another language to move between that is all.

    Tomboy vs Gnote. Interesting that Gnote needs a lot less resources than Tomboy.

    How will you know that you .net implementation suxs of applications are not rewritten so side by side compare of performance can be done.

    Really the more rewrites the better. The better mono and other .net run-times will have to perform to justify there existence.

    Of course that complete disregards the patent cloud of is it legal for me as a distributor to deploy mono in the first place. So might want a version of the program in C or C++ so I don’t have to worry about it.

    Besides the reason why items like f-spot have better interfaces than the likes of gimp. Is simple.

    There is a old problem features vs UI. More developers focus on adding features the worse the UI becomes. Of course once the UI gets truly nightmare a focus on UI returns and the program becomes great.

    Blender Openoffice Gimp are all in the o my god added features now need to fix UI stage at moment.

    .Net developers sporning new programs to split the development world on those programs even more means less developers so project are more likely to be over stressed so UI’s turn to hell. Of course at first it looks like they have made better.

    Same mistakes happen over and over again.

  14. I approved the comments by @twitter and @oiaohm because they don’t cross the line. But you guys better be careful.

    @twitter: Sure I realize that I call Richard Stallman disruptive and ignorable. He is disruptive and ignorable, and I also think most doers agree with me on that. Richard has since a few years lost the respect of most of those doers. Me included. Quite frankly, he’s a religious fanatic about his ideals. I use his licenses because they are useful, but certainly not because I have respect for Richard. He lost all that respect several years ago, and is now going in deep negative numbers when it comes to respect. I’m against his ethics, as his ethical system is in my philosophy immoral (he called ownership of a work illegitimate). He probably also knows how I think about it, I think by now most people know this (it got sufficiently repeated, even posted on slashdot).

    @oiaohm: I don’t agree that .NET developers are doing new programs to split the development world. The amount of useful developers is not necessarily a quantitative something. One quality developer replaces a million monkeys. Besides, in raw quantities has Mono probably brought a huge amount of high quality Windows developers to the Linux market. It certainly has not reduced the amount of Linux developers. And for the Linux developers that went to the Windows market because of Mono: you can’t stop these people anyway. And certainly an anti .NET ideology can’t. I’m grateful that at least you consider all languages to be part of what you perceive as the “same mistake”. Instead of what most idiots do by singling out .NET or C#.

    I guess the biggest problem with everybody who has an opinion on this “mistake” (let me point out that I don’t think there’s any “mistake” here) is that they aren’t doers, but just talkers. Usually the ignorable ones. And that’s what we doers do, ignore them.

  15. I wasn’t at FOSDEM (unfortunately) so I don’t know what you said, but fwiw it doesn’t sound like something you’d say from my experiences talking with you over the years.

    I suspect it was just a misunderstanding.

    Anyways, keep up with the hacking!

  16. I removed a bunch of comments that are about why .NET is bad, some whining about why I didn’t de-spam some other comments from anti .NET people and other near-religious nonsense.

    For those people: please start your own blog and ignore mine. I’d rather not waste my time removing your comments all the time. It’d be lovely if you’d ignore this blog and stop posting comments here.

    If you guys have anything to say about what I said during my presentation (the subject of this blog item), please go ahead. Else, thanks but no thanks.

    And I don’t need the patronizing suggestions that I don’t know what ownership means, and that Richard Stallman is some sort of God who does. Go start a church where you can pray to him. But do it on your own blogs. Not here.

  17. Now that Tracker 0.8 is stable and your recent blogging indicates that you are working on cases that would apply for media management if you had any interest of starting a reimplementation of the backend for Banshee.

    As Banshee is now the default mediaplayer on MeeGo (Netbook image for now as I understand) and MeeGo defines Tracker as a core piece of the platform I would gather such a project would be able to attract some attention and show off how cool Tracker is in a real world application.

    Bonus points for making Banshee do this:
    http://pvanhoof.be/blog/index.php/2010/04/27/rdf-propaganda-time-for-change

  18. @David Nielsen: We certainly would have interest in such a backend and we’d actively help whoever wants to work on this. But we of course can’t expand our project so wide that we’re going to rewrite each and every application out there. I don’t know what the default media player for MeeGo will be, by the way. I guess MeeGo can be a platform to host Banshee as a media player. Tracker is, at least as far as I know, going to be a core piece of the MeeGo platform indeed.

    It wouldn’t be hard for Banshee to do what my earlier blog item describes. The people from Banshee can get in touch with Adrien Bustany (that’s abustany on the #tracker channel on GimpNET). He made that demo for MeeGo / Harmattan.

Comments are closed.