SlideShare ist ein Scribd-Unternehmen logo
1 von 2
Downloaden Sie, um offline zu lesen
Software Engineering Lessons from Open Source Projects
                        Position Paper for the 1st Workshop on Open Source Software, ICSE-2001

                                                    Jai Asundi
                                    Department of Engineering and Public Policy
                                           Carnegie Mellon University
                                            asundi@andrew.cmu.edu


                         Abstract                                  enhancements to the software were done by the top 15 peo-
                                                                   ple[8]. These top 15 are more or less the members of the
    The Open Source form of software development has               core-group. The numbers are not very different for other OS
captured the attention of academics and software practitio-        projects[4]. We can thus see the parallels for a commercial
ners alike. Though, this ‘phenomenon’ has been touted by           project where the core design team would be expected to do
some to be how all software will eventually be developed,          most of the changes. What we can learn further is how the
many are critical about how far this form of organization          various tasks are distributed amongst this team. Since OS
will be successful. It is very likely that both the traditional    projects are self formed and responsibilities are assumed
form as well as the Open Source form of organization for           rather than assigned, based on patch submit patterns we can
software projects may co-exist. The position taken in this         infer about how developers like to perceive their roles in a
paper is that commercial projects can learn important les-         software project. Mirroring this structure in a commercial
sons from Open Source projects. This paper tries to capture        project could lead to better management of the product.
the elements of Open Source projects that can be applied to        Informal Communication
traditional commercial projects and the means by which                 Studies in distributed software development have shown
further information can be gathered.                               that informal communication amongst personnel is vital for
                                                                   the coordination of the effort[6]. A glance at the mail
1. Introduction and Overview                                       archives for various OS projects shows us that there is
                                                                   extensive informal communication between the lead-devel-
    Open Source(OS) software has captured the attention of         opers, other developers and users. Some projects also run
the entire software community. Many perceive it to be a            chat sites once a week to discuss issues. This in spite of the
movement against a common enemy (read Microsoft and                fact that the developers are from differing cultures and in
other large software houses). However, the real battle is for      different time zones. Commercial projects could increase
the increasing need for high quality and reliable software in      their level interaction amongst the developers (either collo-
spite of the increasing complexity of the applications.            cated or distributed) by setting up discussion boards and run
Though it is highly unlikely that the OS form of software          chat sites to discuss technical issues so that there is no con-
development will completely replace the traditional com-           fusion regarding accents or tone of voice. Also, other inter-
mercial software development practice, there are important         ested developers could “tune-in”, thus reducing the
lessons that can be borrowed and applied from each other.          confusion due to learning about issues second hand or
                                                                   through a much delayed, formally stated memo.
   Very little systematic work has been done to analyze and
measure the OS form of software development. There are             Improved customer support
case-studies explaining the software architecture of OS                Many users of software products will agree that most
products[2][5] and how architecture recovery can be                commercial software organizations fail miserably when it
applied[3]. In terms of studying the organization of OS            comes to supporting their software product. A study[7]
projects preliminary work [1][8] has shown how publicly            shows that OS projects has a good record with user support
available archived information can be used to study and test       due to a larger number of people willing to offer informa-
hypotheses in OS projects.                                         tion about the product. A large fraction of the responses
                                                                   seem to be simple and easily answered - done usually by a
    In this paper I shall try to highlight the important lessons   very small fraction of people. Thus, the lesson for commer-
that can be gathered from OS projects that could have inter-       cial projects is that increased user-user as well as user-
esting implications for commercial projects.                       developer interaction could lead to improved support as
                                                                   well as better and more meaningful bug reports.
2. Lessons from Open Source projects
Organization of personnel
   The Apache project1 has shown us that 85% of the
                                                                       1.http://www.apache.org/
3. Differences from Commercial Projects                          5. References
   There are a number of acknowledged differences                [1] John Bley and Ashish Arora, How Many Eyeballs Are
between OS projects and commercial projects that make the        Enough?: Peer Review in Open Source Development,
two difficult to compare.                                        Workstudy Report, Carnegie Mellon University, 2000.
Existing code with design completed                              [2] Ivan Bowman, Richard Holt and Neil Brewster, Linux
    Typically, most OS projects begin with a piece of code       as a Case Study: Its Extracted Software Architecture, ICSE
and an already working piece of software. The design is          '99: International Conference on Software Engineering, Los
more or less frozen and only under unique circumstances is       Angeles, May 1999.
the design redone or revisited.                                  [3] Ivan Bowman and Richard Holt, Software Architecture
                                                                 Recovery Using Conway's Law, Proc. of CASCON'98,
