27
Evolution Patterns of Open- Source Software Systems and Communications Review Report By Haroon Malik

Evolution Patterns of Open-Source Software Systems and Communications Review Report By Haroon Malik

Embed Size (px)

Citation preview

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.