Evolution
I was reading Planet GNOME and saw a post about Evolution (practically) dead? KMail not far behind..
I think it’s obvious that Evolution develop has slowed down a lot. I don’t know how much money Ximian burned through developing it but I doubt they recouped their development costs. Novell doesn’t want to go down the same road so it’s understandable if their development focus is on GroupWise.
What I think is really interesting though is that, if you ever heard a Miguel de Icaza presentation on Mono he always mentions Evolution as a reason for him starting the project. He was fed up with C code and wanted to do use something better.
Miguel would talk about his thoughts on Mono and GNOME. I’m pretty sure he mentioned possibly porting Evolution to C# at one point. So this goes on for a bit and then The Register wrote an article called Gnome to be based on .NET – de Icaza.
A lot of people didn’t like that and starting complaining about how Mono was going to destroy GNOME and what not. Miguel came back with Mono and GNOME. The long reply. In that he wrote:
I have written and maintained many lines of code as part of my GNOME work. Ximian has developed Evolution which consists of roughly 750,000 lines of code.
Large software projects expose a set of problems that can be ignored for smaller projects. Programs that have long life times have different dynamics when it comes to memory management than smaller programs.
There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists [1]
[1] indeed, GNOME uses Glib which is a massive step up from the Unixy libc APIs.
The .NET Framework is really about productivity: even if Microsoft pushes these technologies for creating Web Services, the major benefit of these is increased programmer productivity.
Evolution took us two years to develop and at its peak had 17 engineers working on the project. I want to be able to deliver four times as many free software applications with the same resources, and I believe that this is achievable with these new technologies.
My experience so far has been positive, and I have first hands experience on the productivity benefits that these technologies bring to the table. For instance, our C# compiler is written in C#. A beautiful piece of code.
It can be argued that I could be wrong, and that these technologies are too new. But my personal experience and the experience of some of my friends with this platform has been amazing. I want to share with others this simplicity. And I want to empower developers: I want to enable a whole class of developers to create great desktop applications that integrate with GNOME.
If Ximian/Novell did have any plans for re-writing Evolution I suspect that the reaction they got from the community over Mono made them change their minds.
Fast forward to today, Evolution development is stagnant. No replacement really on the horizion. The Mono haters are still out in full force so even if Novell (or someone else) had rewritten Evolution it would have a very hard time getting into GNOME (if at all).
If people had been more open minded a couple of years ago we might have a much better and more maintainable solution today.