270 likes | 424 Views
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
E N D
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.
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 http://www.opensource.org
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.
Natural Product Evolution Source: [Madey, Freeh, and Tynan 2002].
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.
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 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.