AgileTester

Monday, October 01, 2007

For Open-Source Software

What is Open-Source?
Open-source is a collaborative way to develop software which provides full source-code that can be modified and distributed freely. The software that has been produced has become some of the most solid and sophisticated software available and in many areas is competing with commercial strategies. Some of the most well know open-source offers are: Linux, Mozilla, Perl and MySQL.

Benefits of Open-Source
With a piece of software not being closed it can be enhanced or fixed by the user.
How many times has a tool been lacking and the user forced to submit enhancement requests that have either been ignored or the customer is made to wait a lengthy time period? How long has it taken for a bug to be fixed? With open-source we can actually fix the problem or add enhancements ourselves.

Developers are likely to be highly experienced and motivated who contribute to open-source and their numbers can be countless.
There are a number of organisations who cannot or do not want to hire skilled developers. The number of developers for a project thus may be insufficient and through various reasons (pay, working conditions, office politics, imposed tools and processes etc) they could be de-motivated. However, anyone who is likely to start or add to an open-source project is also likely to be enthused and proficient in writing quality software.

Code is peer reviewed and sometimes rejected if not accompanied with tests making that software robust.
A significant amount of open-source software is submitted with tests and tests are run before code is released. For example, all binary releases of MySQL must pass a comprehensive test suite, JMeter at present has 1290 unit tests and the core developers of Watir will not commit any code to the trunk unless it is accompanied with unit tests.

The open-source community is helpful and altruistic.
Any problem that a user may encounter can be sent to a project mailing list where that question can be answered or the questioner promptly and correctly directed to a relevant source. This decreases development and test time.

Open-source software is free.
No need for prohibitively expensive software or to be tied to a particular vendor. For example, virtual user licenses from a major vendor’s load tool can cost thousands of pounds, whilst increasing concurrent users in a performance tool like JMeter is just a matter of upping the threads and maybe using more hardware.