• No results found

OHJ-1860 Software Systems Seminar: Global Software Development. Open-source software development By Antti Rasmus

N/A
N/A
Protected

Academic year: 2021

Share "OHJ-1860 Software Systems Seminar: Global Software Development. Open-source software development By Antti Rasmus"

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

OHJ-1860 Software Systems Seminar:

Global Software Development Global Software Development Open-source software development

11.12.2007

By Antti Rasmus

(2)

Outline

• Open-source software (OSS) development

• Motivation: IDC study on open source in global software

• Case GNOME

• Architecture

• Architecture

• Organization

• Communication

• Case Apache

(3)

Open-Source Software

• Open-source software (OSS) is built by potentially large number of voluntary people

• “a great babbling bazaar of differing agendas and approaches”

–E. Raymond [1]

• There are supporting companies and paid developers as well

• Extreme case of globally distributed development

• Developer roles are not clearly defined or tasks aren't assigned

• Developers in arbitrary locations - rarely or never meet face to face

• Communication by means of mailing lists, forums, IRC, IM

• Lacks coordination: no plans, system-level design, schedules or defined processes? [2]

• However, software development management systems

• GNU Savannah, SourceForge, BountySource

• continues..

(4)

Open-Source Software

• Extreme case of globally distributed development

• Unknown people

• Multiple cultures and languages

• “Because open source works in a distributed environment, it presents an opportunity for developing countries to participate in frontier innovation” [3]

in frontier innovation” [3]

• Political differences

• Competition between developers

• Volunteers and company paid developers

• Despite of the bazaar nature, still high quality software!

• Apache, Linux kernel, GCC, Mozilla, Perl, GNOME,...

• Open-source ideology works great in distributed environment

• However, challenge for companies to fully exploit

• Different drivers, processes, licenses => Isolate OSS! [4]

(5)

IDC study on open-source in GSD

• IDC is global market intelligence firm

• Open Source in Global Software: Market Impact, Disruption, and Business Models, July 2006 [5]

• Surveyed 5,000 developers in 116 countries

• Conclusions

• Conclusions

• OSS is “the most significant all-encompassing and long-term trend that the software industry has seen since the early

1980s."

• OSS "play a role in the life-cycle of every major software

category, and will fundamentally change the value proposition of packaged software for customers."

• OSS is being used by 71 percents of developers worldwide

• OSS is "in production" at 54 percent of the surveyed

developers' organizations

(6)

Case GNOME

• Based on GNOME, a case of open source global software development by Daniel German, 2003 [6]

• GNOME project was founded in 1996

• In 2003, 500 developers around the world, 2+ MLOCs

• Infrastructure

• Infrastructure

• GNU toolkit (gcc, make, emacs, etc.)

• CVS

• Bugzilla

• GNU Mailman

• Unix as development platform

(7)

Case GNOME - Requirement sources

• Vision:

• “GNOME should be completely free software”

• "free as in free speech" not "free as in free beer” -Free Software Foundation

• Reference applications:

• Reference applications:

• “GNOME should have most if not the same functionality as these reference applications”

• MS Excel, gv, Outlook, Lotus Notes

• Asserted requirements

• Requirements gathered from general discussion on mailing lists, not necessarily from particular requirement analysis

• A prototype

• New feature ideas are frequently proposed in a form of a

implemented prototypes. The rest decides whether to adapt it

or not

(8)

Case GNOME - Architecture

• Big project is divided into manageable modules

• Four main groups of modules

• Libraries (19 modules)

• Core applications (4)

• Applications (16)

• Applications (16)

• Other (several dozens)

• At least one maintainer per module

• Oversees the development

• Coordinates and integrates the contributions of other developers

• If a module grows too big, it is broken into submodules

• Evolution (mail client) is broken into more than 20 modules

• UI, mail libraries, filter, importers, documentation, translation,...

(9)

Case GNOME - Module maintainer

• Module maintainers serve the roles of leaders

• provide vision

• divide their module into tasks

• attract developers to the project

• keep the project together and prevent forking

• keep the project together and prevent forking

• The success of OSS project depends on the ability of its maintainers to divide it into parts which are small enough and independent, so that