Design is done by single person or two collocated persons
                                                                 December 1998, pages 123-133.
    In commercial projects, the design is usually done by a
group of people and in some cases people who are not even        [4] Rishab Ghosh and Vipul Prakash, The Orbiten Free
at the same location. This leads to larger problems of coor-     Software Survey:May 2000, http://www.orbiten.org/,ofss/
dination at the most important phase of the development          01.html, (accessed March 10th, 2001).
cycle.                                                           [5] Ahmed E. Hassan and Richard C. Holt, A Reference
                                                                 Architecture for Web Servers, WCRE 2000: Working Con-
4. Conclusions and Future Work                                   ference on Reverse Engineering, Brisbane, Australia, Nov
                                                                 6, 2000.
    In spite of the difference in organization of OS projects,   [6] James Herbsleb and Rebecca Grinter, Splitting the
important lessons can be borrowed and applied to commer-         Organization and Integrating the Code: Conway’s Law
cial software projects. The mailing list archives contain        Revisited, Proceeding of the 21st International Conference
important information that can be culled to benefit tradi-       on Software Engineering, 1999, Los Angeles, CA, 1999
tional software projects. Improved communication channels
                                                                 [7] Karim Lakhani and Eric von Hippel, How Open Source
and methods of increasing interaction between developers
                                                                 software works: “Free” user-to-user assistance, MIT Sloan-
and users are few of the preliminary lessons that can be bor-
                                                                 School of Management Working Paper #4117, May, 2000
rowed from OS projects. The next step would be gaining
information for the identification of personnel for various      [8] Audris Mockus, Roy Fielding and James Herbsleb, A
responsibilities, allocation of tasks and structuring a soft-    Case Study of Open Source Software Development: The
ware project.                                                    Apache Server, Proceedings of the 22nd International Con-
                                                                 ference on Software Engineering, 2000, Limerick, Ireland,
    Other future work will include the use of the mail           June 2000
archives to test various hypotheses in OS projects. This
would include a study of the code review process as well as
further analysis of the “many eyeballs” hypothesis.

Weitere ähnliche Inhalte

Was ist angesagt?

FSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsFSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsMassimiliano Di Penta
 
Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD ApplicationYelda Gurbuz Erdogan
 
Non-software OSS projects
Non-software OSS projectsNon-software OSS projects
Non-software OSS projectsguest214454
 
Productivity Future Vision
Productivity Future VisionProductivity Future Vision
Productivity Future VisionMicro Focus SRL
 
IRJET- Deep Web Searching (DWS)
IRJET- Deep Web Searching (DWS)IRJET- Deep Web Searching (DWS)
IRJET- Deep Web Searching (DWS)IRJET Journal
 
Open Source Software: Perspectives for Development (World Bank & Paul Dravis)
Open Source Software: Perspectives for Development (World Bank & Paul Dravis)Open Source Software: Perspectives for Development (World Bank & Paul Dravis)
Open Source Software: Perspectives for Development (World Bank & Paul Dravis)Paul Dravis
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
 
An Exploratory Study of Usability Practice from User-Centered Design View: M...
An Exploratory Study of Usability Practice from  User-Centered Design View: M...An Exploratory Study of Usability Practice from  User-Centered Design View: M...
An Exploratory Study of Usability Practice from User-Centered Design View: M...Ruby Kuo
 

Was ist angesagt? (8)

FSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsFSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projects
 
Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD Application
 
Non-software OSS projects
Non-software OSS projectsNon-software OSS projects
Non-software OSS projects
 
Productivity Future Vision
Productivity Future VisionProductivity Future Vision
Productivity Future Vision
 
IRJET- Deep Web Searching (DWS)
IRJET- Deep Web Searching (DWS)IRJET- Deep Web Searching (DWS)
IRJET- Deep Web Searching (DWS)
 
Open Source Software: Perspectives for Development (World Bank & Paul Dravis)
Open Source Software: Perspectives for Development (World Bank & Paul Dravis)Open Source Software: Perspectives for Development (World Bank & Paul Dravis)
Open Source Software: Perspectives for Development (World Bank & Paul Dravis)
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
An Exploratory Study of Usability Practice from User-Centered Design View: M...
An Exploratory Study of Usability Practice from  User-Centered Design View: M...An Exploratory Study of Usability Practice from  User-Centered Design View: M...
An Exploratory Study of Usability Practice from User-Centered Design View: M...
 

Andere mochten auch

