As a class exercise, and continuing with the example of selecting a mail client, we did in groups an example of a short evaluation of six of the FLOSS projects for this purpose (Thunderbird, Sylpheed, Squirrelmail, Mutt, Balsa and Claws), based on a subset of goals that had previously selected for this case according to GQM, and in order to see if we can get an initial evaluation of these solutions.
In our case, the team with Athanasios-Illias and Sergio, we focus on the following objectives:
- Code maintainability: where we study the main language used for each tool, the number of languages used, the number of lines of code and the percentage of code used in non-core languages, obtained with SLOCCount tool and the data repositories of the 6 projects (you can find links below).
- Functionalities: comparing the following features of the different tools: graphical client availability, multiplatform, number of features that provides the ability to allow multiple mailboxes, availability of web mail client, interface customization, plugins and support for IMAP and POP3.
- Documentation: which reviewed the existence of forums, wikis, mailing lists, FAQs, etc.., in order to meet the community’s health and ability to find and provide documentation and support from communities.
Thus the conclusions obtained are as follows:
Candidate tools for the case that concerns us are Thunderbird and Claws, and can practically rule out the other mail clients. This is because although the two solutions have a large magnitude in source code, which makes them more difficult to maintain, broadly cover the features that have been established as requirements and also have documentation that facilitates learning and support. The other solutions do not have some of the established functional requirements, for example Balsa is not multiplatform or SquirrelMail that only is available in a web interface.
As you can see, we can obtain interesting results, by this way of 6 solutions, and of course with these objectives, we can practically discard 4 of them. Obviously if we have few goals is difficult to have a full evaluation of the different solutions, but nevertheless, these goals provides us an initial overview of which are adapted more to the requirements we have for the selection of appropriate software and which we can begin to discard some of them, in order to focus on the right tool.
From my point of view, as I mentioned in previous post, making requirements is fundamental to the project evaluation, because depending on where you set the most important focus we get different results, when you complete and define better your goals, there are more probability to find the best tool for our mission.