Taking control: Choosing Software I
As I mentioned in my last entry, I mean to help those of you that will be taking charge of your computers. The first task I'd like to help with is choosing applications for your computer. As I mentioned in the introduction to this series, let us not forget that it might be easier for you to just accept the choices made by others. If you'd rather not deal with all of the hassles, then maybe you should just stick with Linspire or Xandros. If you do, however, you might miss out on a wealth of software available that could help you get more out of your computer.
Later on in this first series of articles, I'll get into rules of thumb you can use to make your choices, but first let's review web destinations that might help you make your choices. These web sites all offer volumes of information about hundreds of thousands of projects. That said, let's review quickly the relationship between an open source software project and software. You should always remember that behind every free and open source software package, there is a community. These communities vary wildly in size, but in general consist of developers and users. These communities use some of the sites, besides their own home pages, to announce and even build their software. The five sites I find interesting are Freshmeat.net, SourceForge.net, swik.net, openbrr.org, and ohloh.com. Let's first start with (in order of age of the Internet)...
As one of the oldest directories of open source software on the Internet, freshmeat has a lot of information about different software applications. According to their web page: "freshmeat maintains the Web's largest index of Unix and cross-platform software, themes and related "eye-candy". The site is adamant about listing mostly Unix (Linux), no Microsoft Windows compatible software should be available here.
While it may be one of the oldest stes, it still remains very focused. They offer a few services, but are mostly focused on providing a foundation for projects to announce their software. When you first go to the home page you will encounter a list of project announcements. The announcements originate from the administrators of the various projects. Typically these announcements include information regarding a new release of software from that project. The web site lists the announcements in reverse chronological order. This list contains great information concerning the most recent software changes, however the site has much more to offer.
There are four other sections on the home page that are important. Within the banner of the page, you'll find a link to browse the project library. You'll also find a search text field, with a web site section pull down box to search for a specific area. In the right hand column beside the project announcement list you will find a list of the most popular projects (I'll explain what the term popular means for freshmeat in a moment). In addition, you'll find the project announcements for the current day and three previous days.
If you click on the browse link, then you will be able to browse into twenty-five different sub-categories. Choosing one of these sub-categories will likely display even further categorization, depending on the number of projects available. If these sub-categories are not suitable, then you can also browse by the development status, intended audience, license, and other categories unrelated to the functionality of the software. You will also find valuable a list of the most vital and popular projects within the specific category. Finally if you'll scroll down you will find a list of all the projects within that sub-category. Drilling down to subsequent sub-categories merely trims the number of projects displayed.
Selecting a specific project will display the home page for the project; this is where things get very interesting. Each project will contain, first, a brief description of the project. To the right of the project description there is a block with valuable information about the project. Here you will find the: "Rating, Vitality, and Popularity". In addition you will find these statistics: "Record hits, URL hits, and Subscribers".
Ratings - Every registered user of freshmeat may rate a project featured on the website. Based on the user ratings, the site builds a top 20 list, the ratings also allow sorting search results by rating. Ratings are on a scale of 1 to 10, where 10 is the highest.
Vitality - The vitality score for a project is calculated with the following formula: (announcements * age) / (last_announcement). The purpose of the vitality score is to indicate the activeness of a project. Recall, that announcements are done for new releases of a project. In general, the frequency of announcements will cause the vitality to be either high, if frequent, and lower, if less frequent. The vitality score is available to sort search results.
Popularity - The popularity score is computed as follows: ((record hits + URL hits) * (subscriptions + 1))^(1/2). The record hits counter records the number of accesses to the project page hosted at freshmeat, the URL hits are being counted for every URL associated with a project record that leads off of freshmeat. Members are allowed to subscribe to a project. Everytime a project announces a new version of all members subscribed will receive an email. The popularity score is also available as a sorting order.
How to get the most of this web site?
- You'll probably want to become a member of the site. Mostly because you will not be able to use the sorting function unless you are a member. I doubt for our purposes you will want to subscribe to any projects, because I don't believe most users want to deal with the hassles of upgrading an application every time a new version is available. For the most part we deal with the version available in the Debian repository or on our distribution CD's.
- Review the the descriptions above to make sure you understand what they indicate. Now let's search for a type of application and see how these metrics help us make better choices. Imagine you are looking for a 3D modeling software. Enter "3D model" in the search text field, select the "Projects" area in the pull down list, and click on "Go".
I'll assume you are logged in already; if you are not, register as a member and login. You should receive about 34 hits. The results are sorted in relevance order, which is the default sort order -- however you can change that in your preferences. In terms of relevance, the Misfit Model 3d is at the top of the list. Now let's try the different sort orders and see what shakes loose. When we sort by rating, vitality, and popularity we find Vertex 3d Model Assembler, PyX, and Misfit respectively.
- What can we conclude? Well the Misfit Model 3d looks like a good choice, but it has a couple of problems. First no one has yet rated the software, so we don't have any information. But perhaps more worrisome is that it ranks very low in vitality. The last file released was December 2005.
In general a project that is not active with new releases is typical of a project without much of a community behind it. The potential disadvantage of that is it could mean you will not be able to get support from the project if you decide to try the software. If you are still curious, then the next stop is the project home page and/if available, the project home page on Sourceforge.net (but we'll get into that in my next post). If the home page looks deserted, then it is likely that the project has been abandoned. If instead you find thriving communities with active posting and responses, then you should be able to try the software with little worry.
As a side note here, I'd like to point out yet another benefit of free and open source software (FOSS). Abandoned software is a frequent thing. How many of us have old games, applications, etc. that are no longer supported by a company, if the company still exists. In the proprietary world, those programs are lost forever. There is no grave yard where abandoned software goes. When the source code is gone, the program is dead. However, in FOSS the source code lives on forever. Since the source code is open or free, any one at any time can pick up an abandoned piece of code and breath new life into it. Just imagine how much more advanced software would be if all old code was contributed to the creative commons?
To summarize, the optimal situation is to find a project with high ratings, vitality and popularity. As you can guess, that seldom happens, so you have to know how to combine information from multiple sites to make better decisions.
In my next article we'll visit the next site, SourceForge.net, in our list of resources available to improve our software selection process. With over 100 thousand projects and over one million subscribers it is the largest source of open source software on the Internet. With that many projects, however, it's important to know what to look for to sort the wheat from the chafe. We'll take what we learned today and build from there.