Evolution 0.99, Release Candidate Out
savaget writes "Evolution 0.99 (Release Candidate 1) is out!
"Yes, you read that right: the release candidate for Evolution 1.0 hit the wires this evening. After two years of hard work and more than 700 thousand lines of code written, the sleepless hackers at Ximian are finally getting to the long-awaited 1.0 release of Evolution, the GNOME groupware suite."" One of the most important projects in the open source world today. Best of luck to the monkey boys @ Ximian squashing any last minute arrivals.
Rob Pike said in his talk on `System Research is Irrelevant' that 90 to 95% of the code in Plan9 was
;-)
code to cope with standards and not with new innovative ideas (tcp/ip, http, corba, unicode, posix, mime, pop, imap, x).
A similar scenario happens with Evolution. Modern applications like Evolution are expected to deal with all sorts of IMAP servers, with all sorts of configurations, in a bug compatible fashion and with different "interpretations" of the standard.
Apply this across the board: authentication through SASL (being used more and more and being pretty cool as well), S/SMTP, S/IMAP, IMAP, POP, the various mail formats in Unix you need to import. Then add to the mix decoding MIME message s (both well formed, and ill formed, standard compliant and non-standard compliant), then generating correct Mime code.
Adding code to support features like disconnected IMAP, downloading only the headers, or the whole thing, making it useful over dialup lines.
The calendar tracks the iMIP, iTIP, ICalendar specifications. And can talk to Outlook 2000 and Outlook XP (they dont talk between each other, for calendaring, btw). And the list goes on and on.
HTML mail is supported, correctly forwarding messages is supported (in any combination that you want
Then add pilot syncing to the mix.
So Evolution is big, because it adapts to the needs of modern users. And it has to cope with the needs of different communities.
Evolution will keep growing to address the needs of more people, and will keep improving. We would of course love to get your contributions to optimize it in every possible way.
Miguel.
Do we really expect these people to switch over?
I did.
Anyway... I understand your point (knowing more about Unix history now than I did then), but the question is where do you draw the line? less was much more than more many ages back, which in turn was much more than cat. Should they have not made it because it did more than solve an extremely simple problem? pine can send emails but also has an address book. That's a lot more than the mail command can do for you. Is that too much integration? Don't get me started on Emacs. So Evolution gives you mail, an address book, and a calendar (and the Summary page, aka My Evolution, but we'll ignore that for the purposes of this discussion). One could easily argue that a calendar needs to be with your email (suits will anyway - that's how they plan their lives - get an email, add the meeting discussed in the email to their calendar, set an alarm for it, then when it's almost time for their meeting and they're sitting there reading dirty joke emails from their buddies, the alarm kicks off and away they go to their meeting).
What it comes down to is are you talking about a "simple task" from the perspective of a human or a computer? That was rhetorical, you were talking about a computer. The problem is computers weren't invented for the benefit of other computers. Computers were invented for the benefit of humans. The purpose of modern software design is to make using this extremely complex piece of science and technology easier for the masses who don't understand what resistors and capacitors are or what their bearing is on how the machine works. They just want it to do "things" - human "things" like send an email, not computer "things" like pipe the contents of that file to stdout. That is what Evolution is for. And I like it.
End treatise.
700.000 loc is what it takes to write such applications. People sometimes claim there are smaller alternatives but invariably those alternatives are less feature rich.
People have long blamed MS for delivering bloated systems. But it is quite ironic to see that as linux is maturing it is also gaining weight. The hardware requirements for running a full KDE or Gnome desktop are getting awfully close to the hardware requirements of an average MS windows machine. If you consider that MS managed to deliver windows 95 in 1995 on the hardware of that time (pentium/486, 8-16MB) you might actually come to the conclusion they did a better job than Gnome or KDE since in terms of features (not stability of course) it still compares rather well.
No doubt people will reply with references to all sorts of windowmanagers which run rather nice on slow machines claiming they do everything you need. However, they don't fully duplicate the feature set of windows 95 so see above.
Jilles
1) Linux is, and has certainly, been focused as a server OS. Most of those official statistics may be pure server installations.
2) Even those that use Linux as a desktop may be using it for the novelty/coolness/geek factor, rather than for productivity.
3) Many of the statistics are based on numbers of downloads and other measures, hardly proof that it's really being used.
4) Linux lacks a lot of the quality software that users demand. Thus I find it hard to believe that most people can get away with, never mind prefer, using Linux in lieu of Windows or Macintosh.
5) If Linux's desktop marketshare is so small, why are so few commercial companies porting their desktop software to Linux?
6) There are actually official statistics from IDC and others that show Linux is still a notch or two below Macintosh as a "client" (read desktop) OS. [I don't think they tell the whole picture though...in regards to my other comments]
FYI, I'm a Linux/*Nix/Windows user, not Mac and I have more than half an IQ of a live squirel even. Imagine that!
One very important thing to remember about code size is that LOC is a very good indicator of # of bugs. Reducing the number of lines of code (obviously without reducing functionality) is a good way to reduce # of bugs, and also to make your hackers more productive.
There are many higher level languages available, in many different language families. Often high level languages get blasted for being in efficient... but this isn't neccesarily so. For example, with all of the "object" stuff implemented (the hard way) in C, you are paying exactly the same runtime overhead that C++ pays when it has an object. All you are gaining, is the joy of having to implement everything yourself and the possibility of your naming schemes getting out of whack.
I think it's great that Ximian is continuing to survive and is about to "unleash" their masterpiece onto the world. I just wonder how much faster it could have gotten here if they didn't use C.
I find it interesting that the open source community (for the most part), tends to stick with C as the language of choice. Lowest common denominator choices like this are usually not the best.
-Chris