Software Engineering Risk Management Software Application
Software Engineering Risk Management   Software ApplicationSoftware Engineering Risk Management   Software Application
Software Engineering Risk Management Software Applicationguestfea9c55
 
Peephole optimization techniques in compiler design
Peephole optimization techniques in compiler designPeephole optimization techniques in compiler design
Peephole optimization techniques in compiler designAnul Chaudhary
 

Andere mochten auch (6)

Nato1968
Nato1968Nato1968
Nato1968
 
Ch1
Ch1Ch1
Ch1
 
03
0303
03
 
14 Kotel
14 Kotel14 Kotel
14 Kotel
 
Software Engineering Risk Management Software Application
Software Engineering Risk Management   Software ApplicationSoftware Engineering Risk Management   Software Application
Software Engineering Risk Management Software Application
 
Peephole optimization techniques in compiler design
Peephole optimization techniques in compiler designPeephole optimization techniques in compiler design
Peephole optimization techniques in compiler design
 

Ähnlich wie Asundi

Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...
Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...
Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...ijseajournal
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsBetsey Merkel
 
Open source software vs proprietary software
Open source software vs proprietary softwareOpen source software vs proprietary software
Open source software vs proprietary softwareLavan1997
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patentIAEME Publication
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patentiaemedu
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSacijjournal
 
From requirements to ready to run
From requirements to ready to runFrom requirements to ready to run
From requirements to ready to runijfcstjournal
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...hani727151
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksDimitris Panagiotou
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)inventionjournals
 
A Web-Based Project Management System
A Web-Based Project Management SystemA Web-Based Project Management System
A Web-Based Project Management SystemLori Moore
 
Guia 2-examen-de-ingles
Guia 2-examen-de-inglesGuia 2-examen-de-ingles
Guia 2-examen-de-inglesLiz Castro B
 

Ähnlich wie Asundi (20)

Fc25949950
Fc25949950Fc25949950
Fc25949950
 
Learning activity 4
Learning activity 4Learning activity 4
Learning activity 4
 
Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...
Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...
Quantitative And Qualitative Evaluation Of F/Oss Volunteer Participation In D...
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS Projects
 
Open source software vs proprietary software
Open source software vs proprietary softwareOpen source software vs proprietary software
Open source software vs proprietary software
 
Unit1
Unit1Unit1
Unit1
 
Analysis Report
 Analysis Report  Analysis Report
Analysis Report
 
Lopez
LopezLopez
Lopez
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patent
 
Pattern based software patent
Pattern based software patentPattern based software patent
Pattern based software patent
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
 
From requirements to ready to run
From requirements to ready to runFrom requirements to ready to run
From requirements to ready to run
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Open source software
Open source software Open source software
Open source software
 
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasks
 
oXabcaARRAAKALSL.docx
oXabcaARRAAKALSL.docxoXabcaARRAAKALSL.docx
oXabcaARRAAKALSL.docx
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)
 
A Web-Based Project Management System
A Web-Based Project Management SystemA Web-Based Project Management System
A Web-Based Project Management System
 
Guia 2-examen-de-ingles
Guia 2-examen-de-inglesGuia 2-examen-de-ingles
Guia 2-examen-de-ingles
 

