AN OPEN ONION PROCESS MODEL to SUPPORT OPEN SOURCE DEVELOPMENT AMINAT ABIOLA SHOWOLE a Thesis Submitted in Fulfilment of The
Total Page:16
File Type:pdf, Size:1020Kb
AN OPEN ONION PROCESS MODEL TO SUPPORT OPEN SOURCE DEVELOPMENT AMINAT ABIOLA SHOWOLE A thesis submitted in fulfilment of the requirements for the award of the degree of Doctor of Philosophy (Computer Science) Faculty of Computer Science and Infonnation Systems Universiti Teknologi Malaysia JANUARY 20 11 11 DECLARATION I declared that this thesis entitled "An Open Onion Process Model to Support Open Source Development" is the result of my own research except as cited in the references. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Signature: ···� ····· Name: Arninat Abiola Showole Date: 31ST January, 2011 Ill To My late fa ther, Alhaji G.S. Alamutu My sweet mother Alhaja Safiat Atoke Alamutu, My beloved Children Mubarak, Teslim, Hikmat & Yusrah My darling husband and best fr iend, Abdul Wa siu Showole IV ACKNOWLEDGEMENT All Praises belong to Allah (SWT) fo r making it possible fo r me to get to this phase of my research. This PhD research is sponsored by Islamic Development Bank (IDB) Jeddah, Saudi Arabia and Federal University of Ahuja, Nigeria, to both whom I am very grateful. My deepest appreciation goes to my principal supervisor Professor Dr. Hj. Shamsul Sahibuddin, fo r his persistent support in terms of guidance, encouragements and inspiration especially at the times when this research seemed unworkable. He has always given me the much needed courage to fo rge ahead and build high-level of confidence in me. All these have really taken me to this level. My profound gratitude goes to my co-supervisor, Associate Professor Dr. Ibrahim Suhaimi, for his guidance and motivation in the course of this research. He is an ever-listening, willing to help co-supervisor. My sincere appreciation goes to members of the fa culty of computer science and information system (FSKSM), UTM; and in particular, Associate Prof. Dr. Ali Selamat fo r his assistance especially at the early stages of this research and Professor Bob Colomb for guiding me, with his elderly expertise, towards the appropriate data analysis technique for this research. Furthermore, I appreciate the open source community and open source repository providers (SourceForge.net, flossmole.org). They have indeed facilitated this research by providing free and up to date project activity details which have eased the data collection processes for this research. Mr. Nicholas, open source community, Malaysia. Industry-based practitioner though, he granted me audience and provided positive responses as I provoked his thoughts on open source academic 1ssues. v My appreciation goes to my family friends particularly, Abd-Gafar and K.ifayah Fahm and the entire Nigerian communities in Malaysia, fo r their support and care of my children during the course of this research. My appreciation goes to people who have assisted me through my academic ladder climbing. Mr. Agosu was my wonderful mathematics secondary school teacher who gave me a solid fo undation in mathematics and statistics. Engineer Bayo Adeola is a fantastic brother to me, Dr A.K. Oj o is my mentor and Professor Olaide Abass of University of Lagos is a father-figure. My deepest appreciation and humility goes to my late father, Alhaj i 'Ganiu S. Alamutu and my mother Alhaj a Safiat A. Alamutu fo r their parental care, endless support and perpetual prayers over me. My love goes to Alhaja R.Titilayo Oguntola, Engineer Wale Q. Alamutu, Mrs. Mariam A. Ibrahim and Late Mrs. Barakat Adebiyi ofblessed memory; they are my wonderful and worthy siblings indeed. My Mother in-law, late Alhaja Sidiqat Showole of blessed memory, was a one-in-a-million mother in law who had always showered her blessings and prayers upon me on a daily basis throughout her 8 years of stay with me; although I tried my best to be kind to her on a daily basis as well. I am convinced that her long years of prayers over me have indeed contributed to my success in this research. My love and appreciation goes to my beloved children, Mubarak, Teslim, Hikmat and Yusrah, who have all shown adequate understanding and cooperation. They provided a balancing environment for my brain to operate in the course of this research. My love goes to my darling husband, Abdul Wasiu Abiodun Showole most encouraging, highly committed with persistent determination towards my success. VI ABSTRACT The need for technologies to building high quality software faster and cheaper has led to the advances in software development techniques such as software component, object orientation, software reuse and open source methodologies. Ability to revamp existing codes is the leading edge of open source over other methodologies. Interestingly, literature has often described open source development with onion. However, the previous open source onion descriptions have not been put to test. This research presents an improved onion model that has streamlined fo ur prominent open source onion models into a newly evolved five layered open onion model whose layers are distinctively modeled diagrammatically, evaluated statistically and validated with Delphi's approach. Relevant parameters, such as programming language support, user interface, and natural language support, were extracted from ten highly ranked SourceForge case studies and statistically evaluated using correlation, regression and averages; while a cross verification was performed by statistical analysis based on extracted details of II04 open source software projects details. The support for Pareto (80/20) principle in open source shows that 80% of proj ect developers' activities are actually regulated and controlled by 20% project administrators' activities. The development and validation of open source user satisfaction equation as well as the newly evolved open source success tree provide excellent measure; such as 100% Delphi experts' support for ability to avoid fatal errors and 100% fo r ability to build strong support for the project; to which an open source success rate largely depends. Major contributions of this study are that the open onion model evolves to improve the existing onion models of open source through the modeling, verification and the 4-round open onion Delphi validation stages. Vll ABSTRAK Keperluan teknologi bagi pembinaan perisian berkualiti tinggi dengan lebih cepat dan murah telah membawa kepada kemajuan dalam teknik pembangunan perisian seperti komponen perisian, orientasi objek, penggunaan semula perisian dan metodologi sumber terbuka. Kemampuan mengubah kod sedia ada merupakan kelebihan utama sumber terbuka melebihi metodologi lain. Apa yang menarik, pelbagai kertas kajian menggambarkan perkembangan sumber terbuka dengan bawang. Namun, gambaran bawang ini belum pemah diuji. Penyelidikan ini menawarkan suatu pembaharuan model bawang yang menggabungkan empat model bawang sumber terbuka terkemuka ke dalam suatu model evolusi baru lima lapisan bawang terbuka dimana setiap lapisan digambarkan dengan model berbeza, dinilai secara statistik dan disahkan melalui pendekatan Delphi. Parameter yang berkaitan, seperti sokongan bahasa pengaturcaraan, antara muka pengguna, dan sokongan bahasa tabii, diekstrak dari sepuluh kedudukan tertinggi kajian kes SourceForge dan dinilai secara statistik menggunakan korelasi, regresi dan purata; manakala pengesahan yang menyeluruh dilakukan dengan analisa statistik butiran yang diambil dari 1104 projek perisian sumber terbuka. Sokongan bagi prinsip Pareto (80/20) dalam sumber terbuka menunjukkan bahawa 80% dari kegiatan pemaju projek sebenamya diselaraskan oleh 20% kegiatan pentadbir projek. Pembangunan dan pengesahan persamaan kepuasan pengguna sumber terbuka serta pokok kejayaan sumber terbuka evolusi baru menyediakan pengukuran unggul seperti sokongan 1 00% pakar Delphi bagi keupayaan mengelakkan kesilapan besar dan 100% bagi kemampuan membina sokongan kuat projek; kadar kejayaan sumber terbuka sangat bergantung kepada ukuran-ukuran tersebut. Sumbangan utama dari kajian ini adalah bahawa model bawang terbuka berkembang bagi memperbaharui model bawang sumber terbuka sedia ada melalui pemodelan, penentusahan dan tahap pengesahan bawang terbuka Delphi 4-pusingan. Vlll TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION 11 ACKNOWLEDGEMENT iv ABSTRACT VI ABSTRAK Vll TABLE OF CONTENTS Vlll LIST OF TABLES XIV LIST OF FIGURES XVJJJ LIST OF DEFINITIONS XXI LIST OF ACRONYMS XXll LIST OF APPENDICES xxiv 1 INTRODUCTION 1.1. Problem Background 1.1.1. Conventional Software Development Paradigms 2 1.1.2. Open Source Approach to Software Development 6 1.1.3. Issues in Open Source Software Development 9 1.1.4. Varying Characteristics of Open Source Projects 11 1.2. Statement of the Problem 12 1.3. Research Questions 14 1.4. Objective of the Study 14 1.5. Scope ofResearch 14 IX u·� : :-., 1.6. · � .. \ 16 Significance ofResearch . ..... ,. ---.. 1.7. Thesis Organization 2r;-- [. {H•- - � \ 17 2 LITERATURE REVIEW 20 2.1. Open Source Definition 20 2.2. Historical Background Of Open Source Software 22 2.3. The Philosophy of Open Source 24 2.3.1. Individual developer's views 25 2.3.2. Corporate Organization's views of Open Source 27 2.4. Software Process Models Vs. Open Source Models 29 2.4. 1. Traditional Software Engineering 29 2.4.2. Open Source Models 36 2.5. Related Open Source Onion Models 42 2.6. Software Quality In Relation to User Satisfaction 46 2.6.1. Software Quality Models 46 2.6.2. Software Quality Assurance (SQA) Perspectives 48 2.6.3. Statistical Software Quality Assurance (SQA) 49 2.6.4. Open Source Approach to SQA 49 2.7. Review Summary 51 3 RESEARCH METHODOLOGY 53 3.1. Research Methods 54 3.1.1. Quantitative Research in Software Engineering 55 3.1.2. Open onion Research Approach 56 3.1.3. Research Framework 56 3.2. Research Design and Procedure 58 3.2.1. Modeling 58 3.2.2. Units of Analysis 59 X 3.2.3. Case Study Selection Criteria 60 3.2.4. Research Settings 61 3.2.5. Data Collection 63 3.2.6. Case Study Selection Size 64 3.3. Research Hypotheses 65 3.4. Open onion validation Method 67 3.4.1. Selection of the Delphi Method 67 3.4.2.