evolution patterns of open-source software systems and communications
DESCRIPTION
Evolution Patterns of Open-Source Software Systems and Communications. Review Report By Haroon Malik. ABSTRACT. Open Source software (OOS) development a “natural product evolution” approach. Case Study of four typical OSS projects - PowerPoint PPT PresentationTRANSCRIPT
Evolution Patterns of Open-Source Software Systems and
Communications
Review Report
By
Haroon Malik
ABSTRACT Open Source software (OOS) development a “natural
product evolution” approach. Case Study of four typical OSS projects Border Prospective: Evolution of OOS systems and its
associated communities. Proposed three types of OSS classification
Exploration-oriented, Utility-Oriented & Service-Oriented.
http://www.opensource.org
Open Source software Free Redistribution Source Code Derived Works Integrity of The Author’s Source Code No Discrimination Against Persons or Groups No Discrimination Against Fields of Endeavor License Must Not Be Specific to a Product
New Dimension Previous studies:
The growth of size. Decay of architecture and design & Change of defect density.
Current Approach: Evolution of OSS along with its respective
community.
Source: [Madey, Freeh, and Tynan 2002].
Natural Product Evolution
APPROACH Started in January 2001 by SRA to Conducted a
survey on current status of OSS Four local project were studied
GNUwingut Project Linux Support project. SRA-PostgresSQL project Jun project
The GNUWingut Project GNU project: Develops free UNIX operating
System GNUWingut project: Helps client import GNU
software programs on to particular hardware platform
Richard Stallman: “Scientific knowledge to be shared among mankind”.
The GNUWingut Project (Cont’d) Centralized Control Develop Patches Helps client to refine patch and report them to
GNU core team development Strict adhere to GNU guidelines Acts as intermediate in couture barrier.
The Linux Support Project Supports Linux bazaar style with decentralized
control. Identify and solve problem in course of using
Linux. Apply fix to existing source code Do not contribute to the community
The SRA-PostgreSQL Project Originally Developed as Research
Prototype. Internationalization Bug fixes and patches
The JUN Project Distribution of Jun Library Deals with the software that has been
developed in house Contribution is from small group Strictly managed by single project leader
Psychiatry General framework is required to
manipulate the nature of evaluation in OSS project.
The frame work should address roles of OSS community members
The frame work should be able to depict the OSS community structure.
Roles of Community Members
Community Structure No direct association of community member
roles with social attributes Balanced composition of roles Unique community structure is determined by
the nature and the its member population
Four OSS (Roles and structure of communities)
GNU Systems Project Leader
Helped by Core members. Makes Most decisions.
Active Developer Trusted by project leader. Contribute own code, Improve peripheral
developers code and are bug fixer.
Four OSS (Roles and structure of communities) (Cont’d)
Recommend code to Project leader Large numbers Readers exists in GNU
community They also acts as passive users.
Linux One project leader (Linus Torvalds) Few core members responsible for development
of subsystem
Four OSS (Roles and structure of communities) (Cont’d)
Many Active developers. Huge volume of passive user.
PostgreSQL No single project leader. Six core members. 30 Active developers (major development team). Inclusion of new features require voting by core
members.
Four OSS (Roles and structure of communities) (Cont’d)
Community members are mostly passive users and Bug Reporter.
Few Readers and extremely low volume of Bug Fixer.
Leader of SRA PostgreSQL project is Active Developer.
Other SRA members work as Peripheral Developers.
Four OSS (Roles and structure of communities) (Cont’d)
JUN Project leader: SRA employee Many other employee work as Core Members. Few Bug Reporters exists in community Most members are passive user with exception
of few as readers
Evolution of Systems
Evolution of Communities Evolution of an OSS community is brought by
the role changes of its members. Evolution of OSS community is determined by
two factors: Existence of motivated members & Social Mechanism of the community
Classification of OSS Projects Exploration-oriented OSS
GNU and JUN falls in to this category. Quality requirement of this class is very high Once, released becomes learning source for
thousands. Must be developed and maintained by expert
programmers such as project leaders. Community members mostly collaborate with leader
as reviews and testers
Classification of OSS Projects (Cont’d)
Utility-Oriented OSS Linux falls in to this classification (excluding Linux
kernel). Consists of many relative independent programs. Mostly developed from scratch. Mostly targeted to solve individual or small group
needs. Evolution pattern is tournament style.
Classification of OSS Projects (Cont’d)
Service-Oriented OSS PostgreSQL marks this class. Population of stakeholders is much larger then that of
Community. Conservative against evolutionary and rapid
changes. Changes are made in council style.
Classification of OSS Projects (Cont’d)
Evolution Pattern of OSS projects
Thank You.