You are on page 1of 18

email: idowus@babcock.edu.

ng

SENG411
Open Source Software
Development
Sunday IDOWU, PhD.
Week 1-2
An Introduction to Open Source Software and Open Source software Engineering
 Types of Software: Free Software, Open Source software, free open source
software, licensing, growth and Impact, proprietary software.
 Pragmatism and Idealism
 Open source software engineering
 Open Source Software Community and Practice
 Economy
 Power, Trust and Observations
 Roles of OS and Proprietary software in the Private Sector
Classification of Software
Introduction: Software is everywhere in today’s
world(see[1]).Software development
methodologies and distribution strategies have
undergone a significant transformation. This has
led to the following two distinctions/classifications
 Bundled-This consists of software items
bundled together in an inseparable way such that clients have
to purchase all of the items at once, even when only one is
desired. Further, some software is bundled together with a
‘native’ hardware platform and operating system, making it
very difficult for a client to choose among alternatives once the
platform has been determined.
Example: Microsoft bundles its word processing,
spreadsheet, and presentation software into a
single package called Office.

Client lock-in is said to occur when such bundling forces the client to stay
with a particular software suite or manufacturer even though better
alternatives may be available on the market.

Custom software(Unbundled) is tailored to suit the needs of a particular client,


usually a large client with very specialized needs.
Example: Operation of a bank’s ATM system. Give some other examples!
Open Source Software and Proprietary Software
The Open Source Initiative has clearly specified
the criteria for proper definition of Open Source
Software(OSS),Open Source Definition [1]
Definition: The followings include a complete definition of
Open Source Software
a. Free Redistribution Anyone who received the software legally can
share all of it with anyone he likes without additional payments.
b. Source Code The source code of the software must be distributed as
well or be available at reasonable reproduction cost.
c. Derived Works The modification of the software and the distribution
of this derived work must be allowed.
d. Integrity of the Author’s Source Code The distribution of modified
source code must be allowed although restrictions to ensure the
possibility to distinguish the original source code from the derived
work are tolerated, e.g. requirement of different names
e. License Must Not Be Specific to a Product The rights given by the license must
not be different for the original distribution and any other one even when it takes
place in a totally different context
f. License Must Not Contaminate Other Software The license must not demand
any condition on the software distributed along with the licensed software, e.g.
’distribution only with other open source software’ is not allowed.
g. Distribution of License “The rights attached to the program must apply to all to
whom the program is redistributed without the need for execution of an additional
license by those parties.”
h. No Discrimination Against Fields of Endeavor The license must not forbid the
usage of the software in specific field of endeavor, e.g. business or genetic research.
Proprietary Software
Proprietary software is that which is licensed and distributed as a
binary executable program to individual and corporate clients. The
source code is the private property of the developer.

Free Software demands that the user is granted the following


types of freedom in order to call it ’free software:
a. The freedom to run the program, for any purpose
b. The freedom to redistribute copies so you can help your
neighbor.”

Free and open source software (FOSS) is that which is licensed and
distributed along with its underlying source code. Most significantly, free
means that clients are free to use the software on any computer, to
modify the software, and to share the software with associates and
Licensing, growth and Impact
There are many kinds of open source software licenses, but they fall into two
general categories restrictive versus permissive. What you choose will depend on
both the needs of your project and your philosophy.
In a restrictive license, the software remains open, but there are strong limitations
on any attempt to make closed products which depend on your software.

Any changes to the code actively made available to future recipients in a way they can rebuild
their product
The most prominent example is the GPL, the General Public License from the Free
Software Foundation, which is also known as a copyleft license
Licensing
Permissive licenses, in general, don't require modifications and
enhancements to become generally available, even if it's used
as a proprietary product. Prominent examples are the Berkeley
Software Distribution(BSD) and the Apache licenses.

Note:
So, you have to be careful how you choose a license. It's a
very important decision. It's good to have a thorough
discussion early in the development of a project, because
switching to a different license later can be rather difficult,
Assignment I: Describe at least three other licenses and mention the
differences
Assignment II: Write 2-two page report on the Origin, Growth
and Impact of free software and Open source software

Pragmatism and Idealism


There are many reasons to use open source software and
many attitudes about how to approach it. One significant
difference that some people have is whether they're
pragmatic or idealistic with respect to the use. On the
pragmatic side open source software have faster and better
development which is an advantage.
Reasons: More contributors, more reviewers, more eyeballs, easier
debugging, much easier implementation of continuous development
and continuous integration methods to have a more rapid turnaround of
changes.
Idealism means "free" as in freedom not as in beer. So the software
should be open for ideological and ethical reasons not just technical
ones.
Examples:Suppose you have software that powers a life-saving
medical device perhaps a pacemaker or something that's
controlling insulin injections or something. Isn't it important
that people have access to knowing that that software is stable
and safe? What about elections, what about voting machines?
Open source software engineering (Open Source-based Software Engineering)
This is concerned with the process of creating quality software by
following the standard process, rules, and constraints but using Open
source approach.
 Open Source Software Community and
Practice
 Economy
 Power, Trust and Observations
 Roles of OS and Proprietary software in the
Private Sector
Economy: There is a claim that open source software does not fit in
our economical system because of its distribution terms.
Although making profits might be more difficult today with open source
software than with proprietary software, recent times have shown that
you can earn your living with open source software.
The following presents some ideas on how to take direct or indirect
economical advantage on open source software.
 Total Cost of Ownership(TCO): Before any software is introduced by a
company, the business manager needs to know not only the selling price of the
software, but also any cost that is caused by this decision to produce the
software
How to Calculate TCO
System Preparation: Several additional components are usually required in order
to get the new software running, e.g. hardware devices, infrastructure or other
software
Calculation of TCO (contd)

b. Operation Efficiency: All the different phases of usage of a


software component requires costly additional resources like time
of human actors or hardware devices
c. Failures: Since software operates in an environment failures
could cause damages to entities not being part of the regular
process. For example a robot could smash a window or data could
be erased to mention light incidents.
d. Training: Introducing new software normally means to spend
extra money on improving the skills of your clerks, e.g. books or
courses.
e.Service: Sometimes even the best training cannot transform a
secretary into a computer expert in a fortnight and additional
services are required for certain situations like a system crash.
f.Updates: Although proprietary software is sold as a ’working product’ it normally
contains a lot of bugs. Additionally, related software components or data formats
change frequently in the proprietary software world

g.Purchase: Finally, you have to pay the selling price to get permission to use a
copy of a software product in the proprietary software world.
How to Make Money with Open Source
Software

The following present some examples of how present companies


profit from the development of open source software:
a. Software Distributions
b. Service
c. Hardware (driver software for use )
d. Information
Roles of OS and Proprietary software in the Private Sector

Assignment III: Write a 2-Page report on the role of OS and Proprietary


Software in the Private Sector
Small Business is Unique
Capital/Liquidity Staffing
• Small businesses need the • Small businesses often can’t
best results from minimum afford IT support or training
investments to optimize
• Open source offers active
efficiency
user communities for
• Open source softwares give
businesses productivity
support
without capital expenditures • Open source offers many
online tutorials for training
Open Source software gives small businesses technology resources
and support without requiring new expenditures or additional staffing

You might also like