A guide for analyzing the quality of an open source application?
Ok, so you want to evaluate and open source application?
What guidelines should you use? Here is a guideline. I will continue to update this as I find valid items to measure. If you have something I should add to the list, please let me know.
Obtaining the Software
- A top link in search engine when searching for open source app’s name?
 - A quick download link?
 - Clear description of different downloads per platform?
 
Installation of Open Source App
- Clear description of different downloads per platform?
List of platforms: - Ease of install score:
 - Ease of initial configuration score:
 
Authentication
- Integration with Active Directory?
Score: - Integration with LDAP?
Score: - Database authentication?
Explanation: Can authentication occur in a database such as Postgresql, MySQL, etc…
Supported Database list:
Score: - Authentication to a 3rd party programs database?
Explanation: So that if you have an application A with a database that hosts a username a password, can this open source application B use your database from application A to authenticate?
Score: 
Security
- How secure is this application?
 - What security holes have been reported and fixed?
 - What development designs were taken into consideration to enhance security?
 - What security analysis tools such as Nessus has this open source application been analyzed with?
 
Documentation
- Install guide exists?
Quality Score: - Users guide exists?
Quality Score: - Admin guide exists?
Quality Score: - Developer’s guide exists?
 - Compile/Debug guide on how to load in an IDE and compile and debug (Visual Studio 2008, Eclipse, KDevelop, other, etc…)
 - Guide for submitting a bug or suggestion?
 - Guide for contributing documentation?
 - Ease of contribution Documentation?
 
Ease of Use
- Is the application easy to use?
 - Can non-technical users use the application with minimal training?
 
Stability
- How stable is the application? Determine this from normal use for a period of time.
 - How stable is the platform(s) and/or 3rd party dependencies the application runs/depends on?
 - Does the application crash with normal use?
 - Does the application crash with abnormal use?
 - Does the application crash with prolonged use?
 - Is the process for submitting a bug simple?
 - Is the process for applying a patch simple?
 - Does applying patches decrease stability?
 
Community Strength
- Is it being maintained by a strong community?
 - Is there a high adoption rate for this application?
 - What is the average turn around time for a bug in the community?
 - Is there a forum? What is forums user base? How quick do questions get responses?
 - Is there a mailing list?
 - Is there an RSS feed?
 
Customization of Open Source Application
- What language is this written in?
 - Ease of customization.
 - Ease of contributing to project
 - Ease of compiling/debugging?
 - Ease of getting fixes committed to source?
 
Scalability
- Does the application scale well with increased usage?
 - Does this application integrate with the two most used operating systems for desktops? Windows and OS X?
 






