Taxonomy for Open Source Software Development

footmouthData Management

Dec 16, 2012 (4 years and 8 months ago)

211 views

9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Taxonomy for
Open Source Software Development
Case Studies on Open Source Software Development Projects at SRA Inc.
Kumiyo Nakakoji
Yoshiyuki Nishinaka
Kouichi Kishida
Yasuhiro Yamamoto
SRA Key Technology Laboratory, Inc.
Nara Institute of Science and Technology
2
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Outline
1.Open Source Software Development
– the labeling problem
2.Case Studies
• Wingnut
• PostgreSQL
• Linux
• Jun
3.Comparisons
4.Future Issues in Support of Open Source
3
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Open Source Software
• a software program that has its source code open
– usually under some licensing
• GNU
• OSI
• BSD
• no rigid definition exists
• overloaded meanings
4
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Is Open-source Really a Good Thing?
• the cathedral and the bazaar
• arguments around …
– security
– evolvability
– robustness
– quality
– community development
• no “winners” yet because …
5
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
What Are They Talking About?
• “Open source” may mean very different things
– e.g. GNU software versus Linux driver software
6
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
The Labeling Problem
• People refer to very different things by calling a variety of
software all “open source.”
• We need a better taxonomy for describing, promoting, and
assessing open source software development projects.
7
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
A Case Study at SRA, Inc.
• SRA has been a leading company in open source
community in Japan.
• A case study comparing four projects:
(funded by JST, METI, Spring 2001)
– GNUWingnut
– PostgreSQL
– Linux support
– Jun
• Comparisons, Models, Suggestions
8
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
1. The GNU Wingnut Project
• GNU (GNU is Not Unix)
• Richard Stallman at FSF (Free Software Foundation)
• programs as “scientific knowledge to be shared among
mankind”
• the “correct” program for a piece of functionality
• centralized control
• strict coding rules, format guidelines, etc.
• business opportunities:
– porting
– revision and refinement of feedback to the central
authority
9
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
2. The PostgreSQL
• originally a research prototype
• database
• strict centralized control
• discussions over a specification (not necessarily on code)
• source is kept open so that people can more quickly find
what is wrong in the source.
• business opportunity:
– customization and adaptation
10
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
3. The Linux Support Project
• Linux excluding the kernel development
• “Bazaar” --- distributed control
• multiple versions for a single functionality
• no centralized repository
– put on the Web and Web search engines may find it
• directory services are necessary
• business opportunities
– distribution-packaging
– find up-to-date information over information seeds
scattered all over the world.
11
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
4. The Jun Project
• VisualWorks Smalltalk application library component
centralized decision making
• continuous evolution
• reference model
• business opportunities:
– application development
– consultation
12
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Evolution of Jun (1)
0
100
200
300
400
500
600
700
800
10/29/96
12/27/96
1/23/97
3/4/97
5/12/97
5/28/97
8/13/97
9/24/97
10/24/97
11/9/97
12/15/97
1/30/98
5/6/98
7/27/98
9/29/98
1/20/99
4/2/99
9/9/99
12/27/99
2/17/00
6/26/00
0
2000
4000
6000
8000
10000
12000
14000
16000
# of classes
# of class methods
# of instance methods
# of classes# of methods
13
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Evolution of Jun (2)
Smalltalk
C++
Java
(1) incremental growth (2) reference model development
time
time
Smalltalk Smalltalk
14
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Jun Evolution (3)
ontogenic
evolution
3D-Geometry
modeler
+ 3D-Topology
modeler
+ Multimedia handler
phylogenic
evolution
Version004
Version016
Version340
9/95: Jun was
released
8/96: Project
HQL started
7/99: Project
NSN started
Accommodating to needs
caused by large projects
Refactoring by the Jun
developers
Community contribution
(requests and bug reports)
Legend:
15
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Summary of the Comparisons
reference
model
controlledsomedesirablecentralappli.
library
Jun
timely
development
arbitrarymanynot
necessary
distributedOSLinux
fast fixes by
“many eyes”
vote for
spec
singlebug report
MUST
centraldatabasePostgre
SQL
reference
model
votesingleMUSTcentralGNU
software
GNU
Wingnut
motivation
decision
making
versionsfeedbackcontroldomain
16
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Community
core members
regular users
expert
developers
major
developers
Project
leader
team
members
core members
core members
regular users
regular users
regular users
GNU Wingnut
PostgreSQL
Linux
Jun
17
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Evolution
feedback
feedback
patch
patch
released
public
versions
test
versions
patch
patch
patch
incorporate
incorporate
GNU Wingnut
PostgreSQL
Linux
Jun
18
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Three Types Identified
• Archetype: as a reference model
– GNU software
– Jun
– for mankind
• Security-focused: for fast fixes
– PostgreSQL
– by many eyeballs
• Rapidity-focused: for timely development
– Linux (excl. kernel)
– by many hands
19
9, May, 2001
Nakakoji, K.L3D / NAIST / SRA-KTL WS@Aspen
Necessary Issues to Address
• support for documentation
• support for investigating software patent
– licensing requires to make sure that algorithms used
are not patented.
• code assessment by a third party
• SE technology on code manipulation
– code metrics, filtering, …
• learning program reading versus programming
• incentives for open source
– governmental support
– pride, feeling of participation, community, …