You are on page 1of 77

Adoption of Open Source Software in

the Software Industry


Runar Os Mathisen
runaros@stud.ntnu.no
Supervisor: Reidar Conradi
Co-advisor: yvind Hauge
Depth Study - Fall 2008
TDT4520 - Program- og informasjonssystemer
Department of Computer and Information
Science
Abstract
Open Source Software (OSS) has become important to the software industry. A survey discovered that
close to 50% of the Norwegian software industry uses Open Source [Hauge, 2007] and a study by the
European Commission shows that companies and individuals has contributed to a lot of value creation
in the form of OSS development [Ghosh, 2006].
This thesis intends to explore if there is a relation between OSS development tools and OSS components
and nd the adoption of OSS development tools and OSS components in the software industry. This is
done by performing a literature study and by executing telephone interviews. The telephone interviews
are conducted with a random sample of companies in the Norwegian software industry.
The research presented here suggests that there is no direct relation between usage of OSS develop-
ment tools and OSS components, but rather that the availability of OSS alternatives with the desired
functionality and the awareness of Open Source are determining factor in the adoption of both OSS
development tools and OSS components.
87.5% of the interviewed companies integrated OSS components into their software, but the degree of
usage is very small. 87.5% of the interviewed companies used one or more OSS development tools,
and in total 44% of the development tools (28 out of 64) were Open Source.
The main contributions of this thesis is six hypotheses concerning adoption of Open Source in the
software industry, possible explanations of these hypotheses, a basis for conducting future studies to
conrm these hypotheses and a list of OSS development tools used by the software industry. The stated
hypotheses are listed in the table below.
Number Hypothesis
H1 There is no direct relation between usage of Open Source Software de-
velopment tools and Open Source Software components.
H2 Functionality is the most important factor in choice of development
tools and software components.
H3 High availability of Open Source solutions leads to higher adoption of
Open Source.
H4 High awareness of Open Source solutions leads to higher adoption of
Open Source.
H5 The adoption of OSS components in the software industry is increasing.
H6 The extent of adoption of OSS components by the individual companies
in the software industry is very small.
Preface
This thesis investigates if there is a relation between usage of OSS development tools and OSS compo-
nents, and the adoption of OSS development tools and OSS components in the software industry. The
assignment for this thesis is given by the Department of Computer and Information Science (IDI) at the
Norwegian University of Technology and Science (NTNU).
I would like to thank my supervisors Professor Reidar Conradi and PhD Candidate yvind Hauge for
their support and advice, Professor Tor Stlhane for his advice on empirical methods and Associate
Professor Jingyue Li for his advice on Open Source. Last but not least, I would like to thank all of the
interviewees who took time to speak with me about Open Source.
Trondheim December 17, 2008
Runar Os Mathisen
i
ii
Contents
I Introduction 1
1 Introduction 3
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Research method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
II Prestudy 7
2 What is Open Source 9
2.1 Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Free Software Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Open Source Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Protective licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 Permissive licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Hybrid licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Open Source integration 13
3.1 Development tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1 Modelling Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.2 Code Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.3 Compilers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.4 Debuggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.5 Version Control Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.6 User Documentation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.7 Test Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.8 Build Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.9 Bugtrackers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.10 Support Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.11 Integrated Development Environments . . . . . . . . . . . . . . . . . . . . . . 15
3.1.12 Other Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Component-based software development . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.1 Benets of OSS components . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.2 Drawbacks of OSS components . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.3 Adoption of OSS components . . . . . . . . . . . . . . . . . . . . . . . . . . 17
iii
III Research 19
4 Research design 21
4.1 Research motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Research methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3 Population and Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.1 The Norwegian Software Industry . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.2 Stratication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.3 Response rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Interview design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
IV Results 27
5 Results 29
5.1 Data foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Company A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.2 Company B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.3 Company C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.4 Company D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.5 Company E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.6 Company F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.7 Company G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.8 Company H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Relation between OSS tool usage and OSS component usage . . . . . . . . . . . . . . 31
5.2.1 Factors inuencing adoption of Open Source . . . . . . . . . . . . . . . . . . 32
5.2.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Adoption of OSS Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3.1 Tool usage by tool category and company . . . . . . . . . . . . . . . . . . . . 33
5.3.2 Important factors in development tool choice . . . . . . . . . . . . . . . . . . 33
5.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 Adoption of OSS Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4.1 Important factors in component choice . . . . . . . . . . . . . . . . . . . . . . 36
5.4.2 OSS components vs. proprietary components . . . . . . . . . . . . . . . . . . 36
5.4.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5.1 Tool categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6 Conclusions 41
6.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2 Limitations and validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bibliography 42
V Appendices 45
A Mapping from research to interview 47
B Interview data 49
iv
C Tool usage by company 51
D Development Tool Titles 55
E Interview Form 57
v
vi
List of Tables
1.1 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Hypotheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 The Four Freedoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1 Distribution of companies in the data set . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Distribution of active companies over size, Fourth quarter 2008 . . . . . . . . . . . . . 24
4.3 Strata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Interview parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1 Categories the different companies were selected from . . . . . . . . . . . . . . . . . 30
5.2 Degree of OSS development tool usage by number of companies in the different tool
categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Number of tool categories with the given degree of OSS development tool usage by the
different companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 Open Source development tools used in the Norwegian software industry . . . . . . . 40
6.1 Hypotheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
A.1 Mapping from research questions to interview questions . . . . . . . . . . . . . . . . 47
B.1 Interview data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
C.1 Integrated Development Environments used by companies . . . . . . . . . . . . . . . 51
C.2 Modelling Tools used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
C.3 Code Editors used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
C.4 Compilers used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
C.5 Debuggers used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
C.6 Version Control Systems used by companies . . . . . . . . . . . . . . . . . . . . . . . 52
C.7 User Documentation Tools used by companies . . . . . . . . . . . . . . . . . . . . . . 53
C.8 Test Tools used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
C.9 Build Tools used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
C.10 Bugtrackers used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
C.11 Support Tools used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
C.12 Other Tools used by companies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
D.1 Development Tool Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
vii
viii
List of Figures
4.1 Research methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
ix
x
Part I
Introduction
1
Chapter 1
Introduction
1.1 Background
Open Source Software (OSS) has become important to the software industry. There is a multitude
of OSS tools and OSS components on the Internet, and several studies conclude that the adoption
of Open Source Software in the software industry is signicant [Hauge, 2008][Mindel et al., 2007].
This is interesting because there is a great potential in Open Source [Ghosh, 2006], but there is little
empirical research around usage of Open Source ([Hauge, 2007], [Morgan and Finnegan, 2007] and
[West and OMahony, 2005]).
There are two main ways that Open Source Software can be used in the software industry. Software
companies can use OSS development tools for creating software and integrate OSS components into
their software. But what inuences the adoption rate of Open Source in the software industry, and at
what extent has the software industry adopted Open Source? This thesis investigates if there is a relation
between usage of OSS development tools and OSS components, and the adoption of OSS development
tools and OSS components in the software industry, which leads to the research questions of this thesis
that are presented in table 1.1.
Number Research Question
RQ1 Does the use of OSS development tools increase the use of OSS com-
ponents in software development or vice versa?
RQ2 How extensive is the adoption of Open Source Software development
tools in the software industry?
RQ3 How extensive is the adoption of Open Source Software components in
the software industry?
RQ4 Which Open Source Software development tools are used by the soft-
ware industry?
Table 1.1: Research Questions
3
4 1. Introduction
1.2 Research method
The way this thesis investigates the research questions is by rst performing in-person preinterviews
with developers from software companies selected by convenience, and then choosing a random sample
of eight Norwegian software companies in which telephone interviews were conducted. All intervie-
wees were also followed up on email to get verication of the interview notes taken and answer to
follow up questions. The results were then found based on the research questions and the interview
data.
1.3 Contributions
The main contributions of this study is six hypotheses concerning adoption of Open Source in the soft-
ware industry listed in table 1.2, which form a basis to conduct a further and more extensive study.
Other contributions are a literature study (part II), a discussion around factors inuencing the adoption
of Open Source (see section 5.2.1, section 5.3.2 and section 5.4.1) and a list of Open Source develop-
ment tools used by the software industry (see table 5.4).
Number Hypothesis
H1 There is no direct relation between usage of Open Source Software de-
velopment tools and Open Source Software components.
H2 Functionality is the most important factor in choice of development
tools and software components.
H3 High availability of Open Source solutions leads to higher adoption of
Open Source.
H4 High awareness of Open Source solutions leads to higher adoption of
Open Source.
H5 The adoption of OSS components in the software industry is increasing.
H6 The extent of adoption of OSS components by the individual companies
in the software industry is very small.
Table 1.2: Hypotheses
1.4 Content
This thesis consists of ve parts. Part I consists of this introduction.
Part II consists of a prestudy. Chapter 2 presents the denitions of Free Software and Open Source
with a discussion of the many terms used to describe Open Source Software, and describe some of the
common classes of Open Source licenses. Chapter 3 presents how the software industry uses OSS by
using development tools and integrating OSS components into their products and services.
Part III presents the research design. Section 4.1 presents the motivation of the thesis and the stated
research questions. Section 4.2 discusses possible research methodologies and presents the chosen re-
search method. Section 4.3 presents the Norwegian software industry as the population for the study
together with the stratication of it, while section 4.4 gives insight into the design process of the inter-
view form.
Adoption of Open Source Software in the Software Industry
1.4. Content 5
Part IV presents the results of the study. Chapter 5 describe the data foundation of the study together
with proles of the interviewed companies. This is followed by the ndings for each of the four research
questions in separate sections, each section with a presentation of the results together with a discussion
of the results and stated hypotheses. Chapter 6 gives the conclusions of the thesis, together with a
discussion of the limitations and validity of the results, and proposed future research.
Part Vcontains all the appendices for the thesis; a mapping from the interview questions to the research
questions, a table with the data extracted fromthe interviews, tables describing the specic development
tools used by the interviewed companies according to tool category, a list of all development tools used
by any of the companies and the interview form used during the interviews.
Runar Os Mathisen
6 1. Introduction
Adoption of Open Source Software in the Software Industry
Part II
Prestudy
7
Chapter 2
What is Open Source
2.1 Denition
A simplied denition of Open Source is that it is software that you have the freedom to use, study,
modify and redistribute. That is however very simplied, and there are in fact two formal denitions
that is used by two separate organizations. It is the Free Software Denition by the Free Software
Foundation (FSF) and the Open Source Denition by the Open Source Initiative (OSI).
2.1.1 Free Software Denition
The history of free software starts when Richard Stallman at MIT Articial Intelligence Lab wanted the
source code for the control program of the printer they were using because the lack of certain features
made the usage of the printer extremely frustrating [Stallman, 2008]. Stallman went on to write the
GNU Manifest and launched the GNU Project, and he coined the four freedoms that denes what free
software is [Free Software Foundation, 2008a] (see table 2.1).
Freedom Description
Freedom 0 The freedom to run the program for any purpose.
Freedom 1 The freedom to study and modify the program. Access to the source
code is a precondition for this.
Freedom 2 The freedom to copy the program so you can help your neighbor.
Freedom 3 The freedom to improve the program, and release your improvements to
the public, so that the whole community benets. Access to the source
code is a precondition for this.
Table 2.1: The Four Freedoms
2.1.2 Open Source Denition
Following the announcement that Netscape planned to release the source code of Netscape Navigator as
free software, many people wanted a more pragmatic viewon free software [Open Source Initiative, 2008a].
The term Open Source was invented to appear more pleasing to the corporate world. Shortly after OSI
9
10 2. What is Open Source
was founded, and the organization created the Open Source Denition. The denition lists ten re-
quirements software must adhere to in order to call itself Open Source [Open Source Initiative, 2008b].
It consists of requirements about not discriminating against persons, groups, elds of endeavor and
technology in addition to requirements that is covered by the four freedoms dened by FSF.
2.1.3 Terms
The rst denition speaks of Free Software, and the latter denition speaks of Open Source Software.
The distinction between these two is rather small though, and most software that is Free Software is
also Open Source Software and vice versa. Both denitions describe software with similar development
models, the main difference lies in the differing cultures and philosophies.
There has therefore been some attempts at creating a common term that both organizations can ac-
knowledge. One is Free and Open Source Software (FOSS or F/OSS) or the variant Open Source
Software/Free Software (OSS/FS). A third alternative is Free/Libre/Open Source Software (FLOSS).
The latter is preferred by many as it emphasizes freedom (libre is Spanish for freedom or liberty
[Wikipedia, 2008a]) rather than free as in free of charge. In mainstream media and amongst regular
people the terms Open Source Software (OSS) or simply just Open Source (OS) seems most common.
Free Software (FS) is also used, but mostly within the community around FSF.
This thesis does not distinguish between Free Software and Open Source Software as the practical
differences is few and small. However, since existing literature uses all of the above mentioned terms
quite interchangeably, this thesis is also colored by this. Whenever the terms Open Source, Open Source
Software, Free Software, Free and Open Source Software and Free/Libre/Open Source Software is used
in this thesis it should be interpreted as FLOSS unless otherwise specied.
2.2 Licenses
A software license grants the user rights to use and redistribute the software. In the Open Source world
there are fundamentally two types of licenses, the protective licenses and the permissive licenses.
2.2.1 Protective licenses
The protective licenses are those with a copyleft clause, meaning that any derivative works must be
released under the same license, thus ensuring that any derivatives are kept under a protective license
[Free Software Foundation, 2008d]. This means that one cannot take a software component licensed
with a protective license and use it in software licensed under a proprietary license.
The most popular of the protective licenses is the GNUGeneral Public License (GPL), which is the orig-
inal license written by Richard Stallman to enforce the four freedoms [Free Software Foundation, 2008b].
The GPL is the most popular of all open source licenses, used by nearly 60%of all Open Source projects
[Black Duck Software, 2008].
2.2.2 Permissive licenses
The permissive licenses dont have a copyleft clause, meaning that any derivative works easily can be
released under a different license. This means that software components released under a permissive
Adoption of Open Source Software in the Software Industry
2.2. Licenses 11
license can be used in software licensed under a proprietary license. This license is therefore ideal for
companies that want to use an Open Source component in their proprietary product.
The most popular permissive licenses are the BSD license [OSI, 2008a], the MIT license [OSI, 2008b]
and the Apache license [Apache Foundation, 2008], used by approximately 6%, 3% and 3% of all Open
Source projects.
2.2.3 Hybrid licenses
There also exist licenses which are hybrids of the protective and the permissive licenses. The most pop-
ular of these are the GNU Lesser General Public License (LPGL) [Free Software Foundation, 2008c],
used by approximately 10% of all Open Source projects. This license is quite similar to the GPL, the
difference is that while the license imposes a copyleft restriction on the software component with the
license itself, it doesnt do this for software which uses the component. This means that it is possible
for a company to use a component with the LGPL license in a proprietary product, given that the source
code of the component isnt modied and that the source code of the component is distributed with the
software.
Runar Os Mathisen
12 2. What is Open Source
Adoption of Open Source Software in the Software Industry
Chapter 3
Open Source integration
There is primarily two ways the software industry uses OSS. The rst is using development tools such
as integrated development environments, and the second is integrating Open Source components with
software products.
3.1 Development tools
It is said that a lot of the Open Source projects starts by scratching a programmers itch [Raymond, 1998].
Naturally, since most open source participants are developers, a lot have had itches concerning program-
ming and created their own development tools, many which has been open sourced. This doesnt only
concern individual developers, but also software companies. Several software companies create their
own development tools and then open source them. This includes popular tools such as the integrated
development environment Eclipse (open sourced by IBM Canada to increase exposure of the devel-
opment platform [Cernocek, 2005]) and the version control system Subversion (planned Open Source
project by CollabNet to replace the then current market leader CVS [Wikipedia, 2008b]).
The combined collaboration between individual developers and software companies have led there to
be Open Source tools for all phases of software development. Below are listed the most common
categories of software development tools, and some popular open source alternatives in each category.
3.1.1 Modelling Tools
Modelling tools and design tools can be used to create diagrams and data models of software systems
intended for the developers, for example use cases to describe the requirements of a system or UML
diagrams to describe the architecture of the system. Other uses include design of graphical user inter-
faces and creation of charts used for project management. Some modelling tools used today are Dia
and Use Case Maker, while some IDEs (see 3.1.11) have automatic creation of diagrams taken from
source code.
3.1.2 Code Editors
Code editors are perhaps the core tool used by developers to write source code. Although some stan-
dalone code editors exist, they are often used as an integrated part of an IDE (see 3.1.11). Standalone
13
14 3. Open Source integration
text editors span from simple editors like Notepad2 to more complex ones such as Emacs, vi and
Notepad++ which has richer features such as syntax highlighting, auto completion and automatic for-
matting.
3.1.3 Compilers
Compilers transform the source code on the form of textual data readable by human beings into binary
data readable (executable) by computers. Historically the GNU C Compiler (GCC) has been important,
it is now renamed to GNU Compiler Collection and supports many languages.
3.1.4 Debuggers
Debuggers are tools that makes it easier to nd bugs in software. The typical behaviour for a debugger
is that it allows a developer to dene breakpoints in the code where the execution of the software is
stopped and the developer can peek into the state of the program (which instructions has been executed
and the state of all variables). The GNU Debugger has been very popular, and in addition several open
source IDEs (see 3.1.11) integrate debuggers.
3.1.5 Version Control Systems
Version control systems (VCS) function as repositories for source code. Developers check out code
from a source code repository, and check in the changes afterwards. Code can be checked out and
worked on by several developers simultaneously, and if somebody tries to check in conicting changes
the VCS will automatically notify about this. The VCS will also maintain a revision history of all
changes and updates, and it is possible to rollback to an earlier edition if desired. At the moment
centralized version control systems like Subversion and CVS are the most used, but distributed version
control systems like Git and Mercurial seem to catch on as well.
3.1.6 User Documentation Tools
Documentation tools are tools that aids the creation of documentation of software. These tools range
from standard document editors such as OpenOfce.org, to tools for collaborative documentation on
the Internet such as wikis by using MediaWiki.
3.1.7 Test Tools
Test tools are tools that aids and automates testing of software. This could be by providing a framework
for writing unit tests, a framework for mocking objects (such as Internet and database connections) or
tools to automate the running of tests. Popular unit test frameworks include JUnit and NUnit, with
JMock and NMock being popular mocking frameworks.
3.1.8 Build Tools
Build tools are tools that automate many tasks in the building of the software. This includes tasks like
compiling the source code into binary data, packaging the binary data into executable applications, run-
Adoption of Open Source Software in the Software Industry
3.2. Component-based software development 15
ning tests, creating documentation and deploying of application to production environments. Typically
these tasks are written in a script le which enables the build process to be run as a one-click procedure.
Popular build tools include Apache Ant, Make and CruiceControl.
3.1.9 Bugtrackers
Bugtrackers are tools that makes it easy to register bugs and save them in a database. Having a central
database makes it easier to coordinate the process of xing errors by keeping tracks of known bugs and
resolved bugs, and the assignment of bugs to developers for xing. Some bug trackers also maintains a
list of requested features. Amongst the most common ones are Bugzilla and Trac.
3.1.10 Support Tools
Support tools help software companies giving support to customers. Primarily this is achieved by
registering support requests as tickets in the support tool, assigning the ticket to different persons that
might resolve the customers issues. These tools can also be integrated with bugtrackers. An open
source support tool osTicket and OTRS.
3.1.11 Integrated Development Environments
An Integrated Development Environment (IDE) tries to integrate several of the above mentioned tools
into one standalone tool. An IDEs primary function is being an advanced text editor for source
code, which includes syntax highlighting, automatic formatting and auto completion, while provid-
ing a overview of all entities in a software project. Other features of an IDE are the integration of
build tools, debugging tools and version control systems. In fact, pretty much every aspect of software
developing can be integrated into an IDE. The most popular Open Source IDE is probably Eclipse.
3.1.12 Other Tools
Several other tools might be used for software development as well. Some examples include FileZilla
for transferring les, Paint.NET for graphical design and 7-Zip for compressing.
3.2 Component-based software development
Component-based software development (CBSD) as a software development process is when software
developers incorporate software components, either commercial-off-the-shelf (COTS) components or
OSS components, in their own software. There are several benets to this approach. The main is that it
usually provides lower costs and a shorter development time, even when considering the time usage of
new tasks, such as searching for, reviewing and integrating the components.
3.2.1 Benets of OSS components
COTS components and OSS components share many of the same properties, but there are some dif-
ferences. The obvious point, and the one integrators put most emphasis on [Li et al., 2006], is the cost
Runar Os Mathisen
16 3. Open Source integration
perspective. The initial cost of obtaining a license to integrate an OSS component is non-existent,
making OSS components a cheaper option compared to COTS components. There are however several
other important benets to using OSS components.
Many of the benets of OSS components compared to COTS have to do with licensing. Licensing of
COTS components require a lot of negotiations. Nokia claims that their average in-licensing process
for a COTS component takes between 6-12 months [Jaaksi, 2007], and that licensing problems are
one of the most common reasons for missing features and delayed products. With OSS components
the license is immediately available. Another aspect of licensing concerns scaling. With many COTS
components the cost increases with the usage of the component (for example number of products sold
with the component integrated). With OSS components the cost is the same no matter the scale of the
use of the component [Madanmohan and De, 2004].
OSS components are usually easier to evaluate in advance than COTS components. This stem from
two facts. The rst is that the availability of source code enable potential integrators to inspect the
functionality, architecture and quality of the component before any decisions are made. The second
fact is that since the majority of OSS components have a non-existent initial cost it is easy to try out
the component and make prototypes in advance. Another benet is that an integrator can evaluate the
quality of code contributions to an open source project, which means that they can asses the quality of
developers before eventual hirings [Jaaksi, 2007].
OSS components also offer a great deal of exibility when problems need to be xed or functionality
need to be changed. For COTS components one is often at the grace of the component vendor, who
might have release plans that differ fromthe integrator. For OSS components the integrator might x the
bug themselves, or x the bug with the community behind the component in cooperation [Jaaksi, 2007].
The security perspective is also important. The transparency achieved by the extended peer review
obtained by the availability of source code increases condence that a component doesnt contain any
unexpected security vulnerabilities ([Cruz et al., 2006], [Perrin, 2006] and [Rufn and Ebert, 2004]),
or even intended malicious code.
A nal benet is that usage of OSS components decreases dependencies on proprietary vendors. If
a proprietary vendor should discontinue the development of a component (or simply just go out of
business) the integrator is left with a component with no possibilities to further development. With
an OSS component the availability of the source code ensures that the integrator can continue to use
the component. Additionally, if the integrator is a government there is the political benet of reducing
dependencies on foreign proprietary software [Mindel et al., 2007].
3.2.2 Drawbacks of OSS components
There are also some drawbacks of OSS components compared to COTS components. One is that OSS
components constantly evolve, and not always in the direction wanted by the integrator. This leads to
increased work in order to integrate upgraded versions of OSS components [Jaaksi, 2007]. With COTS
components one might have specic contracts which guide the further development of the components.
While it is possible to get support from OSS components, this support is often informal and without
guarantees. With an agreement with a COTS vendor it is usually easier to get support on short notice
by simply sending an email or calling the vendor [Di Giacomo, 2005].
There are also some legal aspects that favor COTS components. One is that the plethora of Open Source
licenses can be difcult to understand [Di Giacomo, 2005], and the licensor might le claims that the
production of a product is ended or a fee for the damages [Rufn and Ebert, 2004]. Additionally, some
integrators work with software where consequences of bugs in software are very high, such as in the
Adoption of Open Source Software in the Software Industry
3.2. Component-based software development 17
health sector. These integrators might want to use COTS components in which liability agreements
with the vendor can be established.
3.2.3 Adoption of OSS components
AFinnish survey state that amongst software companies in the South Karelia and Kymenlaakso provinces
around 50 percent either studied the possibility to utilize OSS in their business or had already done it to
some extent [Nikula and Jantunen, 2005]. A Norwegian study shows that near 47 percent of the Norwe-
gian software companies uses OSS components in the software development, and that these companies
employ 62 percent of the people in the software industry [Hauge, 2008]. The Malaysian government
has established that 60 percent of the web servers in the country should use OSS, and that the current
adoption of OSS is around 50 percent [Mindel et al., 2007]. All of these studies does however not focus
on the degree of usage in the organizations using OSS components, merely if or if not they use OSS
components.
Runar Os Mathisen
18 3. Open Source integration
Adoption of Open Source Software in the Software Industry
Part III
Research
19
Chapter 4
Research design
4.1 Research motivation
A study by the European Commission shows that companies and individuals has contributed to a lot of
value creation in the form of OSS development [Ghosh, 2006]. OSS is in other words a great resource
that can and should be utilized. Having increased research and empirical data might increase condence
in and promote usage of OSS.
This thesis wants to study the usage of Open Source Software development tools and usage of Open
Source Software components in the software industry. The main research goal is to investigate if there
is a relation between the usage of OSS development tools and the usage of OSS components, and what
inuences what. This leads to the rst research question of this thesis:
RQ1: Does the use of OSS development tools increase the use of OSS components in soft-
ware development or vice versa?
In order to investigate this question one must nd out how extensive the adoption of OSS development
tools and the adoption of OSS components is in the software industry.
Doing this has also has a merit on its own. If the usage of OSS development tools shows to be dominant
in the software industry this should be reected in the education for computer science students. This
doesnt only concern learning specic tools, but given that the general usage shows to be high it might
also be important learning an open source mindset. That is, how to search for and evaluate suiting
tools, and possible benets of using open standards. If the usage of OSS components is increasing
the educational system should put a bigger emphasis on component-based development and selection
processes for OSS components. This leads to the following research questions:
RQ2: How extensive is the adoption of Open Source Software development tools in the
software industry?
RQ3: How extensive is the adoption of Open Source Software components in the software
industry?
Another side effect of such an investigation is that it leads to a list of commonly used OSS development
tools. For users of development tools it is hard to nd and evaluate which development tools that might
be used in the organization. Having a list of which development tools are used by the software industry
might increase condence in these tools and improve the decision making process for potential users.
This gives research question four:
21
22 4. Research design
RQ4: Which Open Source Software development tools are used by the software industry?
4.2 Research methodology
There are several possibilities concerning howto answer the stated research questions. The rst possible
approach is to perform a survey of software companies using a simple questionnaire. The advantage of
using this method is that it provides vast numerical data to analyze. With closed questions and using
computer tools the collection and analysis of the data might also be less time consuming than other
methods. However, nding respondents and getting answers is a very time consuming process.
Another option is to choose some companies and perform personal interviews, either with one person
from each company, or with several persons from a single company. The advantages of this method is
that one is able to perform an in-depth analysis of the data, and there is a possibility to ask follow-up
questions to the interviewee. The biggest disadvantage is that data analysis can be very time consuming
and challenging, and that the sources for the data is fewer.
There are also several methods in between these two extremes, for instance one might choose to perform
short telephone interviews with a set of people a bit larger than what one would choose for in-depth
interviews. This option gives the possibility to collect data from more sources than personal interviews,
while at the same time nding respondents might not be as time consuming as with a questionnaire.
The research question stated as the main research question (see 4.1) wants to examine if there is a
relation between usage of Open Source development tools and Open Source components. While the
other three questions might have been best answered by a regular survey, this question is a rather
complex one, and a regular survey will probably not give a deep enough answer to it.
Figure 4.1: Research methodology
This thesis will therefore try to go more in-depth by performing interviews with developers in the soft-
ware industry. The rst step is to perform a prestudy which give a basis to perform some preinterviews
with developers selected by convenience. These preinterviews are conducted as in-person interviews
Adoption of Open Source Software in the Software Industry
4.3. Population and Sample 23
with a duration of around an hour with representatives from one company with some usage and one
company with less usage of OSS development tools and components.
The ndings from the preinterviews give a basis to shape an interview form to be used in thirty minutes
telephone interviews with a random stratied sample from the Norwegian Software Industry. Notes
from the interviews should be written down and sent together with follow up questions by email to the
respondents for verication of notes and gathering of additional information. The analysis of the data
from these interviews form the results of the thesis. The entire process is shown in gure 4.1.
4.3 Population and Sample
The thesis has chosen the Norwegian Software Industry as the basis for data collection. The preinter-
views are conducted with developers from two Norwegian software companies known in advance by
the author of the thesis. The telephone interviews are conducted with developers from eight randomly
drawn software companies from a list of Norwegian software companies. This selection of companies
is based on the same set of companies used in [Hauge, 2007], a list consisting of 569 companies.
The theoretical population comprises software developing companies in Norway, and the list of compa-
nies is based upon data primarily from The Central Coordinating Register for Legal Entities (CCRLE)
from the national census bureau in Norway (Statistics Norway). The list is then further rened by
yvind Hauge, Carl Fredrik Srensen and Marinela Gerea, including information about whether or not
open source is used by the company. The distribution of companies in the data set is shown in table 4.1.
Employees Companies not using OSS Companies using OSS Total
0 to 4 52 42 94
5 to 24 153 119 272
25+ 98 105 203
Total 303 (53%) 266 (47%) 569 (100%)
Table 4.1: Distribution of companies in the data set
4.3.1 The Norwegian Software Industry
CCRLE collects information on all enterprises in Norway, and classies them according to their kind
of economic activity [Hauge, 2007]. The interesting sector for this thesis is the ICT sector, a sector
that in 2005 employed around 70 000 people. This sector includes ICT Manufacture industry, ICT
trade industry, and telecommunications industry. These sub sectors dont have software development
as their main focus. The sector however also includes a sub sector about database activities and a
sub sector about computer and related activities, and these sub sectors form the set of companies used
by this thesis. Table 4.2 shows the distribution of active companies within this set, according to size
[SSB, 2008].
4.3.2 Stratication
The companies are grouped into size based on number of employees, a grouping used in the data set
comprising the population. Very small companies (0 to 4 employees) are excluded from the population
Runar Os Mathisen
24 4. Research design
Category Number of active enterprises
No employees 8304
1-4 employees 2389
5-9 employees 603
10-19 employees 395
20-49 employees 253
50-99 employees 76
100-249 employees 56
250+ employees 9
Table 4.2: Distribution of active companies over size, Fourth quarter 2008
because they are too small and dont have the resources to develop large software products. The moti-
vation separating companies into small (5 to 24 employees) and medium companies (25+ employees)
is because once a software project reaches a certain size and requires a certain amount of people, the
processes and interaction between the developers might change and new tools might be taken into use,
thus giving different answers. Additionally the set of companies is grouped according to whether or
not the company used open source in the last update of the data source. Combined this comprises the
separation of the population into four groups. The strata is listed in table 4.3.
Group
Medium sized company using open source
Small company using open source
Medium sized company not using open source
Small company not using open source
Table 4.3: Strata
4.3.3 Response rates
From each group a random sample was drawn, and contacted in order to perform a telephone interview.
If a interview couldnt be conducted, a new random sample was drawn, and so on, until two developers
from a company from all four groups had responded and been interviewed. In total 13 companies were
contacted. Out of these, eight resulted in a successful interview, giving a response rate of 62 percent.
Two companies didnt respond, and three companies didnt have the time.
4.4 Interview design
The design of the interview aims at answering the four stated research questions, and it is split into
ve parts (see table 4.4). One part about the company and their products, one part about which tools
are used, one part about the reasons behind the tool usage, one part the extent of and reasons behind
component usage, and a nal part about any relation between tool usage and component usage. The rst
version of the interviewwas used in the preinterviews, and based on the ndings in the preinterviews the
design was improved before usage in telephone interviews. The relation between interview questions
and research questions in the nal design is listed in appendix A.
Adoption of Open Source Software in the Software Industry
4.4. Interview design 25
Interview Part Description
Part one Population description
Part two Development tools
Part three Tool usage
Part four Component usage
Part ve Relation between tool and component usage
Table 4.4: Interview parts
The rst version of the interview contained a few large open ended questions. The questions were all
created having in mind that they should answer the research questions. This version was used in the
rst preinterview, an interview which gave some interesting insights into differences in usage between
developers when it comes to age, technical platform and type of development (desktop applications
versus web applications). The next version of the interview therefore had extra questions for better
describing the population, in addition to some of the other questions that were slightly altered.
The next version of the interview was used in the second preinterview. Based on this the layout of
the interview form was altered to better arrange the answers, several of the questions was rephrased to
better conform to natural conversation ow, and several of the questions got additions of natural follow
up questions. All this gave basis to the third version of the interview, which is what was used roughly
for the telephone interviews. The interview was however still revised further throughout the telephone
interview phase, as new information gave basis for new hypotheses that could be investigated closer in
the remaining telephone interviews. The nal design of the interview form can be found in appendix E.
Notes were taken on the interview form during the interview, and transferred to digital form right
after. The notes were then sent to the interviewee for validation on email, together with any follow
up questions. All interviewees responded to this email and either validated the contents or came with
corrections, together with answering the follow up questions.
Runar Os Mathisen
26 4. Research design
Adoption of Open Source Software in the Software Industry
Part IV
Results
27
Chapter 5
Results
This chapter presents the ndings of the thesis. First the data foundation of the results is described,
followed by the results of the four different research questions. The results give basis to six hypotheses,
which are summarized in the table 6.1.
5.1 Data foundation
The data foundation for the results of the thesis consists of the eight telephone interviews together with
the two preinterviews. From the eight telephone interviews three data tables were created. The rst
table (see table B.1) consists of general information, such as number of employees, development elds
(desktopapps/webapps/consultancy services), important factors in tool/component choices and some
general opinions. The second table (see appendix C) consist of the concrete development tools used by
the companies, in addition to the authors estimation of how extensive the usage of Open Source tools
was within each tool category based on the degree of usage of each title based on the interviews and the
number of OSS solutions compared to proprietary and internal solutions within the specic categories.
The third table (see table D.1) is a simple list of all the unique titles used by the interviewed companies.
In addition to this the textual notes from both the preinterviews and the telephone interviews was used
to nd explanations to the conclusions derived from the data. The textual notes are excluded from
this thesis of condentiality reasons, however an anonymized short summary of each company prole
is given below. Note that the given numbers of employees didnt always correspond with the initial
categorization of the companies in the data source used for selection. This could be due to the data
source not being updated, the denitions of which entities that are used for size could differ from
the data source and the interviewee, and there is also a potential of incorrect data from wither the
interviewees or the data source. The companies and the category they were randomly selected from are
shown in table 5.1.
5.1.1 Company A
Company A is a company with approximately 75 employees, of them 17 developers. They develop the
solutions for a media website, using PHP with MySQL/Oracle as the main technological platform. The
company used some OSS development tools, few OSS components, but the platform behind the website
was mainly Open Source (Apache web servers running on Linux with PHP and partly MySQL).
29
30 5. Results
Company Category
Company A Medium sized company that used OSS
Company B Small company that didnt use OSS
Company C Small company that used OSS
Company D Medium sized company that didnt use OSS
Company E Medium sized company that used OSS
Company F Medium sized company that didnt use OSS
Company G Small company that didnt use OSS
Company H Small company that used OSS
Table 5.1: Categories the different companies were selected from
5.1.2 Company B
Company B is a company with approximately 11 employees, of them 4 developers. They develop
solutions for the health care industry, using Delphi and .NET to develop both desktop applications
and web applications. They have a strong partnership with Microsoft, and use mainly proprietary
development tools. There is much component usage, but little OSS component usage, mainly for
internal use. Because of strong security and reliability requirements proprietary components were
preferred because of strong agreements with the vendors.
5.1.3 Company C
Company C is a company with approximately 22 employees, of them 6 developers. They develop
a web application for software companies using C++. They use some OSS development tools, OSS
components at a very small degree, but are in general positive to usage of Open Source Software.
5.1.4 Company D
Company D is a company working in the petroleum sector with approximately 500 employees, of them
7 developers on the interviewees department. The department serve mostly as an internal consultancy
service for other departments when they need help, and dont work much with conventional software
but rather by doing 3D modelling and programming in the proprietary programming language G
for petroleum hardware equipment. The department use exclusively proprietary development tools and
components, but his is however because of no availability of OSS alternatives. Other departments in the
company use OSS, and the interviewees department was open to usage of OSS if alternatives became
available.
5.1.5 Company E
Company E is a company with 140 approximately employees, of them 35 developers. They develop
solutions for hardware in the road industry, and thus program both directly for integrated circuits in
C and Assembly, as well as some internal and external conventional desktop applications in C++ and
Python. This company was the most positive to Open Source, and most developers worked on Linux
using mainly OSS development tools where possible. Additionally the company was positive to OSS
Adoption of Open Source Software in the Software Industry
5.2. Relation between OSS tool usage and OSS component usage 31
component usage, but because of the work domain being narrow they only used components at a very
small degree.
5.1.6 Company F
Company F is a company with approximately 75 employees, of them 22 developers. They develop
a software product for customer service as a desktop application in C++ and as a web application in
.NET. They used mostly proprietary development tools, and very few OSS components. The low usage
stems partly from a strong partnership with Microsoft, but in principle the company wasnt negative to
using Open Source.
5.1.7 Company G
Company G is a company with approximately 14 employees, of them 8 developers. They develop
the database frameworks for various national and international registries using Java as the technical
platform. They mixed both OSS and proprietary development tools, as well as using a few OSS com-
ponents, and are in general positive to Open Source usage.
5.1.8 Company H
Company H is a company with approximately 40 employees, of them 14 developers. The interviewees
department adapts a software product used by the energy sector, doing some developing in Java and
some conguring of Oracle databases. The company use both proprietary and OSS development tools,
but very few OSS components.
5.2 Relation between OSS tool usage and OSS component usage
This section answers Research Question 1: Does the use of OSS development tools increase the use of
OSS components in software development or vice versa? The motivation behind the question was that
OSS is a great resource that can and should be utilized, and having increased research and empirical
data might increase condence in and promote usage of OSS.
The results from the study suggest that there is no direct relation between the use of OSS development
tools and OSS components, however there seems to be a relation between usage of Open Source (either
development tools, operating system, software components and other tools) and further usage of Open
Source. That is, experience with and condence in Open Source leads to increased awareness of and
effort to nd OSS alternatives, which in turn increases the usage of Open Source.
All eight respondents answered that they didnt believe there was any relation between tool and com-
ponent usage (see table B.1). Moreover, all respondents were asked if they had noticed any change
in usage of both development tools and components over time, but very few had. Those that had no-
ticed a shift attributed it to either increased awareness of OSS alternatives, or a change of technological
platforms to a platform with more OSS alternatives.
Runar Os Mathisen
32 5. Results
5.2.1 Factors inuencing adoption of Open Source
All eight respondents stated that the most important factor when deciding which tools and components
to use is functionality (see table B.1). This suggests that software developers are pragmatists. Price,
ideology and politics comes second hand, what matters is getting the right tool and component to get
the work done, whether it is an Open Source solution, a proprietary solution or an internal solution.
Several respondents reported that availability of OSS alternatives with the desired functionality was an
important factor inuencing the adoption of OSS. As the respondent from company G said: "When
we googled for Java le upload library the rst hit is for the Open Source Apache Commons. The
availability of a high quality OSS component with the wanted functionality increased our Open Source
usage."
All eight respondents expressed that they thought experience with OSS leads to more usage of OSS (see
table B.1). OSS here meaning all forms for Open Source, both development tools and components, but
also common Open Source such as regular software (web browsers, ofce suits) and operating systems.
As the respondent from company C said when asked about any change in usage of OSS tools and
components over time: "Weve used a little more Open Source lately. One of the reasons is that we
are more aware of which alternatives exists, and were more on the search for OSS alternatives." The
respondent from Company A said: "There is probably no relation between tool and component usage.
It is rather so that usage of Open Source leads to experience with, awareness of and condence in Open
Source, which leads to more usage of Open Source. Once you discover the world of Open Source it is
easier to take advantage of Open Source."
5.2.2 Discussion
None of the interviewees believed there was a relation between usage of OSS development tools and
OSS components. The lack of data indicating a relation and the other theories about factors inuencing
the adoption of Open Source leads to the following hypothesis:
H1: There is no direct relation between usage of Open Source Software development tools
and Open Source Software components.
All respondents found functionality to be the most important factor when choosing tools and compo-
nents. Based on this the following hypothesis is formulated:
H2: Functionality is the most important factor in choice of development tools and software
components.
If the last hypothesis is correct there probably is a relation between the availability of an Open Source
solution to a given problem and the degree of adoption of Open Source. As one of the respondents from
the preinterviews said: "We use very few OSS components here. This is because the availability of OSS
components for our specialized eld and for the programming language C++ is very low."
Two other viewpoints were stated that strengthens this theory. The rst is the belief that the usage of
OSS is higher for certain technological platforms such as Java and Python compared to C++ and .NET.
As the respondent from company H said: "I think there is a clear difference in usage of Open Source
in for example Java compared to .NET, a difference that stems from the availability of Open Source on
the different technological platforms."
The second viewpoint is the belief that the usage of OSS is higher for web application development
than for desktop application development. The web has always been an area with much openness
and collaboration, which has fostered many open source alternatives for webapps. As the respondent
from company H said: "There is probably a much higher availability of Open Source for webapps
Adoption of Open Source Software in the Software Industry
5.3. Adoption of OSS Development Tools 33
compared to desktopapps." Also, two of the respondents developed both web applications and desktop
applications (Company B and Company F), and the usage of OSS components was higher for web
applications for both companies. This leads to the following hypothesis:
H3: High availability of Open Source solutions leads to higher adoption of Open Source.
Another factor mentioned by all respondents was that the awareness of Open Source could lead to more
usage of Open Source. One aspect that speaks for this hypothesis is that many seem to think that young
developers used more OSS than older developers. This is explained by younger developers growing
up in a world with much more Open Source, and as such is exposed to Open Source at a much higher
extent than older developers. This leads to higher awareness of OSS and higher usage. Based on this
the following hypothesis is formulated:
H4: High awareness of Open Source solutions leads to higher adoption of Open Source.
5.3 Adoption of OSS Development Tools
This section answers Research Question 2: How extensive is the adoption of Open Source Software
development tools in the software industry? The motivation behind the question was that if the adoption
of OSS development tools in the software industry is high it should be reected in the education for
computer science students. Additionally it might increase condence in and promote further usage of
OSS development tools in the software industry.
This thesis suggests that most software companies use OSS development tools, but that proprietary or
internal solutions still is more used. The most important factor when deciding which tool to use was
functionality, but most companies (seven out of eight) were open to using OSS development tools (see
table B.1). Out of a list of in total 64 different development tools used by the interviewed companies,
28 of them (44%) are Open Source, though with a varying degree of usage (see appendix D).
5.3.1 Tool usage by tool category and company
Table 5.2 shows the usage of OSS development tools in the different development tool categories. It
indicates that the adoption of development tools is higher in some tool categories than other. Speci-
cally there seem to be more usage of Open Source compilers, version control systems and build tools,
whereas there is little usage of Open Source modelling tools, user documentation tools and support
tools. The data foundation is too small to give any clear answers to why there are some differences be-
tween tool categories, but it appears that there is a higher availability of good Open Source alternatives
amongst compilers, version control systems and build tools than the other categories.
Table 5.3 shows the usage of development tools by the different companies. It indicates that there are
some differences, with some companies using some Open Source alternatives, while other used nearly
none.
5.3.2 Important factors in development tool choice
All eight respondents stated that functionality was the denitive most important factor when deciding
if to use and which tool to use (see table B.1). As the respondent from Company A said: Its all about
getting the work done, so the most important criteria is functionality.
Runar Os Mathisen
34 5. Results
Usage High Medium Low No
Integrated Development Environments 1 2 0 5
Modelling Tools 0 0 0 8
Code Editors 0 3 1 4
Compilers 3 0 1 4
Debuggers 2 1 0 5
Version Control Systems 3 1 0 4
User Documentation Tools 1 0 0 7
Test Tools 1 2 0 5
Build Tools 3 0 0 5
Bugtrackers 1 0 0 7
Support Tools 0 0 0 8
Other Tools 1 0 2 5
Table 5.2: Degree of OSS development tool usage by number of companies in the different tool cate-
gories
Usage High Medium Low No
Company A 1 0 2 9
Company B 0 1 0 11
Company C 4 0 1 7
Company D 0 0 0 12
Company E 2 4 1 5
Company F 1 1 0 10
Company G 4 1 0 7
Company H 4 2 0 6
Table 5.3: Number of tool categories with the given degree of OSS development tool usage by the
different companies
Adoption of Open Source Software in the Software Industry
5.4. Adoption of OSS Components 35
A funny fact that strengthens the theory of functionality being the most important factor in development
tool choice is that some of the companies when asked if they used Open Source development tools
answered no, but when the different tools in the different categories was listed, they realized that some
of the tools they used were in fact Open Source, they just hadnt really thought of it as an Open Source
tool, but rather as the market leading tool with the best functionality within the specic category.
Price was rarely a matter. The reason for this is that the relative cost of people is much higher than the
cost of development tools, and if a specic tool can increase the efciency of a developer the price gets
paid of pretty quick. As the respondent from Company E said: "Sometimes we nd that we can use a
workday to work around the lack of a tool and develop our own solution, however the salary of this
work usually end of magnitudes higher then the acquirement cost of a tool."
However price could be a deal breaker when comparing products with similar functionality, which
favors Open Source alternatives. Another aspect of this is that it makes it easier to try out different
tools because the initial cost is non existent.
Company culture also mattered. Management rarely makes decision about tool usage, normally devel-
opers can choose which tool they want to use, and unless the price is very high if they want to use a
specic tool they will get it. Still, developers within a company or department tend to use the same
products. One of the reason is that it eases cooperation between colleagues. As the respondent from
company H said: "It is easier to help each other with tool troubles when everybody use the same tools."
In addition if many different tools are used it could increase the dependencies. As one of the respon-
dents from the preinterviews said: "I think there is too much freedom in choice of tools. It leads to
bothersome build processes as free choice leads to many choices, which in turn increases the number
of third party dependencies."
One of the reasons why some companies used few Open Source alternatives is that few alternatives ex-
isted. The one that used no OSS alternatives simply stated that none existed for the given technological
platform. For other technological platforms the usage of OSS tools was higher. As one of the respon-
dents from the preinterviews said: "In my previous job we had a Java development group and a .NET
development group. The usage of OSS development tools were much higher in the Java group because
of more and better OSS alternatives, compared to the .NET group where the proprietary alternatives
was recognized as best."
Another reason might be partnership with vendors, and specically Microsoft. The respondent from
Company F said: "Being a Microsoft Partner the management prefers that we use Microsoft friendly
products.". The respondent from Company B said: "The partnership with Microsoft gives some guid-
ance on which products we should use. Also, using tools from just one vendor means that it is easier
to get different tools to cooperate." However, partnership didnt always mean that usage of OS tools is
low. Company C is also a Microsoft Partner, and they used several Open Source development tools.
5.3.3 Discussion
Almost all companies used Open Source development tools, but with various degrees of usage. 28 out
of 64 tools used were Open Source, but the number of titles and the degree of usage was still higher for
proprietary tools, so it apperas that proprietary tools still are favored.
5.4 Adoption of OSS Components
This section answers Research Question 3: How extensive is the adoption of Open Source Software
components in the software industry? The motivation behind the question was that if the adoption
Runar Os Mathisen
36 5. Results
of OSS components in the software industry is high it should be reected in the education for com-
puter science students. Additionally it might increase condence in and promote further usage of OSS
components in the software industry.
This thesis suggests that most companies integrate OSS components into their products, but to a little
extent. Seven out of the eight respondents used Open Source Software components in their products
and services, but at a very small degree (see table B.1). The last respondent was unable to use OSS
components because his department used a proprietary programming language for their development,
in which no OSS components were allowed. He said however that other departments in the same
company using other technological platforms have some usage of OSS components, but at a very small
degree.
This indicates that most Norwegian software companies arent afraid to use OSS components, and given
a OSS component that has the desired functionality the component will often be used. As the respondent
fromCompany Asaid: "If we nd a simple Open Source component with the desired functionality, were
using it." However OSS components, and components in general, are used only at a very small degree.
There are various reasons to this.
5.4.1 Important factors in component choice
All eight respondents found functionality to be the denitive most important factor when it comes to
deciding if a component is to be used, and which component is to be used. As a consequence of this, an
important factor for the extent of OSS component usage is the availability of OSS components with the
desired functionality. Some of the respondents worked in narrow domains that had very low availability
of Open Source components, which led to less usage of components.
Another important factor was the complexity of components. For complex components it might take
more time to understand it and integrate it than to just write it oneself. Also, binding oneself to a
component also typically means binding oneself to future upgrades for the component, upgrades that
might break existing code leading to much work xing these problems. Price was also mentioned as
a factor, but it was the least important factor. Unless the price was very high, cost rarely mattered.
It was however a potential deal breaker when deciding between an OSS component and a proprietary
component.
5.4.2 OSS components vs. proprietary components
In the choice between proprietary and OSS components with the same functionality, OSS components
were often preferred. One of the reasons of this is that the companies want more control of their own
software, and having the source control available is one way of achieving that. As the respondent
from Company F said: "We want to have control in case something happens. As an example the
development of a proprietary GUI-library for C++ that we use in our software stopped, which created
some difculties for us. In the end, but after some hassle, we managed to buy the source code for the
component and continued development of it ourselves."
Another respondent (Company B) on the other hand favored proprietary components. This respon-
dent worked in the health informatics sector, and for his company the liabilities that came with some
proprietary components made them more attractive. As he said: "As the systems we make can have
consequences concerning life and death, trust and security is important for us. With Open Source com-
ponents we are dependent on testing the components ourselves, but with proprietary vendors we can
make arrangements that transfer liabilities and ensure that we receive thoroughly tested components."
Adoption of Open Source Software in the Software Industry
5.5. Development Tools 37
Another discouraging factor with OSS components is the complexity and restrictions of the Open
Source licenses. Specically the GNU General Public License (see section 2.2.1) was often brought up
during the interviews as it couldnt be used in software that was distributed to customers. But also the
complexity and the multitude of licenses could constrain usage of OSS components. Even a developer
(from Company A) of a publishing system for web (which could potentially use GPL-code because it
isnt redistributed) didnt want to use many OSS components because as he said: "In the event that the
Open Source licenses of potential components could restrict us if we want to sell the publishing system
as a proprietary and commercial product in the future."
5.4.3 Discussion
Several studies reported that approximately 50 percent of the companies in the software intensive in-
dustry use OSS components in their products and services ([Nikula and Jantunen, 2005], [Hauge, 2008]
and [Mindel et al., 2007]). Out of eight telephone interview respondents, seven reported that they used
OSS components, an adoption rate of 87,5%. Three of these seven had stated in a previous survey that
they didnt use OSS components, and now answered that they did. This could be because of errounous
information in the previous survey, specically because some developers may not have been aware of
all components used by the company, however the numbers still indicate an increase in the adoption
rate, which leads to the following hypothesis:
H5: The adoption of OSS components in the software industry is increasing.
Although the percentage of companies integrating OSS components is high, all these companies re-
ported that they used OSS components only at a very small degree. This leads to the following hypoth-
esis:
H6: The extent of adoption of OSS components by the individual companies in the software
industry is very small.
5.5 Development Tools
This section answers Research Question 4: Which Open Source Software development tools are used
by the software industry? The motivation behind the question was that it might be hard to nd and
evaluate which development tools that might be used in the organization, and having a list of which de-
velopment tools are used by the software industry might increase condence in these tools and improve
the decision making process for potential users.
This thesis suggests that there is a lot of diversity in the development tool usage in the Norwegian
software industry, with many being Open Source. Out of a list of in total 64 different development
tools used by the interviewed companies, 28 of them (44%) are Open Source, though with a varying
degree of usage. In addition not all companies used tools in all categories. Some of the companies
didnt need to use a tool in some of the categories, and there were also some internal solutions. See
appendix C for a complete list of all tools used by the interviewed companies.
5.5.1 Tool categories
Some of the tool categories (such as version control systems, test tools and build tools) have more
usage of open source than others, and usage of open source tools seems to depend somewhat on the
Runar Os Mathisen
38 5. Results
technological platform used by the software companies. Below the answers in each development tool
category is discussed.
Integrated Development Environments
All respondents reported that they used an IDE as the main development tool during work. Which tool
was used depended mostly on the technological platform of choice, with proprietary tools used for PHP,
Delphi, .NET, C/C++ and the G programming platform. For Java and Python solutions that are Open
Source were more often chosen though, with Eclipse being the most mentioned. As the respondent from
Company H said: "Eclipse is used here because it has become somewhat of an industry standard."
Eclipse is also cross-platform, and can be used by those using Linux as their primary development
operating system. Other Open Source IDEs used are NetBeans, Emacs, vi and KDevelop.
Modelling Tools
Most of the companies interviewed didnt use modelling tools very often in their development. Three
of the eight companies used internal solutions, one of them even cited Post-it notes as the most used
modelling tool. The rest used proprietary solutions such as Microsoft Visio and Rational Rose. None
used Open Source alternatives.
Code Editors
The usage of simple code editors (basic text editors with syntax highlighting) werent very prominent,
with the exception of Kate for Linux. Instead, nearly all code was written in IDEs. There were some
additional tools used as code editors though, specically some proprietary solutions for editing SQL.
Compilers
Most of the respondents used the standard compiler for the given platform that was integrated into
the IDE. An exception was the GNU Compiler Collection, which was used by one company when
compiling to the Linux operating system (as opposed to using Visual Studio when compiling the same
software to the Windows operating system), and another company using the AVR GNU C Compiler
when compiling directly to microprocessors.
Debuggers
All respondents that used a debugger used the one that was integrated into their IDE.
Version Control Systems
Version Control Systems (VCS) was the category of tools with the highest usage of Open Source
alternatives. Three of the respondents used CVSNT as a VCS server together with the clients WinCVS
and TortoiseCVS. Another respondent used the Subversion server together with the client TortoiseSVN,
in addition to two of the CVS-users wanting to convert to Subversion. One company surprisingly didnt
use any VCS, while the rest used proprietary solutions.
Adoption of Open Source Software in the Software Industry
5.5. Development Tools 39
User Documentation Tools
Not all companies performed any development for external users, so only some companies needed to
create user documentation. Of those that did create user documentation the preferred tool was Microsoft
Word, however an interesting open source solution was chosen by one of the respondents, namely the
open semantic markup language DocBook.
Test Tools
In the testing category a wide variety of tools was used, and no two companies used the same set
of testing tools. Those of the companies that performed unit testing used a Open Source unit test
framework, such as DUnit for Delphi and NUnit for .NET (both based on JUnit for Java), while the
Mozilla Firefox extensions FireBug and WebDeveloper, both Open Source, was used by one company
for testing web applications.
Build Tools
Only half of the companies interviewed used a tool for the build process. One of those used Microsoft
Visual Studio, the other three however used Open Source solutions. One company used BuildMagic,
the other two had a continuous integration process, and used respectively Hudson with GNU Make and
CruiseControl.NET with NAnt.
Bugtrackers
Seven of the respondents used either no solution, an internal solution or a proprietary solution. One
company was the exception though, this company used both trac and BugZilla.
Support Tools
None of the respondents used an Open Source support tool.
Other Tools
Some of the respondents reported that they regularly used other tools during their daily software devel-
opment. Amongst these were the zipping tool 7-Zip, the terminal emulator PuTTY, and the FTP client
FileZilla.
5.5.2 Discussion
Table 5.4 summarizes all of the Open Source Software Tools used by the interviewed companies, as
well as indicating the frequency of usage. The frequency is estimated from the interview notes. As we
can see there is a lot of tools used, most of which are used only sparsely by few companies. However
all tools are evaluated and used by the software industry of today, and the list can serve as a basis for
companies that wish to start using OSS development tools.
Runar Os Mathisen
40 5. Results
Development tool Frequency
Eclipse Main IDE for 3 companies
NetBeans Secondary IDE for 1 company
Emacs Used sparsely as IDE by 2 companies
vi Used sparsely as IDE by 1 company
KDevelop Used sparsely as IDE by 1 company
Kate Secondary code editor for 1 company
GNU Compiler Collection One of two compilers used by 1 company
AVR GNU C Compiler Main compiler of 1 company
CVSNT with WinCVS/TortoiseCVS Main VCS-stack for 3 companies
Subversion with TortoiseSVN Main VCS-stack for 1 company
DocBook Used sparsely by 1 company
DUnit and NUnit Main test framework for 1 company
FireBug and WebDeveloper Main webpage testing tool for 1 company
BuildMagic Main build tool for 1 company
Hudson with GNU Make Main build tools used by 1 company
CruiceControl.NET with NAnt Main build tools used by 1 company
trac One of two bugtrackers used by 1 company
BugZilla One of two bugtrackers used by 1 company
7-Zip Main zipping tool for 1 company
PuTTY Main terminal emulator for 1 company
FileZilla Main FTP client for 1 company
Table 5.4: Open Source development tools used in the Norwegian software industry
Adoption of Open Source Software in the Software Industry
Chapter 6
Conclusions
6.1 Summary
The purpose of this thesis was to investigate if there is a relation between usage of OSS development
tools and OSS components, and to nd the adoption of Open Source in the software industry. This thesis
suggests that there is no direct relation between usage of Open Source Software development tools and
Open Source Software components. Two other aspects however seem to inuence the adoption of Open
Source, availability and awareness.
In total 44%(28 out of 64) of the different tools used by the interviewees were Open Source tools, which
indicate that a lot of OSS development tools exist and are used by the software industry. The usage was
highest with compilers, version control systems and build tools. The Open Source development tools
that were used by several companies were the IDE Eclipse and the VCS server CVSNT together with
the clients WinCVS and TortoiseCVS. The most important factor in choice of tools was functionality,
however factors such as price, company culture, partnership and availability also mattered some.
87,5% of the companies used OSS components in their software, which indicates an increase from pre-
vious studies. However, OSS components were used at a very small degree. The most important factor
in choice of components was functionality, but factors such as price, licensing, availability, complexity,
control and liability also mattered.
Based on the ndings from the study six hypotheses were stated, which are presented in table 6.1.
6.2 Limitations and validity
With a total of 13 companies being contacted, eight resulted in an interview, giving a response rate of
62 percent. The ve companies which did not participate interestingly enough came from the group
of small companies not using Open Source, however this probably has more to do with the timing
of the interviews. This group was the last group that was contacted, and the chances of reaching a
company with Christmas deadlines fast approaching became higher. While the withdrawals probably
were random making the sample representative of the population, it is a possible future improvement
for interview based data gathering to distribute the interviews more evenly out over time according to
strata.
41
42 6. Conclusions
Number Hypothesis
H1 There is no direct relation between usage of Open Source Software de-
velopment tools and Open Source Software components.
H2 Functionality is the most important factor in choice of development
tools and software components.
H3 High availability of Open Source solutions leads to higher adoption of
Open Source.
H4 High awareness of Open Source solutions leads to higher adoption of
Open Source.
H5 The adoption of OSS components in the software industry is increasing.
H6 The extent of adoption of OSS components by the individual companies
in the software industry is very small.
Table 6.1: Hypotheses
A possible factor that might have inuenced the answers is the age of the respondents. While the inter-
viewer never asked about age, the impression was that interviews were delegated to recently graduated
and newly hired developers. This might mean that the sample might not be representative of the popula-
tion, but rather skewed towards younger developers, however it is also the impression of the interviewer
that the answers didnt differ very much, so while it might have reduced the validity of the results, an
eventual reduction is very small.
A bigger problem is that the number of respondents really isnt high enough to give denite conclusions
on some of the research questions. This is an effect of the chosen research method, where focus was on
qualitative data rather than quantitative data in order to better answer research question 1. A result of
this is that this thesis doesnt state any clear conclusions, but rather states some interesting hypotheses
and lays the foundation for a possible future study to conrm or deny these hypotheses.
6.3 Future work
This thesis states six hypothesis based on the interviews. The data is however too limited too make any
clear conclusions about any of them, they are merely indications. This thesis can therefore function
well as a basis for a future study, in which the hypothesis are tested with a larger sample size through a
survey using a questionnaire.
One of the things that can be tested is which factors that inuence the choice of OSS development tools
and OSS components in order to nd if availability and awareness are important factors inuencing
the adoption rate of Open Source in the software industry. Another is to survey the software industry
to test if it is correct that the adoption of OSS has increased, and additionally nd the degree of OSS
component usage. And lastly one can with a larger sample size nd more OSS development tools used
by the software industry, and a better estimation of which tools are the most popular, in order to increase
condence of these tools to companies wanting to use OSS alternatives.
Adoption of Open Source Software in the Software Industry
Bibliography
[Apache Foundation, 2008] Apache Foundation (2008). Apache License. http://www.apache.
org/licenses/LICENSE-2.0.
[Black Duck Software, 2008] Black Duck Software (2008). Open Source License Resource Center.
http://www.blackducksoftware.com/oss.
[Cernocek, 2005] Cernocek, G. (2005). A brief history of Eclipse. http://www.ibm.com/
developerworks/rational/library/nov05/cernosek/.
[Cruz et al., 2006] Cruz, D., Wieland, T., and Ziegler, A. (2006). Evaluation Criteria for Free/Open
Source Software Products Based on Project Analysis. Software Process: Improvement and Practice,
11(2).
[Di Giacomo, 2005] Di Giacomo, P. (2005). COTS and Open Source Software Components: Are They
Really Different on the Battleeld?
[Free Software Foundation, 2008a] Free Software Foundation (2008a). The Free Software Denition.
http://www.gnu.org/philosophy/free-sw.html.
[Free Software Foundation, 2008b] Free Software Foundation (2008b). The GNU General Public Li-
cense. http://www.gnu.org/licenses/gpl.html.
[Free Software Foundation, 2008c] Free Software Foundation (2008c). The GNU Lesser General Pub-
lic License. http://www.gnu.org/licenses/lgpl.html.
[Free Software Foundation, 2008d] Free Software Foundation (2008d). What is Copyleft. http:
//www.gnu.org/copyleft/copyleft.html.
[Ghosh, 2006] Ghosh, R. A. (2006). Study on the Economic Impact of Open Source Software on In-
novation and the Competiveness of the Information and Communication Technologies (ICT) Sector
in the EU. Technical report, UNU-MERIT.
[Hauge, 2007] Hauge, . (2007). Open Source Software in Software Intensive Industry - A Survey.
Masters thesis, Norwegian University of Science and Technology NTNU.
[Hauge, 2008] Hauge, . (2008). Bruk av fri programvare i norsk programvareindustri. Technical
report, NTNU.
[Jaaksi, 2007] Jaaksi, A. (2007). Experiences on Product Development with Open Source Software.
[Li et al., 2006] Li, J., Conradi, R., Slyngstad, O. P. N., Bunse, C., Torchiano, M., and Morisio, M.
(2006). An Empirical Study on Decision Making in Off-The-Shelf Component-Based Development.
In ICSE 06: Proceedings of the 28th International Conference on Software Engineering, New York,
NY, USA. ACM.
43
44 BIBLIOGRAPHY
[Madanmohan and De, 2004] Madanmohan, T. R. and De, R. (2004). Open Source Reuse in Com-
mercial Firms. IEEE Software, 21(6).
[Mindel et al., 2007] Mindel, J. L., Mui, L., and Verma, S. (2007). Open Source Software Adoption in
ASEAN Member Countries. In HICSS2007 Proceedings of the 40th Annual Hawaii International
Conference on System Sciences. IEEE Computer Society.
[Morgan and Finnegan, 2007] Morgan, L. and Finnegan, P. (2007). Benets and Drawbacks of Open
Source Software: An Exploratory Study of Secondary Software Firms. pages 307312.
[Nikula and Jantunen, 2005] Nikula, U. and Jantunen, S. (2005). Quantifying the Interest in Open
Source System: Case South-East Finland.
[Open Source Initiative, 2008a] Open Source Initiative (2008a). History of the OSI. http://www.
opensource.org/history.
[Open Source Initiative, 2008b] Open Source Initiative (2008b). The Open Source Denition. http:
//www.opensource.org/docs/osd.
[OSI, 2008a] OSI (2008a). The BSD License. http://www.opensource.org/licenses/
bsd-license.php.
[OSI, 2008b] OSI (2008b). The MIT License. http://www.opensource.org/licenses/
mit-license.php.
[Perrin, 2006] Perrin, C. (2006). Security through visibility: The secrets of open source security.
http://articles.techrepublic.com.com/5100-10878_11-6064734.html.
[Raymond, 1998] Raymond, E. (1998). The cathedral and the bazaar. First Monday, 3(3).
[Rufn and Ebert, 2004] Rufn, M. and Ebert, C. (2004). Using Open Source Software in Product
Development: A Primer. IEEE Software, 21(1):8286.
[SSB, 2008] SSB (2008). Tabell 03109 - Bedrifter, etter nring og antall ansatte. http://
statbank.ssb.no/statistikkbanken/.
[Stallman, 2008] Stallman, R. (2008). The GNU Project. http://www.gnu.org/gnu/
thegnuproject.html.
[West and OMahony, 2005] West, J. and OMahony, S. (2005). Contrasting Community Building in
Sponsored and Community Founded Open Source Projects. In HICSS2005 Proceedings of the 38th
Annual Hawaii International Conference on System Sciences. IEEE Computer Society.
[Wikipedia, 2008a] Wikipedia (2008a). FLOSS. http://en.wikipedia.org/wiki/FLOSS.
[Wikipedia, 2008b] Wikipedia (2008b). Subversion. http://en.wikipedia.org/wiki/
Subversion_(software).
Adoption of Open Source Software in the Software Industry
Part V
Appendices
45
Appendix A
Mapping from research to interview
Interview Question Research Question
How many people work at your company? Describe population
What products and services do you offer? Describe population
Which developments tools do you offer? RQ2, RQ4
Why are these tools used? RQ1
How do you acquire tools? RQ1
How has tool usage changed over time? RQ1
Which open source components do you use? RQ1, RQ3
How extensive is the usage of components? RQ3
How has component usage changed over time? RQ1
Is there a relation between usage of tools and components? RQ1
What causes an eventual relation? RQ1
Table A.1: Mapping from research questions to interview questions
47
48 A. Mapping from research to interview
Adoption of Open Source Software in the Software Industry
Appendix B
Interview data
Company Company A Company B Company C Company D
1. Employees in company 75 11 22 500
2. Developers in department 17 4 6 7
3. Web application development Yes Yes Yes No
4. Desktop application development No Yes No No
5. Development on hardware equipment No No No Yes
6. Most important factor in tool decision Functionality Functionality Functionality Functionality
7. Open to usage of OSS tools Yes No Yes Yes
8. Degree of OSS component usage Very little Very little Very little None
9. Most important factor in component decision Functionality Functionality Functionality Functionality
10. Relation between tool and component usage No No No No
11. Experience with OSS leads to more OSS Yes Yes Yes Yes
Company Company E Company F Company G Company H
1. Employees in company 140 75 14 40
2. Developers in department 35 22 8 14
3. Web application development No Yes Yes No
4. Desktop application development Yes Yes Yes Yes
5. Development on hardware equipment Yes No No No
6. Most important factor in tool decision Functionality Functionality Functionality Functionality
7. Open to usage of OSS tools Yes Yes Yes Yes
8. Degree of OSS component usage Very little Very little Very little Very little
9. Most important factor in component decision Functionality Functionality Functionality Functionality
10. Relation between tool and component usage No No No No
11. Experience with OSS leads to more OSS Yes Yes Yes Yes
Table B.1: Interview data
49
50 B. Interview data
Adoption of Open Source Software in the Software Industry
Appendix C
Tool usage by company
Company Tools used OS Usage
Company A Zend Studio None
Company B Microsoft Visual Studio - CodeGear Delphi - PL SQL Developer None
Company C Microsoft Visual Studio None
Company D SolidWorks - LabVIEW - NX - MATLAB None
Company E Eclipse - Emacs - vi - AVR Studio - KDevelop Medium
Company F Microsoft Visual Studio None
Company G Eclipse - NetBeans High
Company H Eclipse - PL SQL Developer Medium
Table C.1: Integrated Development Environments used by companies
Company Tools used OS Usage
Company A Internal solution None
Company B Microsoft Visio None
Company C Internal solution None
Company D SolidWorks - LabVIEW - Simulink - MATLAB None
Company E Internal solution None
Company F Rational Rose - Rational XDE None
Company G Sybase PowerDesigner None
Company H Microsoft Visio None
Table C.2: Modelling Tools used by companies
51
52 C. Tool usage by company
Company Tools used OS Usage
Company A Zend Studio - Emacs - Adobe Flash - Oracle SQL Developer - Quest SQL Navigator Low
Company B Microsoft Visual Studio - CodeGear Delphi - PL SQL Developer None
Company C Microsoft Visual Studio - PSPad Editor None
Company D SolidWorks - LabVIEW - NX - MATLAB None
Company E Eclipse - Emacs - vi - AVR Studio - Kate Medium
Company F Microsoft Visual Studio None
Company G Eclipse - NetBeans - TextPad Medium
Company H Eclipse - Internal solution Medium
Table C.3: Code Editors used by companies
Company Tools used OS Usage
Company A No solution None
Company B Microsoft Visual Studio None
Company C Microsoft Visual Studio - GNU Compiler Collection Low
Company D SolidWorks - LabVIEW - NX - MATLAB None
Company E AVR GNU C Compiler High
Company F Microsoft Visual Studio None
Company G Eclipse - NetBeans High
Company H Eclipse High
Table C.4: Compilers used by companies
Company Tools used OS Usage
Company A No solution None
Company B Microsoft Visual Studio None
Company C Microsoft Visual Studio None
Company D SolidWorks - LabVIEW - NX - MATLAB None
Company E Eclipse - AVR Studio Medium
Company F Microsoft Visual Studio None
Company G Eclipse - NetBeans High
Company H Eclipse High
Table C.5: Debuggers used by companies
Company Tools used OS Usage
Company A No solution None
Company B Team Foundation Server - Microsoft Visual SourceSafe - Microsoft SharePoint None
Company C CVSNT - WinCVS - TortoiseCVS High
Company D LabVIEW None
Company E Subversion - TortoiseSVN - Microsoft SharePoint Medium
Company F Perforce None
Company G CVSNT - WinCVS - TortoiseCVS High
Company H CVSNT - WinCVS - TortoiseCVS High
Table C.6: Version Control Systems used by companies
Adoption of Open Source Software in the Software Industry
53
Company Tools used OS Usage
Company A No solution None
Company B Doc-To-Help None
Company C DocBook High
Company D Microsoft Word None
Company E No solution None
Company F Internal solution None
Company G Microsoft Word None
Company H Microsoft Word None
Table C.7: User Documentation Tools used by companies
Company Tools used OS Usage
Company A WebDeveloper - FireBug High
Company B Microsoft Test - NUnit - DUnit Medium
Company C Internal solution None
Company D SolidWorks - LabVIEW - NX - MATLAB None
Company E OpenTTCN None
Company F NUnit - Internal solution Medium
Company G Internal solution None
Company H HP Test Director None
Table C.8: Test Tools used by companies
Company Tools used OS Usage
Company A No solution None
Company B Microsoft Visual Studio None
Company C Hudson - GNU Make High
Company D No solution None
Company E Internal solution None
Company F NAnt - CruiseControl.NET High
Company G Internal solution None
Company H BuildMagic High
Table C.9: Build Tools used by companies
Company Tools used OS Usage
Company A GoogleDocs None
Company B Team Foundation Server None
Company C eJournal None
Company D No solution None
Company E Trac - BugZilla High
Company F DevTrack None
Company G Internal solution None
Company H Jira None
Table C.10: Bugtrackers used by companies
Runar Os Mathisen
54 C. Tool usage by company
Company Tools used OS Usage
Company A No solution None
Company B eJournal None
Company C eJournal None
Company D No solution None
Company E No solution None
Company F eJournal None
Company G Internal solution None
Company H Jira None
Table C.11: Support Tools used by companies
Company Tools used OS Usage
Company A Adobe Photoshop - FileZilla - Putty - CuteFTP Low
Company B Microsoft Word - Microsoft Excel - Microsoft PowerPoint None
Company C 7-Zip High
Company D No solution None
Company E lint - CodeSonar Low
Company F No solution None
Company G No solution None
Company H No solution None
Table C.12: Other Tools used by companies
Adoption of Open Source Software in the Software Industry
Appendix D
Development Tool Titles
55
56 D. Development Tool Titles
Proprietary tools Tool category Open Source tools Tool category
DevTrack Bugtracker BugZilla Bugtracker
Jira Bugtracker Trac Bugtracker
Adobe Flash Code Editor BuildMagic Build Tool
Oracle SQL Developer Code Editor CruiseControl.NET Build Tool
PSPad Editor Code Editor DUnit Build Tool
Quest SQL Navigator Code Editor GNU Make Build Tool
TextPad Code Editor Hudson Build Tool
CuteFTP FTP Client NAnt Build Tool
Adobe Photoshop Graphics Editor NUnit Build Tool
AVR Studio IDE Kate Code Editor
CodeGear Delphi IDE AVR GNU C Compiler Compiler
LabVIEW IDE GNU Compiler Collection Compiler
MATLAB IDE FileZilla FTP Client
Microsoft Visual Studio IDE Eclipse IDE
NX IDE Emacs IDE
SolidWorks IDE KDevelop IDE
Zend Studio IDE NetBeans IDE
Microsoft Visio Modelling Tool vi IDE
Rational Rose Modelling Tool Putty Terminal Emulator
Rational XDE Modelling Tool FireBug Test Tool
Sybase PowerDesigner Modelling Tool WebDeveloper Test Tool
GoogleDocs Ofce Tool DocBook User Documentation Tool
Microsoft Excel Ofce Tool CVS NT Version Control
Microsoft PowerPoint Ofce Tool Subversion Version Control
Microsoft Word Ofce Tool TortoiseCVS Version Control
CodeSonar Static Code Analysis Tool TortoiseSVN Version Control
lint Static Code Analysis Tool WinCVS Version Control
eJournal Support Tool 7-Zip Zipping Tool
HP Test Director Test Tool
Microsoft Test Test Tool
OpenTTCN Test Tool
Doc-To-Help User Documentation Tool
Microsoft SharePoint Version Control
Microsoft Visual SourceSafe Version Control
Perforce Version Control
Team Foundation Server Version Control
Total: 36 tools Total: 28 tools
Table D.1: Development Tool Titles
Adoption of Open Source Software in the Software Industry
Appendix E
Interview Form
The form used to take notes and control ow of the telephone interviews.
57
pne intervjuet ved fortelle litt om meg selv.
Jeg gr p linja for datateknikk ved NTNU, og skriver prosjektoppgave om bruk av Open Source i
programvareindustrien. Tenker da bde p utviklingsverkt og komponentbruk, og gjerne
sammen!eng mellom disse.
"ller frst, jeg tar notater fra intervjuet og tenker bruke informasjonen i oppgaven min, men da
selvflgelig anonmisert. Og mens jeg !usker det, er det greit at jeg sender en email for komme
med noen oppflgingssprsml om det er noen senere#
Srg for f beskrevet populasjonen. Dobbeltsjekk gjerne p nett i etterkant.
Hvor mange ansatte bestr bedriften av?
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Hvilke tjenester/produkter tilbyr dere?
%vilken teknologisk plattform ligger bak produktene deres#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Hvilke utviklingsverkty bruker dere?
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
&'()
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*odellering)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+odeeditor)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+ompilator)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'ebugger)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
,ersjonskontroll)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-rukerdokumentasjon)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Testing)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-uilds)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-ugtracker)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Support)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
"nnet)
Hvorfor benytter dere akkurat disse verktyene?
.unksjonalitet#
/ris#
&deologi#
-edriftsstandard#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Hvordan er prosessen bak det bruke/skaffe et verkty?
(r det noen produkter dere m bentte#
(r det noen produkter dere ikke kan bentte#
%ar dere noen avtaler med verktleverandrer#
%ar dere noen problemer med verktbruk#
+an fri!et i verktbruken fre til tungvinte prosesser#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Har verktybruken forandret seg noe den siste tida?
%vorfor det#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Bruker dere open source komponenter i produktene/tjenestene deres?
.ortell litt om komponentene#
%vilke prosesser ligger bak valg av komponenter#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Hvor mange av produktene har open source, hvor stor andel av produktene bestr av open source.
I hvor stor grad benytter dere O komponenter?
%vor mange av det siste rs prosjekter !ar open source, og i !vor stor grad.
Her kan det vre greit tenke p hvor lang tid det ville tatt egenutvikle brukte komponenter
kontra hvor me som er egenutviklet.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Hva er rsaken til det.
Har komponentbruken forandret seg noe den siste tida?
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
D!S"#S$%&'
Hva kom frst! bruk av open source verkty eller open source komponenter!
eller kom det kanskje samtidig?
%ar dere noen mening om sammen!eng mellom bruk av open source verkt eller komponenter#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Hvorfor er det slik?
%ar tillit til open source noe si#
%ar plattform noe si#
%ar alder noe si#
%ar kjennskap til open source noe si#
(r funksjonalitet overordnet ting som pris og tilgang til kildekode#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
"nnet#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

You might also like