Reading the slides of my subject about Project Evaluation on FLOSS, regarding the quality on software,
I found a part very interesting, that part it talks about the different types of quality we have in software large projects, the ones are:
- Quality assurance: Defining framework for organizational quality.
- Quality planning: Selecting elements from the framework, adapted to a particular project.
- Quality control: Checking that development teams adhere to the plan.
As it said in the slides, “for many community FLOSS projects, none of the above are defined”.
As a personal opinion, If we analyze this thre types of qualities, we can see, indeed, is really difficult to apply this quality types on FLOSS projects:
a) Quality assurance: as above says, it defines a framework for organizational quality, but this is really difficult
to satisfy for FLOSS projects, in some FLOSS projects we don’t have the internal structure to satisfy this, we don’t have
a board to manage the way to create software to assure the organizational quality. Indeed, we have very important and well
defined FLOSS communities like ASF, Gnone, Kde, etc. which they have an internal structure an can manage this type of quality
but maybe the smaller and the most of FLOSS projects no.
b) Quality planning: here is maybe the most difficult quality type that a FLOSS community can satisfy, FLOSS communites are based
on people who work when they can, maybe there are FLOSS communities with deadlines in a way or another, but there are the less ones (maybe the ones with big projects, like Linux, Apache, etc.) in other kind of projects like small applications developed by a small
group of developers who work when they can is impossible to make a schedule and satisfy deadlines.
c) Quality control: maybe this type of quality is the one which FLOSS communities can satisfy in the best way, usually FLOSS communities has guidelines about how must to be the code, the rules on it, the good practices so people who works on this projects can satisfy this rules and the main plan to develop an application following the rules. Even, usually main FLOSS communities (like Linux, ASF, etc.) have different roles to work on them, so maybe a user can send code for a bug to the commiter in the community and if the code doesn’t follow the guidelines this code never will be in the main code, this kind of roles help to maintain the project with a series of good practices and guidelines.
And that’s all, see u my friends!