• developers do not have to communicate

• developers' work has minimal impact to work of others

(10)

Case GNOME - The paid employees

• Several companies involved

• RedHat, Sun Microsystems, Ximian

• Paid employees are usually responsible for project design and coordination, testing, documentation and bug-fixing

bug-fixing

• Usually less attractive to volunteers

• Companies make sure that development continues at a steady pace

• “In the case of Evolution, the top 10 contributors (which account for almost 70% of the CVS commits) are all Ximian employees.”

• Volunteers still play very important role

• maintainers, contributors, bug hunters, documenters, beta testers, etc.

• internationalization is only done by volunteers in GNOME

(11)

Case GNOME - Foundation

• In 2000, the GNOME Foundation was instituted

• Four entities

• members (any contributor)

• board of directors (11 democratically selected people)

• advisory board (non-profit organizations and companies)

• advisory board (non-profit organizations and companies)

• executive director

• Committees

• consist of volunteer developers

• for organizing conference, web site updating, system administration of GNOME machines, maintaining the membership list of the Foundation, etc.

• Release teams

• schedules module releases

• keeps track overall development of the project

(12)

Case GNOME - Communication

• Developers are distributed around the world

• Mailing lists for different purposes

• end users, particular modules, announcements

• is where the decision making happens

• IRC

• IRC

• informal discussion without agenda

• Web sites

• lots of information for contributors

• GUADEC, the GNOME conference

• discussion, interaction and training

• GNOME summaries

• Posted to a mailing list in every two weeks

• news, most active modules and developers, numbers of bugs

(13)

Case Apache (in 2002)

• Apache is the most widely deployed web server [2]

• Almost 400 people contributed code

• CVS commits managed by Apache Group

• Apache Group started with 8 members in 1995

• In 2002, 25 members in AG

• In 2002, 25 members in AG

• used exclusively mailing lists to communicate, and a minimal voting system

• A bug reporting system and a newsgroup that anyone could use were lower priority communication channels

• One AG member volunteers to be a release manager

• identifies critical problems preventing the release

• coordinates fixes and declares a version stable

(14)

References

• [1]The Cathedral and the Bazaar

• E.S. Raymond, http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral- bazaar/

• [2] Two Case Studies of Open Source Software Development: Apache and Mozilla

• A. Mockus et al., ACM Transactions on Software Engineering and Methodology, Vol. 11, No. 3, July 2002, pp 309–346.

• [3] Open-Source Software Development and Distributed Innovation

• [3] Open-Source Software Development and Distributed Innovation

• B. Kogut, A. Metiu, Oxf Rev Econ Policy Vol. 17, No. 2, June 2001, pp. 248-264

• [4] Global software development

• R Granat, Software Platforms, Nokia, August 2007

• Online http://www.jyu.fi/it/laitokset/cs/en/infwest/global_swd

• [5] Open Source in Global Software: Market Impact, Disruption, and Business Models

• Anthony C. Picardi, et al., July 2006

• Summarized on Linuxdevices.com

• (http://www.linuxdevices.com/news/NS8982719739.html)

• [6] The GNOME project: a case study of open source, global software development, Daniel M. German

References

Related documents

Boston Urban Youth Foundation’s Building Futures Educational Initiative addresses the issue of violence through early prevention strategies for youth most at risk of future

Based on the difference between the students’ pre-test and post-test scores in the Object Rotation Test and the Perspective Taking Test, it was concluded that a dynamic,

If the phone system provides a contact closure for night ring, connect a pair of wires from this closure to the NIGHT.. CONTACTS

the President for a period of three years with possibility of reappointment once Appointment of the Commis- sioner Appointment by the Board for a period of three years

Adverse experience information for Astelin Nasal Spray is derived from six placebo- and active- controlled, 2-day to 8-week clinical trials which included 391 patients, 12 years of

I believe this research study has implications for social change within the local school district that may include recommendations for urban high school principals regarding

This corporeal engagement, we argue, must interact with what has been ‘learned by the body’, as this knowing “is not something that one has, like knowledge that can be brandished,

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and