Asundi

  • 1. Software Engineering Lessons from Open Source Projects Position Paper for the 1st Workshop on Open Source Software, ICSE-2001 Jai Asundi Department of Engineering and Public Policy Carnegie Mellon University asundi@andrew.cmu.edu Abstract enhancements to the software were done by the top 15 peo- ple[8]. These top 15 are more or less the members of the The Open Source form of software development has core-group. The numbers are not very different for other OS captured the attention of academics and software practitio- projects[4]. We can thus see the parallels for a commercial ners alike. Though, this ‘phenomenon’ has been touted by project where the core design team would be expected to do some to be how all software will eventually be developed, most of the changes. What we can learn further is how the many are critical about how far this form of organization various tasks are distributed amongst this team. Since OS will be successful. It is very likely that both the traditional projects are self formed and responsibilities are assumed form as well as the Open Source form of organization for rather than assigned, based on patch submit patterns we can software projects may co-exist. The position taken in this infer about how developers like to perceive their roles in a paper is that commercial projects can learn important les- software project. Mirroring this structure in a commercial sons from Open Source projects. This paper tries to capture project could lead to better management of the product. the elements of Open Source projects that can be applied to Informal Communication traditional commercial projects and the means by which Studies in distributed software development have shown further information can be gathered. that informal communication amongst personnel is vital for the coordination of the effort[6]. A glance at the mail 1. Introduction and Overview archives for various OS projects shows us that there is extensive informal communication between the lead-devel- Open Source(OS) software has captured the attention of opers, other developers and users. Some projects also run the entire software community. Many perceive it to be a chat sites once a week to discuss issues. This in spite of the movement against a common enemy (read Microsoft and fact that the developers are from differing cultures and in other large software houses). However, the real battle is for different time zones. Commercial projects could increase the increasing need for high quality and reliable software in their level interaction amongst the developers (either collo- spite of the increasing complexity of the applications. cated or distributed) by setting up discussion boards and run Though it is highly unlikely that the OS form of software chat sites to discuss technical issues so that there is no con- development will completely replace the traditional com- fusion regarding accents or tone of voice. Also, other inter- mercial software development practice, there are important ested developers could “tune-in”, thus reducing the lessons that can be borrowed and applied from each other. confusion due to learning about issues second hand or through a much delayed, formally stated memo. Very little systematic work has been done to analyze and measure the OS form of software development. There are Improved customer support case-studies explaining the software architecture of OS Many users of software products will agree that most products[2][5] and how architecture recovery can be commercial software organizations fail miserably when it applied[3]. In terms of studying the organization of OS comes to supporting their software product. A study[7] projects preliminary work [1][8] has shown how publicly shows that OS projects has a good record with user support available archived information can be used to study and test due to a larger number of people willing to offer informa- hypotheses in OS projects. tion about the product. A large fraction of the responses seem to be simple and easily answered - done usually by a In this paper I shall try to highlight the important lessons very small fraction of people. Thus, the lesson for commer- that can be gathered from OS projects that could have inter- cial projects is that increased user-user as well as user- esting implications for commercial projects. developer interaction could lead to improved support as well as better and more meaningful bug reports. 2. Lessons from Open Source projects Organization of personnel The Apache project1 has shown us that 85% of the 1.http://www.apache.org/
  • 2. 3. Differences from Commercial Projects 5. References There are a number of acknowledged differences [1] John Bley and Ashish Arora, How Many Eyeballs Are between OS projects and commercial projects that make the Enough?: Peer Review in Open Source Development, two difficult to compare. Workstudy Report, Carnegie Mellon University, 2000. Existing code with design completed [2] Ivan Bowman, Richard Holt and Neil Brewster, Linux Typically, most OS projects begin with a piece of code as a Case Study: Its Extracted Software Architecture, ICSE and an already working piece of software. The design is '99: International Conference on Software Engineering, Los more or less frozen and only under unique circumstances is Angeles, May 1999. the design redone or revisited. [3] Ivan Bowman and Richard Holt, Software Architecture Recovery Using Conway's Law, Proc. of CASCON'98, Design is done by single person or two collocated persons December 1998, pages 123-133. In commercial projects, the design is usually done by a group of people and in some cases people who are not even [4] Rishab Ghosh and Vipul Prakash, The Orbiten Free at the same location. This leads to larger problems of coor- Software Survey:May 2000, http://www.orbiten.org/,ofss/ dination at the most important phase of the development 01.html, (accessed March 10th, 2001). cycle. [5] Ahmed E. Hassan and Richard C. Holt, A Reference Architecture for Web Servers, WCRE 2000: Working Con- 4. Conclusions and Future Work ference on Reverse Engineering, Brisbane, Australia, Nov 6, 2000. In spite of the difference in organization of OS projects, [6] James Herbsleb and Rebecca Grinter, Splitting the important lessons can be borrowed and applied to commer- Organization and Integrating the Code: Conway’s Law cial software projects. The mailing list archives contain Revisited, Proceeding of the 21st International Conference important information that can be culled to benefit tradi- on Software Engineering, 1999, Los Angeles, CA, 1999 tional software projects. Improved communication channels [7] Karim Lakhani and Eric von Hippel, How Open Source and methods of increasing interaction between developers software works: “Free” user-to-user assistance, MIT Sloan- and users are few of the preliminary lessons that can be bor- School of Management Working Paper #4117, May, 2000 rowed from OS projects. The next step would be gaining information for the identification of personnel for various [8] Audris Mockus, Roy Fielding and James Herbsleb, A responsibilities, allocation of tasks and structuring a soft- Case Study of Open Source Software Development: The ware project. Apache Server, Proceedings of the 22nd International Con- ference on Software Engineering, 2000, Limerick, Ireland, Other future work will include the use of the mail June 2000 archives to test various hypotheses in OS projects. This would include a study of the code review process as well as further analysis of the “many eyeballs” hypothesis.