Open Source Software - Empirical Investigation of Technology
Download
Report
Transcript Open Source Software - Empirical Investigation of Technology
Revealing Semantic Quality
Characteristics of
Free and Open Source Software
Department of Informatics
Technological Educational Institute of Thessaloniki, Greece
Stergios Draganidis
Kerstin V. Siakas
[email protected]
[email protected]
Outline
This paper describes the initial stage of a research
project at the department of Informatics of Alexander
Technological Education Institute of Thessaloniki in
Greece1
The research project investigates the quality of
FLOSS2 considering underlying human factors that
affect the six high level quality characteristics
according to ISO-9126
1
This work is funded by the Greek Ministry of Education (25%) and
European Union (75%) under the EPEAEK II program “Archimedes ΙΙ“
2
Free/Libre Open Source Software
Objectives
to introduce a scientific, rational and structured
instrument for FLOSS product assessment
to correlate the quality characteristics described
in ISO-9126 with measurable aspects and
underlying factors of FLOSS collaborative
development
to use the results from the initial stage for
improvement of the survey instrument to be
used on a larger scale
State-of-the-art
During the last decades a large number of
FLOSS products have been developed
The development of software through
collaborative informal networks is proposed to
produce high quality products
Several products have become competitive in a
variety of applications
Gnome
– desktop environments
Linux
– operating systems
Mozilla
– web browsers
Apache
– web servers
FLOSS
Free/Libre and Open Source Software
Combination of the terms
“Free Software”
– Free Software Foundation
“Open Source Software” – Open Source Initiative
Emphases the ‘libre’ meaning of the word free
Refers to software (available source code)
that gives the freedom to the user to:
run the program for any purpose
to study the code
to modify the code
to distribute the original or modified program without
any restriction or any obligation
Free Software – Open Source
Software
two ideological movements that target the same
goal:
To evolve knowledge and
develop better products
The motivations of each movement differ and many
discussions have been made to disambiguate their
nature
the terms “free software” and “open source
software” are usually used interchangeably to
describe the same thing
FLOSS Development
Collaboration and co-creation of the code by developers
(professional & amateur programmers) and users of
varying levels of programming experience
Typical FLOSS developers:
work:
• independently of any organisation
• for sake of the community projects
• isolated in their own pace, space and time
are:
• geographically dispersed
• simultaneously users of the software
Typical Developer Contribution
Start from existing or partial code
Take part in the development of a new tool or a utility
Post the evolving code to a newsgroup whose
members will try out the program and provide
feedback (programming solutions, improvements)
The enhanced code is then posted to the group, who
accepts or discards it and redistribute the final
product freely available to the wider community
One person = developer + user
The developers are themselves users of the
software better understanding and solution of the
problems or bugs
In Proprietary Software:
the developer has difficulties to understand the
often ambiguous user requirements
Inadequate communication between the developer
and the user creates inflexible to future changes
products and products that are difficult to maintain
One person acting as developer and user simultaneously
in the development of FLOSS products seems to be a
prominent feature affecting the quality characteristics of
the software product
FLOSS Quality
The first FLOSS products were expert developers using
empirical procedures and metrics that ensure high quality
products delivery
Today, the quality of FLOSS projects is not based on a
specific method or metrics
The evaluation of quality is based on arbitrary criteria that
usually are not sufficient or adequate to represent the
quality of the product
Projects hosts provide limited metrics
eg. sourceforge.net provides:
• projects size
• number of developers
• activity rank
• weekly download
Free/Libre and Open Software:
Survey and Study
International Institute of Infonomics University of Maastricht,
The Netherlands in 2002
First attempt for quantification and measurement of underlying
factors of quality
The Acronym FLOSS was used for first time
Delivered a large number of measurements and primary data
related to FLOSS usage and development
The aims:
To provide indicators that rationally explain the functioning of
the collaborative networks that do not have primary
dependence on money
To investigate possible impact of non monetary collaborative
development on computer industry, business and economy
* http://www.infonomics.nl/FLOSS/report/
ISO/IEC 9126 Quality Model
A framework for the evaluation of software product
quality
Applicable to every type of software
Defines six high level product quality characteristics:
Portability
Efficiency
Reliability
Functionality
Usability
Maintainability
Product Quality
Sub-characteristics
Attributes
Measurable entity
Not defined in standard
The ISO/IEC 9126 Standard
ISO 9126 Divisions
The standard is divided into four parts which address:
• the quality model
- ISO/IEC 9126-1 (2001)
• external metrics
- ISO/IEC 9126-2 (2003)
• internal metrics
- ISO/IEC 9126-3 (2003)
• quality in use metrics - ISO/IEC 9126-4 (2004)
Department of Informatics
Technological Educational Institute of Thessaloniki,
Greece
Research methodology :
Survey
on-line questionnaire
http://sdragan.phpnet.us/questionnaire.htm
Target group
Active persons of FLOSS projects, such as:
Project managers
Programmers
users
The research will be carried out
from April 2007 until August 2008
Questionnaire design
Php and MySql was used to implement the online
questionnaire
21 questions relating to significant attributes describing
human features and processes that have impact on
quality of FLOSS according to ISO-9126
Emphasis on:
Simplicity, user friendliness and wide acceptance
unbiased understandable questions
Demographic questions related to the responders for
clustering of the results
investigation of possible impacts to the quality
characteristics
Sample Issue Concerns
Minimum tolerated sample size for smallest sub-group
of importance?
How to ensure a representative sample?
Our target group in the initial stage:
The Greek Floss community
Results may not be representative for the wider
FLOSS community
Pilot Study: Questionnaire
moderation & promotion
The initial questionnaire was
developed in the Greek language
distributed to many individuals in charge of Greek
FLOSS communities aiming
• to evaluate the questionnaire regarding the validity and
outline
• to secure future commitment from the FLOSS
community
9 responses were received with useful comments
The feedback was used to improve the questionnaire
Questionnaire moderation &
Promotion
The moderated questionnaire was translated to
English in order to reach a greater population outside
Greece
Available on-line to enable easy completion and
analysis of the results
The on-line questionnaire has been promoted to many
FLOSS communities in order to ensure statistically
sufficient responses and produce valid results
Survey process
Acquisition of primary data that describe attributes and
processes constituting FLOSS development
Data Storage in a database system in order to simplify
appropriate transformation of the data before the analysis
Data analysis
Statistical analysis (SPSS-15)
Data mining methods will be applied to predict the
behaviour of the project
• to classify projects according to their quality measurements
• to point out quality related attributes of the FLOSS
development
Data Analysis
Considerable effort
was made to enable
the extraction of valid
results rapidly from the
primary data
A system that collects
the questionnaire
responses and
processes them
accordingly has been
developed
Expected Outcome
to reveal factors that may have impact
on the quality of FLOSS products
to increase the comprehension of
FLOSS quality attributes
to raise awareness of the dynamics that
influence the development process
to contribute to a more scientific,
rational and structured assessment of
FLOSS products & processes
Conclusions
The initial stage of a research project aiming to
determine quality level of FLOSS products was
described
Our approach evolved the research approaches that
concentrate on internal characteristics of ISO-9126
to include external characteristics and quality in
use
The correlation of quality characteristics of ISO9126 with measurable aspects and underlying
factors of FLOSS collaborative development was
expected to provide a more scientific, rational and
structured tool for FLOSS product assessment
Further Work
Stage 1:
Extending the research group
• Collaboration welcome!
• Searching for EU funding
• Preparing proposal
Improving the questionnaire
Further promotion of the questionnaire
Further Work
Stage 2:
Collecting data
Analysis of the collected data
• Statistical analysis of the data by SPSS
• Application of data mining methods
Stage 3:
Point out different perspectives and summarize them to
useful information
Dissemination
Thank you for your attention
Any questions..