Slide All
Slide All
Software(FOSS)?
Why choose Free/Open-Source Software?
The processes involved in writing software
understand the importance of source code to software
FOSS and proprietary software
Differences between FOSS and proprietary software
Releasing source code
the merits of releasing source code
Misunderstandings and the truths about FOSS
FOSS engineers and the career paths
examine the skills required for FOSS engineers, and
the career paths
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 1
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Why Choose Free/Open-Source
Software?
Reasons for interest Contents
in FOSS What is FOSS?
Standards (open Major FOSS Packages and
standards) Distributions
Value, quality, innovation Philosophy and History of FOSS
Freedom of choice FOSS Development and FOSS
A lot of flexibility Community
Security FOSS in Business and Case
Studies
Cost
FOSS and Government Policy,
E-government
Purpose of this course
Features and Issues with FOSS
Learn about significance
of FOSS Development Tools
Understand benefits of Software Components and
FOSS Examples of Application
Building
Learn how to use FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 2
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Process of Writing Software
Operating principles of computers
Confirming the basics of computers
Programming languages
Overview of typical programming languages
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 3
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Operating Principles of Computers
Von Neumann architecture
Executes a sequence of instructions stored in memory
Machine language
Binary code
Difficult for people to read
Evolution from 8-bit to 16-bit, then 32-bit and now 64-bit
Computer configuration
Central processing unit (CPU)
Storage devices
Primary storage device (memory)
Secondary storage device (external memory, hard drive,
etc.)
Input/output devices
LCD/CRT display, keyboard, mouse, printer, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 4
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Binary Code and Source Code
Binary code
0010000 0a29 2020 2020 2023 6874 7369 6920 2073
Byte-code
Executed by virtual machine
/*
Used for Java, etc. * Initialize directory-related fields in the mount structure.
*/
static void
xfs_dir_mount(xfs_mount_t *mp)
{
mp->m_dirversion = 1;
shortcount = (mp->m_attroffset -
Programming language (uint)sizeof(xfs_dir_sf_hdr_t)) /
(uint)sizeof(xfs_dir_sf_entry_t);
leafcount = (XFS_LBSIZE(mp) -
Understandable to people (uint)sizeof(xfs_dir_leaf_hdr_t)) /
((uint)sizeof(xfs_dir_leaf_entry_t) +
(uint)sizeof(xfs_dir_leaf_name_t));
Modifiable
Requires conversion to binary code
Conversion by compiler, byte-code
compiler or interpreter
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 5
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Compilers and Interpreters
Compiler
Converts source code to binary code during compiling
Advantages of compiled languages
Low overhead during execution; high-speed execution
Drawback of compiled languages
Changes in source code require recompiling
Interpreter (scripting languages are also a type of
interpreted language)
Source code interpreted at each execution
Advantages of interpreted languages
No compiling required; easy to create codes
Drawbacks of interpreted languages
Inferior performance during execution; not suited for
large-scale systems
Some interpreted languages are first compiled each time to
an intermediate language before being executed
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 6
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Programming Languages
Major compiled languages
C language
Object-oriented extensions of C
C++
Objective-C
Conversion: C -> Assembler* -> Machine language
*Assembly language corresponds nearly code-for-code
with machine language, but is designed for people to
read
FORTRAN, Pascal
Programming languages that use byte-code interpreter
(Virtual Machine type)
Java, C# (.Net)
Countermeasures
What were the countermeasures against such issues in
the past?
Emergence of Free/Open-Source
Spotlighted as a novel software paradigm
Turning point of software business
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 8
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Software as a Product
Traditionally, software had a strong “freebie”
element
Accessories to hardware
OS, applications and other minute software
Basic reservations about paying for immaterial goods
Commoditization of computers (from mid-90s)
Package software became commonplace
Proprietary software emerged as product
Difference between software and material goods
Negligible cost to copy
Rampant illegal copying and piracy
Difference between software and information content
(music, film)
Software requires 100% integrity (zero tolerance for
“noise” or data corruption)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 9
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Issues with Software Products
Illegal copying, piracy Vulnerabilities
Casual copying Security holes
Particularly rampant in Bugs
Asia (but incidence is Increased complexity
not necessarily zero in of software
US/Europe)
Accelerated by
developments in P2P
technology
Winny
WinMX
gnutella
Demise of copyright
system?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 10
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Countermeasures
Measures against illegal Measures to address
copying vulnerabilities
Hardware-based solutions Patches
USB dongles, etc. Security patches
Copy protection technology Bug patches
Superdistribution systems Automatic updates
Digital watermarks Cost of maintenance
Software-based cannot be ignored
countermeasures
License keys
Serial keys
Non-technology solutions
Comprehensive licensing
agreements
Educational initiatives
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 11
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Emergence of FOSS
Freedom to copy
Solution to piracy issue
Does not equate to discarding copyright
Software use managed through license
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 12
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Releasing Source Code
Levels of publishing source code
Inadequate just releasing source code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 13
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Levels of Releasing Source Code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 14
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Benefits of Releasing Source Code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 16
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
“Open Source” is a Proper Noun
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 17
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
“Free Software” and “Free Beer”
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 18
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
More Than Just Publishing Source Code
FOSS checklist
Does released source code actually run?
Is it compilable?
Modifying source code permitted?
Redistribution of modifications permitted?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 19
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Technology and Career Paths
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 20
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Skill Sets for FOSS Engineers
FOSS fundamentals Development basics
Understanding FOSS (01) Computing basics (C1)
Getting involved in FOSS Computer languages (C2)
development (02) System development
techniques (C3)
Unix systems Project management (C4)
Unix operation (l1)
Unix system management (l2) Technology
Unix server management (l3) Choose as necessary
Databases (T1)
FOSS development Networks (T2)
environment Web services (T3)
FOSS development tools (D1) Middle-ware (T4)
FOSS software components Multimedia (T5)
(D2) etc...
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 21
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Types of FOSS Engineers
FOSS system engineers
Develop, maintain and manage systems that use FOSS
System administrators
System integrators
FOSS developers
Engineers who develop the FOSS itself
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 22
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Skill Matrix for FOSS Engineers
System
Applicatio
Package
OSS PBL
System n Developmen Classroom lectures
Administrator Integrator Developer (Project
Developer t Hands-on trainings based
Skill Level 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 Learning)
FOSS
Integra Common
development
O2 OSS Community Participation ¿ of training course!!
integration
Network
I1 UNIX Operation Training course
UNIX
tion
I2 UNIX System Administration ¿ for Linux
I3 UNIX Server Administration ¿ certification
OSS Software Components ¿ We need this types
Dev.
Env.
D1
OSS
Software Development
C3
PMBOK
Project Management ¿ ¿ ¿
Training Course
C4 Seminar
T1 Database ↑ ↑ ↑ ↑ ↑ ↑
Package development
FOSS tuning
T2 Network ¿ ¿ ¿ ¿
development
Web system
T3 Web Service ¿ ¿ ¿ ¿ ¿ ¿
Code reading
Technology
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 23
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Career Paths for FOSS Engineers
t t ont
g nt
ec c t nt l is t i r e nt er n n
in s t a i t je m e a a i s a e m e i o i o
t e ul ch ci ic ial ftw pm sto vic at at
ke al s r
o
Pr ag
e e l e r c
ar S
on A p c
Sp Ap pe So el C u er
s pe du
M C IT an IT s v O E
m de
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 24
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(2) FOSS Application Fields and
Installation of FOSS
FOSS application fields
An introduction to FOSS application fields
Installing GNU/Linux
Examining GNU/Linux installation process
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 25
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Application Fields
Network servers
network servers were the quickest to adopt FOSS
Embedded systems
FOSS is widely used in embedded environment
Desktops
usability needs to satisfy average users
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 26
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Network Servers
Very high affinity between FOSS and network
services
Evident from origins of FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 27
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Internet and Enterprise Systems
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 28
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Embedded Systems
FOSS penetration in embedded environments
GNU/Linux, NetBSD and other FOSS operating systems
support many different CPU architectures
Various embedded platforms are supported
Motivation for porting often evolves out of developer interest
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 30
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Desktops
Desktop use by general users
Last stronghold of proprietary software?
Many users only familiar with Windows or Mac OS
Ease of use nearly the same for all desktop
environments
Application fields
Used in schools
Used by teaching staff in their offices
Used by children in PC labs
Used in routine task applications
Telephone operator terminals, counter terminals
Medical data terminals
Office terminals (private sector and government)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 31
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Deploying FOSS
Deploying a new FOSS environment
Dual booting
CD booting
Using a Virtual Machine
Cygwin
The package to use GNU software on Windows
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 32
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Dual Booting
Install multiple operating systems on one system
Switch between OS’es at bootup
Possible to share data by setting up shared drive
partition accessible to multiple OS’es
Advantages
Operation is same as single boot environment
Runs on one machine; affordable way to try new OS
Drawbacks
Multiple OS’es cannot be used concurrently
Slightly bothersome to partition hard drive and
configure boot loader
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 33
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
CD Booting
OS boots directly from CD-ROM
Leading example: Knoppix
Advantages
Easy to try new environment
CD-ROM based, so minimal risk of harming system
Disadvantages
System cannot be extended
Cannot apply security patches, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 34
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Using a Virtual Machine
Run one OS on top of
another
Ex: Windows on
GNU/Linux
Leading examples
VMware
coLinux
Advantages
Easy to try new OS
Drawbacks
Slower performance GNU/Linux running inside of GNU
due to inevitable
overhead (< 10%)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 35
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Using FOSS on Windows
Growth of FOSS in tandem with Unix
development
Linux and GNU software
X Window System and related software
Unix server software, etc.
FOSS and running on Unix are fundamentally unrelated
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 36
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Cygwin
Implements GNU/Linux-like environment on
Windows
Two major components
API (cygwin1.dll) for emulating Unix APIs
GNU development tool-chain
Excellent portability
FOSS for Unix will (often) run on Windows, if compiled
from source code
X Window System also ported to Windows on Cygwin
Similar software:
Services for Unix (SFU) from Microsoft
SFU is free of charge, but not FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 37
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Installing GNU/Linux
Example: Installing Fedora Core distribution
Process of installation
1. Running the installer
2. Basic configuration
3. Drive formatting / partitioning
4. Network configuration
5. Time zone selection and root password setting
6. Package installation
7. Configuration after software installation (date, display,
and other settings)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 38
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Running the Installer
Popular method
GUI installer
Based on X Window
System; supports mouse
operation
Installer startup
Boot from CD
Boot from network
Boot from disk image on
hard drive, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 39
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Basic Configuration
Language selection
Choose main language to use with system
Keyboard configuration
Many keyboard configurations, depending on the
language
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 40
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Drive Formatting/Partitioning
Select hard drive to install to
Formatting and partitioning
Optionally use installer’s default settings
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 41
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Network Configuration
Configure network environment
Handling of IP addresses
Startup using DHCP
Assign fixed IP address
Hostname
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 42
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Time Zone Selection,
Root Password Setting
Time zone selection
Puerto Rican users should select America/Puerto_Rico
Or select time zone by using mouse to click on world
map
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 43
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Package Installation
Choosing software packages to install
Installation type determines which packages are
installed
If you chose Custom installation, choose each software
package to install
Software packages are sorted by group
Desktops
Applications
Servers
Development, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 44
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Package Installation (Cont’d)
Installation of software packages
Hard drive formatting also performed during this step
Most time-consuming part of installation process
If distribution spans several CD-ROMs, you will be
required to change CDs during installation
Software packages can also be added later on
Restart computer after software installation finishes
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 45
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Configuration After Software
Installation
Detailed configuration of individual software
Separately configure installed software
Display configuration is important
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 46
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Date, Display and Other Settings
Display settings
Configuring X Window System
Usually use default settings
Other settings
Configure sound card, add general user accounts, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 47
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(3) Major FOSS and
Distibutions
OS and middleware
OS (Operating System) : the basis of systems
Middleware: software parts between applications and
OS
Servers
FOSS became popular initially as server applications
Desktops
FOSS applications are expected to be suited for
desktops
Development environment
Cost merits for starting development easily
Major GNU/Linux distributions
Providing an overview of GNU/Linux distributions
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 48
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
OS (Operating System)
GNU/Linux
The leading free/open-source OS
FreeBSD/NetBSD/OpenBSD
Honorable descendants of BSD
Darwin
Open source OS kernel as a basis of Mac OS X
Other free/open-source OS
OpenBeOS (Haiku), Plan 9, GNU/Hurd, etc.
Other OS Trends
Microsoft's shared source and activities of Sun
Microsystems regarding its product Solaris
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 49
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU/Linux
Unix for PC, brainchild of Linus Torvalds
Created in 1991
Bazaar-style development; ported to various platforms
ranging from embedded to mainframe
Architectures supported:
x86, PPC, Alpha, MIPS, SPARC, S/390, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 50
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FreeBSD, NetBSD, OpenBSD
BSD : Berkeley Software Distribution
Unix-compatible OS created by William Joy(Bill Joy) and
Chuck Haley
Based on Unix V6 with networking enhanced
Highly influential on development of today’s Internet-
related technologies
FreeBSD/NetBSD/OpenBSD
Free/Open-Source OS’es derived from BSD
Features
FreeBSD: Emphasis on stability; frequently used for
servers, etc.
FreeBSD derivatives: DragonFly BSD, Firefly BSD, etc.
NetBSD: Runs on diverse platforms
OpenBSD: Emphasis on security
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 51
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Darwin
Kernel of Mac OS X
Released by Apple as FOSS
Mac OS X includes Darwin kernel and GUI (Quartz),
APIs (Cocoa, Carbon), etc.
OpenDarwin Project
Founded in April 2002 by Internet Systems Consortium
and Apple Computer
http://opendarwin.org/
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 52
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Other Free/Open-Source Operating
Systems
Haiku OS (aka OpenBeOS)
Development of BeOS stopped when Be, Inc. was
purchased in 2001
FOSS version of BeOS; development restarted using
released source code
Plan9
Next-generation OS developed by Bell Labs of AT&T
(now of Lucent Technologies), original developers of
Unix
Basic design: All resources including CPU are
distributed across network
GNU/Hurd
Kernel of operating system based entirely on Free
Software; developed by GNU
Aimed at replacing current kernel of GNU/Linux
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 53
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Other OS Trends
Shared Source Initiative
Microsoft’s strategic response to FOSS
Source code for Microsoft products released through
individual agreements with governments, universities
and enterprises
Prohibits release of modified source code
Not free to redistribute
Completely removed from FOSS; does not fit definition
of FOSS
Developments in Solaris OS
Source code released as OpenSolaris in June 2005
Some codes only available in binary files; not fully
FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 54
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Middleware
Web application frameworks
Middleware as a framework for constructing Web
applications
JBOSS, Tomcat, etc...
libraries
Software libraries are enormous assets
Example of libraries
Widget set, graphics library, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 55
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Web Application Frameworks
Tomcat
Part of Apache Jakarta Project
Type of servlet container
Servlet: Mechanism for running Java programs on Web
servers
JBOSS
Implements Java for J2EE
J2EE: Platform for enterprise Java deployment
Simplifies deployment of Enterprise JavaBeans (EJB)
EJB: Java software component implemented on server side
Developed by JBOSS Inc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 56
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Libraries
glibc (GNU C Library)
Collection of most basic and general-purpose
components (printf, etc.)
Called “C Library” because development on Unix
focused on C language
lib*.so
Shared library
Used by multiple programs
Vast array of libxxx.so
libglib, libstdc++, libgtk, etc.
Ex. GNU Readline
Library for editing command lines
Features: History, complementation, etc.
Also provided as libxxx.so: Widget sets, graphics
libraries, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 57
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Examples of Libraries
Widget sets Mesa (OpenGL)
GTK+(Gimp Tool Kit) Open Source
Developed for GIMP implementation of
graphics editor OpenGL
Used by GNOME OpenGL: 3D computer
Qt graphics interface
GUI toolkit developed developed by SGI
by Trolltech
Used by KDE
Mono (.NET)
OpenMotif Open Source
implementation of .NET
GUI toolkit for X
Window System; FOSS .NET framework
version of Motif advocated by
Microsoft; competes
with Java
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 58
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Servers
Web server File sharing
Apache Samba/WebDAV
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 60
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Mail Transfer Agents (MTA)
Sendmail
Long used on Unix (developed in 1982)
Supports various protocols
Many security holes
Commercial version sold by Sendmail, Inc.
Postfix
Inter-operable with Sendmail
Simple to configure
qmail
Fast, robust
No security holes discovered
Simple to configure
Not FOSS, strictly speaking (distribution of modified
versions is restricted)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 61
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Mailing List Server
Mailman
Web-based list administration
Implemented in Python
E-mail archiving
Built-in attachment file and spam filtering
Extensive internationalization support
QuickML
A list created just by sending an e-mail
Implemented in Ruby
Accepts any name for address
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 62
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
POP3/IMAP Servers
qpopper
Qualcomm’s extension of Berkeley popper
Also supports APOP
UW-IMAP
Developed by authors of RFC about IMAP
reference implementation
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 63
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Database Management Systems (DBMS)
PostgreSQL
Based on POSTGRES (previously Ingres) developed at
UC Berkeley
Pioneering object-relational database
MySQL
Developed by Swedish company MySQL AB
Dual license (GPL and commercial license)Streamlined
features and fast performance
Firebird
Free/Open-Source version of InterBase from Borland;
released in 2000
Name clashed with Mozilla Firebird, prompting Mozilla
to rename it Firefox
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 65
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Sharing of files
samba
SMB (Server Message Block) protocol
Windows networking uses SMB to implements file and
printer sharing
Samba implements SMB services on Unix
WebDAV
File sharing and version management specification
Extends HTTP protocol
Web browser interface
Supports any OS on client machines
Only port 80 opened
Be secure using SSL and other security features
Supports major Web servers and browsers including
Apache, etc
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 66
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Lightweight Directory Access Protocol
(LDAP)
LDAP
Lightweight Directory Access Protocol
Protocol for accessing directory services
Central management of user data, etc.
LDAP-compatible software: MS Active Directory, etc.
OpenLDAP
Open Source version of LDAP
Based on SLAPD developed at University of Michigan
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 67
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Information Retrieval
namazu
Full-text search system in Japanese
Features
Builds index in advance for fast searching
Filters can be used to search other files in addition to
text files
Functions as a WWW full-text search system when used
as CGI
XOOPS Zope
Features Application server
Built using PHP and written in Python
MySQL
Simple to install and Plone
build sites CMS that runs on Zope
Top FOSS CMS in Japan
Core developers are
Japanese (from
beginning)
Fork version decided in
May 2005, due to
dissatisfaction with
development structure
Shift to independent
development structure in
Japan
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 69
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Business Applications
Diverse range of FOSS business applications
e-Learning
Moodle, Atutor, FOSS LMS, CFIVE, ...
e-Commerce
OsCommerce
Business Server combines
Mail-, Groupware-, Web-, Database-Server, Document
Management, Anti-Virus, Anti-Spam
ERP (Enterprise Resource Management) and
CRM (Customer Relationship Management)
OpenERP, SugerCRM, OSSuite ERP, Compiere, ERP5
Business specific applications
Cerveza restaurant supply procurement system
Garagardoa reservation management system
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 70
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Desktop Environment
GUI and integrated Multimedia
desktop environment Image processing
What is a desktop CG (Computer Graphics)
environment? Video
Audio, music
Mail and web browser
MUA (Mail User Agent) Others
Web browser Computation, science
and technology
Document processor
Input of non-latin scripts
Editor
Office suites
Type setting
Printing
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 71
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GUI Environment
X Window System
De facto standard graphics environment for Unix
Originally developed at MIT; widely used today
Core development shifted to XFree86 Project, then to
X.Org Foundation
Designed for network transparency
No distinction between local and remote computing
resources
Window Manager
Software to control window size, positioning, overlap,
etc.
Separate from X Windows System itself; installed as
standalone application
Installation of various window managers
twm, tvtwm, Fvwm, WindowMaker, Enligntenment, Kwin,
Metacity, Sawfish, Xfce, etc...
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 72
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Integrated Desktop Environment
What is an integrated
desktop environment?
Provides a common GUI
environment
Enables operations involving
coordination between
applications
Copy & paste
Drag & drop, etc.
GNOME
Integrated desktop
environment based on GTK+
KDE
Integrated desktop
environment based on Qt
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 73
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
MUA (Mail User Agent)
MUAs using typical three-pane
configuration
(Three-pane configuration: Folder
tree, title pane and message
pane)
Evolution
Sylpheed
Thunderbird
MUA derived from Mozilla
MUAs for running within Emacs
Mew
Wanderlust
Text-based MUAs
Mutt
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 74
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Web Browsers
Konqueror
Browser in KDE
Integrates different
media
Firefox
Web browser from
Mozilla project;
designed to be light
and fast
Other browsers
Text-based browsers
w3m
lynx
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 75
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Editors
GNU Emacs
Developed by Richard
Stallman
Extensible using Emacs
Lisp
Not just an editor:
platform for text-
oriented applications
Vi clones
Based on vi created by
Bill Joy
Various vi-compatible
installations exist today
vim (vi improved)
nvi
elvis, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 76
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Office Suites
OpenOffice.org (OOo) Full suite of office software
Derived from StarOffice, OOo Writer word processor
product of German company OOo Calc spreadsheet program
StarDivision
OOo Impress presentation tool
Acquired and now
OOo Draw draw/paint tool
maintained by Sun
Microsystems OOo Base database program
Sun’s strategy
Portions of StarOffice not
restricted under license are
published as FOSS
Comparison with
commercial Office
software
Comparable function-wise
and operation-wise
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 77
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Typesetting
What is typesetting software?
Uses commands to apply a style to a structured
document; used for publishing
Not WYSIWYG (What You See Is What You Get), but
produces high quality output
TeX / LaTeX
TeX : Typesetting software created by Donald Knuth
LaTeX : Extension of TeX created by Leslie Lamport
Features
Strict concept of style, produces high quality output
Simplifies typesetting of formulas
Highly extensible (various extensions are available)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 78
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Typesetting (Cont’d)
Typesetting steps
Edit source in TeX (LaTeX)
Typeset in TeX (LaTeX) and generate DVI file
Check typeset results using xdvi
Convert into PS or PDF file
Print document
GhostScript
Renders PostScript (PS) files
Used for verification on screen, or used on request by
printer driver
xpdf
PDF file viewer program
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 79
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Printing
LPRng
ng stands for “new generation”
Designed to replace common Berkeley LPR for Unix
Provides security and incorporates modern features,
but retains customary interface
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 80
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Image Processing
GIMP
Photo retouching software
Features and ease of use
comparable to commercial
applications
ImageMagick
Set of command-line tools
for image processing
Convert image data format Photo retouching in GIMP
Change size and color
gradation convert, identify, composite,
Various special effects montage, compare, display,
animate, import, conjure
Many other image viewers Command set in ImageMagick
gqview, eog, ee, gthumb...
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 81
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Computer Graphics (CG)
POV-Ray
Ray tracing program for CG
creation
blender
Program for 3D CG creation
Released as FOSS after
development company went CG rendering using POV-Ray
bankrupt
Can be used with YafRay
(Yet Another Free Raytracer)
Open Inventor
VRML rendering library
SGI software released as
FOSS Sample program in Open Inventor
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 82
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Video
xanime, mtv, plaympeg
First wave of video players
MPlayer, Xine
Support many video formats
MPEG, AVI, ASF, WMA, QT, MOV, etc.
Continued development in danger due to software
patent issue
XawTV, tvtime
TV viewing software relying on TV capture device
Kino, Coriander
Saves video from FireWire (IEEE 1394) cameras
Other tools: FFmpeg (video format converter),
Ogle (DVD player), etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 83
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Audio, Music
XMMS (X Multimedia System)
Audio file and CD player
RoseGarden
Desktop music creation tool
Timidity
oftware MIDI synthesizer
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 84
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Computation, Science and Technology
R gnuplot
Statistical computing Plotting software
package
Compatible with S language
SciLab, Octave
Science and technology
computing software
Compatible with MATLAB
Maxima
Formula manipulation
software
Comparable to Mathematica
Capable of high quality Graph drawn in gnuplot
formula display when used
with TeXMacs
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 85
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Kana-Kanji Conversion
FreeWnn
FOSS version of Wnn from Omron Software
Canna
Kana-kanji conversion software developed by NEC
Restarted in 2002 through volunteer-driven
development
Anthy
New entry, developed since 2000; started in response
to the dismal state of FOSS-based kana-kanji
conversion software
Issues with kana-kanji conversion were
No standard common framework
Candidates: XIM, IIMF and UIM protocols
Poor performance due to patents covering conversion
methods
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 86
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Input of Non-Latin Scripts
Increasingly users require non-latin scripts
Goal: provide common framework
Examples: Kanji, Chinese, Hangul, Cyrillic
but also for German, French, Spanish, ...
Smart Common Input Method (SCIM)
full featured input method user interface
for POSIX-style operating systems
Linux, FreeBSD and other Unix
development platform for input methods
currently supports more than 30 languages
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 87
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Development Environments
Languages
Various programming languages are provided as FOSS
Development frameworks
Struts is quoted as a typical example of a framework
which can improve development efficiency and
average quality of products
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 88
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Developing Languages
gcc (GNU Compiler PHP
Collection) HTML-embedded, server-side
Collection of compilers for C, scripting language
C++, Fortran, Java, etc. Main language for Java and
Standard compiler for Web system development
development on Unix LAMP/LAPP
Python
Perl Features block designation
Strong text processing using indentation
Flexibility to use various Ruby
syntax for same process
Developed by Yukihiro
TMTOWTDI: Matsumoto
There's More Than One
Way To Do It. Python and Ruby are rival
Frequently used for system languages
management and CGIs Python is an object-oriented
version of Perl
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 89
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Integrated Development
Environments (IDE)
Eclipse
Development environment
implemented in Java
Supports languages other than Java
Plug-ins for C/C++ development
C/C++ Development Toolkit (CDT)
IDE for various desktop
environments
Kdevelop for Qt/KDE
Anjuta for GTK+/GNOME
Other IDE
WideStudio
For creating GUI applications using
C/C++
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 90
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Development Frameworks
Framework
Implements basic framework for data I/O, error
handling, screen transitions, etc.
Improves development efficiency
Standardization of quality: Same quality regardless of
who writes it
Difficult to implement features outside of framework
Struts
Java-based Web application framework
Uses Java servlet and JSP technology
Uses MVC architecture
Simple and powerful framework
Runs on servlet container such as Tomcat
Developed by Jakarta Project
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 91
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Major GNU/Linux Distributions
About distributions SUSE LINUX
Collection of software Distribution originally
from Germany
RedHat / Fedora The second largest
Top share for share of GNU/Linux
enterprise market
Full of leading-edge Vine Linux
functions Well-tailored Japanese
environment
Turbo-Linux
Focus: desktop Debian GNU/Linux
Ubuntu Many developers in the
Based on Debian world
Focus: desktop
KNOPPIX
Bootable from CD
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 92
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
About Distributions
GNU/Linux distributions
Standard applications do not run on Linux kernel alone
Requires a shell, libraries, tools, etc.
Also requires application software
Distributions bring together necessary software to simplify
installation
Can be installed by novices
What sets a distribution apart?
Different applications or configurations for server/desktop
use
Inclusion of commercial software
Commercial-free versions often available for free download
Package management systems
rpm, deb, Portage
Boot method (hard drive, CD or floppy)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 93
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Red Hat Linux, Fedora Core,
CentOS, etc.
Red Hat Linux
From Red Hat, the largest GNU/Linux distributor
Red Hat focus is on enterprise applications
Development of free Red Hat Linux stopped in 2003
FOSS development shifted to Fedora Project
Clone distributions excluding commercial software
White Box Enterprise Linux, CentOS
Fedora Core
Community-based development under Fedora Project
Supported by Red Hat
Aggressively adopts advanced features
Also serves as Red Hat’s test version
Uses UTF as default character code
Some conflicts with existing software
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 94
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Turbolinux
Developed and marketed by Japanese company
Turbolinux, Inc.
Japan: No. 2 in GNU/Linux server OS market share
(2003 survey) *1
China: No. 1 in GNU/Linux server OS market share
(2003 survey) *2
Released Chinese version of GNU/Linux
Joined UnitedLinux industry consortium in 2002
Purpose: Establish standard distribution for GNU/Linux
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 95
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
SUSE Linux
Features
Adopted KDE as standard desktop environment
First enterprise GNU/Linux distribution to use Linux
kernel 2.6
Includes YaST integrated management tool
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 96
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Vine Linux
Community-based development by Project Vine
in Japan
Commercial version available from Vine Caves, Ltd.
with additional fonts and kana-kanji conversion
Features
Japanese language environment is easy to use
Emphasis on stability
Slow to adopt new features
Employs apt package manager (compatible with RPM)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 97
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debian GNU/Linux
Developed by Debian Project
Debian Project also develops other free operating
systems outside of GNU/Linux
Encompasses nearly 1,000 developers
Features
Uses apt and deb package managers
Vast number of packages (over 15,000)
Entirely made up of FOSS
Various distributions derived from Debian
GNU/Linux
KNOPPIX
Linspire: Windows-like commercial OS
Skolelinux: GNU/Linux distribution for schools
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 98
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
KNOPPIX
Developed by Klaus Knopper
derived from Debian
Features
Boots from CD-ROM
Easy to try out; does not affect existing environment
Can be installed to hard drive
Excellent automatic device detection
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 99
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Ubuntu
Based on Debian
Started by Mark Shuttleworth
Commercial support and development by
Canonical
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 100
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(4) Philosophy and History of
Free/Open-Source Software
History of FOSS
Looking round the evolutionary process of FOSS from
“Birth of Hackers” to current situations where FOSS is
widely spread in enterprise market
Definition of FOSS
Use the term FOSS correctly by knowing strict
definition of “Open Source Software”
FOSS Licenses
To understand meanings of software licenses and
categories of licenses
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 101
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
History of FOSS
Birth of hackers Birth of Linux
Basis of emerging free A pioneer of “Bazaar
software model development”
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 103
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Free Software Movement and FSF
(1980s)
Aim: World where citizens can live with Free
Software alone
GNU Manifesto (1983)
Author: Richard Stallman
Launch of GNU Project (1984)
Develop Unix-compatible OS from scratch
Developed main Unix functions through 1990
Free Software Foundation (FSF) (1984)
Founder: Richard Stallman
Organization for managing copyleft software
GNU General Public License (GPL) V. 1 released (1989)
GPL Version 2 released (1991)
GPL Version 3 released (2007)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 104
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Copyleft
Copyleft
Stipulates freedom of program and freedom of
modified or extended versions
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 105
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Spread of the Internet
ARPANET launched by US Department of Defense
(1969)
NSFNET branched off from ARPANET (1986)
Network for research community
Linked computers at research institutes worldwide
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 106
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Birth of Linux (Early 1990s)
Linux released by Linus Torvalds in October
1991
Student at Helsinki University in Finland
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 108
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Penetration of Enterprise Market
(2000s)
IBM begins offering GNU/Linux support (1999)
GNU's definition
“Free Software”
OSI's definition
“Open Source Software”
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 110
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU Definition
“Free Software” is:
Software with the freedom to run, copy, distribute,
study, change and improve the software
The freedom to run the program, for any purpose.
The freedom to study how the program works, and
adapt it to your needs.
The freedom to redistribute copies so you can help your
neighbor.
The freedom to improve the program, and release your
improvements to the public, so that the whole
community benefits.
Abstract shape: Copyleft
Concrete shape: GNU General Public License (GPL)
OSI-approved licenses
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 113
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Software Licenses
Sales format for software actually for:
Media costs for distribution?
Commensurate cost of contract development?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 114
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Example of Click-On Contract
EULA (End User License Agreement)
Appears first time application is started
User enters into contract when Accept button is clicked
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 115
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GPL
GPL expresses copyleft as concrete license
GPL (GNU General Public License)
GNU Public License (GPL)
If derivatives of GPL’ed software are distributed, it
must be accompanied by source code
Protects freedom of software
Derivatives
Modified source code
Uses GPL’ed libraries
GPL v3 protects software freedom from
Patents
Mechanisms to prevent modification
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 116
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GPL and LGPL
LGPL (GNU Lesser General Public License)
GNU Lesser General Public License (LPGL)
Formerly “The GNU Library General Public License”
Features of LGPL (derivative licenses)
Derivatives based on modified source code must also
conform to LGPL
No license restriction for software using LGPL’ed libraries
through dynamic linking
No clear line between derivative and non-derivative work,
depending on extent of linking
GNU’s position: Work is not a derivative if interface is
clearly defined and software module split off
LGPL a product of compromise?
LGPL a departure from GNU ideals
Software that links to GPL’ed libraries must also conform to
GPL, which could discourage use
Many libraries use LGPL
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 117
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
BSD
Berkeley Software Distribution (BSD) License
BSD ... Berkeley Software Distribution
Much less restrictive
No protection of software freedom
Derivative work can be turned into proprietary
software
Advertising clause removed in June 1999
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 118
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
MPL, Apache License, Dual Licensing
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 121
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS and the FOSS
community
FOSS Distribution: Community to Users
Japan FOSS promotion forum's working group made a
detailed comment on FOSS distribution from
communities to users
User communities
Growth of mutual support culture due to a lack of
vendor support
The next issue is to make a good relationship between
user community and developer community
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 122
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Distribution: Development
Community to Users
Report prepared by WG of Japan FOSS Forum
Findings of Support Infrastructure Working Group
Describes mechanism for FOSS distribution from
development community to users
Published: February 10, 2005
Contents of report
GNU/Linux distributions: Main FOSS distribution route to
users
Organizations central to GNU/Linux distributions
Development community; user support options and range of
support
Summary and major points to consider for FOSS
deployment
Member corporations of Support Infrastructure WG:
NEC, NTT Comware, NTT Data, OSDL, NS Solutions,
Turbolinux, Nihon Unisys, Novell, Nomura Research
Institute, Hitachi, Fujitsu, Miracle Linux, Red Hat
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 123
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Types of Communities
Developer communities
Communities formed around developer groups
Major FOSS projects form large-scale communities
Members take on various roles
User communities
User communities formed for each application
Cooperative role to address lack of information
Use mailing lists and message boards
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 124
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
User Communities
Prolific number of user groups, preceded by
name of FOSS
e. g. Top 10 results of Google search using Japanese
keyword User-kai (June 2005):
Japan PHP User Group
Japan MySQL Users Group
Samba Users Group Japan
Japan PostgreSQL Users Group
ja: Japan: OpenOffice.org Japan Users Group
Japan Apache Users Group
Japan Zope User Group
Japan GNOME Users Group
Japan UNIX Society
Python Japan User's Group
Following results: User groups for KDE, Mathematica,
Analog, Snort, SELinux, Firebird, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 125
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Development Structure
Cathedral and Bazaar-style development
Comparison between two types of development
method
Bazaar-style development was spotlighted starting
with great success of Linux
Roles of project members
Understanding the roles of various project members
Development resources
Services and businesses that support FOSS
development
Examples of the service
Project repositories
Getting involved in projects
Management of FOSS projects
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 126
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Cathedral and Bazaar-Style
Development
Eric Raymond’s 1997 essay The Cathedral and the Bazaar
http://www.catb.org/~esr/writings/cathedral-bazaar/
Cathedral model
GNU described as example of cathedral development, predating
Linux
Note: Cathedral model is not synonymous with development style
of proprietary software
Only specific participants involved in development
No releases until specific results are achieved
Bazaar model
Linux development used as example of bazaar-style development
Open group of participants; respect for individuality; talented
coordinator manages flow of project
Releases any time in mid-development; basic notion of “fast
and frequent releases”
Bazaar-style development since used extensively for FOSS
development projects
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 127
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Roles of Project Members
Project leader: Authority to direct project
Core members: Authority to change source code
Project participants
Regular developers: Provide feedback about new features,
enhancements and bug fixes
Testers (advanced users): Test software and report bugs for
each release
Document authors: Create documents for general users and
developers
Other roles:
Resource development (non-programming)
Evangelism, PR (mailing list and/or Web site management)
Financial supporters and providers of development resources
Supporters for offline activities
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 128
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Development Resources
Project hosting services
Free/Open-source project repositories
SourceForge.net
BerliOS
FSF/UNESCO Free Software Directory
savannah.gnu.org
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 129
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
SourceForge.net
Operated by OSTG,
Inc. (Open Source
Technology Group)
http://sourceforge.net
Services
Project Web site hosting
CVS repository
Bug tracking system
Communication tools
Others services
Japanese version
SourceForge.jp
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 130
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
BerliOS, Free Software Directory
http://www.berlios.de/ http://directory.fsf.org/
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 131
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FreshMeat.net, Rpmfind.net
http://freshmeat.net/ http://rpmfind.net/
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 132
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Getting Involved in Projects
Find software that implements functions you want
Number of projects available online is nearly unlimited
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 133
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Tips for Getting Involved
Honest and factual reporting
Important to provide objective data when reporting bugs
Reproducibility
Configuration, what you were doing, and what happened
Include error messages, logs
Include a description
Never send just your code (worst thing you can do)
Use simple and concise sentences to describe your code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 134
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Project Management
Personal relationships are critical
Worldwide development
Enables round-the-clock development: requires use of
various communication tools
Progress of project accelerated by contributions from others
Requires communication skills
Requires proper assignment of roles based on contributions
to development
Share source code through the Internet
SourceForge.net lists 1,000,000 developers and 100,000
projects
Accelerate development through frequent releases and quick
revisions
Does not ensure quick completion
Ensure high quality and strong security through “eyes of
many”
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 135
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Topics Related to FOSS Development
Project forks
There might be cases that project is divided by two
opposing points of view about its direction
Source code tree is branched at some point
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 137
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Stable Versions and Development
Versions
Bazaar model
Policy of fast and frequent releases
Conservative users inconvenienced by trial-and-error
approach to new features
Releases separated into stable versions and
development versions
Development versions: Source code heavily modified
For developers and cutting-edge users
Addition of new features
Odd version numbers: 1.1->1.3->1.5…
Stable versions: Changes kept to minimum
For general users
Incorporates bug fixes, security patches, etc.
Well-received features sometimes back-ported from
development versions without waiting for major update
Even version numbers: 1.0->1.2->1.4…
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 138
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Project Forks
On rare occasions, projects can branch off
Examples of project forks
XFree86 -> X.Org
Emacs -> XEmacs
Sometimes projects fork and merge again
Emacs -> Mule -> Emacs
GCC -> EGCS (Experimental/Enhanced GNU Compiler
System) -> GCC
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 139
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Advantages of Free/Open-Source
Development
Fundamental advantages of program
development on FOSS platforms
Low cost (although Free Software does not mean free of
charge)
Comes with source code
High scalability (everything from embedded to mainframe)
Use existing Unix technology
Ability to use Unix technology and existing software assets
on low cost hardware (PC-compatible machines)
Increasing availability of development tools for
various applications
Mission critical fields
Image processing, multimedia, science and technology
computing, etc.
Embedded applications
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 140
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Risks of Free/Open-Source
Development
Shortage of FOSS engineers
Demand outstripping supply (both for user enterprises and system
integrators)
Urgent need for human resources development programs, training
environments, training materials and university education
Retraining of Unix engineers offers shortcut
Lack of guarantees and support
Shift needed from volunteer development to enterprise support
Support issue highly dependent on technical capabilities of user
company
Lack of experience
Newness of FOSS development model
Knowledge of how to collaborate with development community
still to come
Challenge of finding balance for securing intellectual property
rights
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 141
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Communication
Who develops software?
Communication is critically important
Communication tools
On-line communication utilizing various tools
What kind of tools are used?
Off-line communication
Importance of off-line communication
Participating in conferences
Communicate actively via off-line meeting
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 142
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Communication Tools
Methods of online communication
E-mail exchange between developers
Mailing lists administered by project
Developer mailing list: [email protected]
User mailing list: [email protected]
Message board on project Web site
IRC (Internet Relay Chat) and other chat systems
Wiki, developer blogs
Conventional tools to supplement online
communication
Telephone, fax, etc.
English is the universal language of communication
Overall communication skills more important than English
ability
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 143
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Online Communication Methods: Pros
and Cons
Pros Cons
Familiar user interface Not suited to discussion
E-mail
between multiple persons
Familiar user interface Redundancy from copies
Mailing list
of all messages
Message Accessible, shows flow of Discussion tends to
board discussion become derailed
IRC and other Allows for instantaneous Not suited to in-depth
chat systems discussion discussions
Emphasis on Comparatively static
Wiki
documentation medium
Blogger can assert own Not designed for
Blog
opinions discussion
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 144
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Offline Communication
Power of offline communication
Significance of face-to-face communication
Non-verbal communication
Body and hand language
Expression, tone of voice, general mood, etc
Sometimes accelerates development through kinship
and understanding personalities of others
Limits of online communication felt during:
Eruption of flame wars
Observance or non-observance of netiquette
Difference between written and spoken words
Difficult to convey subtle nuances through writing
Could be that social gatherings are most
important
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 145
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Participating in Conferences
FOSS-related global conferences
Libre Software Meeting/ Rencontres Mondiales du
Logiciel Libre (France)
LinuxTag (Germany)
Ottawa Linux Symposium (Canada)
Many others such as DebConf, BSDCon, etc.
Actively interact with others
Advantages
Get word out about own project
Get advice about software design and implementation
Could lead to cooperation with developer teams
Mutual exchange between developers and users
Build personal network, exchange information, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 146
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Developers
FLOSS Surveys
Developer background and Involvement
When FOSS developers get involved in their
development?
Type of involvement
What is their involvement in FOSS projects?
Global involvement
Realities that global communications on FOSS activities
Compensation
Do they receive money in return for their work?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 147
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FLOSS Surveys
What is a FLOSS survey?
Provides insight into conditions of FOSS developers
Analysis-based online survey
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 148
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Free/Libre/Open Source Software
Japanese Developers Online Survey
FLOSS-JP Survey
Survey aimed squarely at FOSS developers
Period: September 1, 2003 to November 1, 2003
Online survey and questionnaires distributed at conferences
Valid responses: 547
Survey content
FOSS/FS experience, level of involvement, personal profile
Initial impetus for getting involved in FOSS/FS development,
reasons for staying involved, personal views
Income from FOSS/Free Software development, sponsorship
income, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 150
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Reason for Getting Involved
Initial reason for getting involved in project
Released program I wrote myself: 36.5%
Sent in patch: 16.2%
Exchanged e-mail with author: 10.7%
Replied to user’s question on mailing list: 10.5%
Reported bug: 10.5%
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 151
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Reasons for Staying Involved
Own motivation for continued development
(multiple responses allowed)
Learn new skills: 64.9%
Share knowledge and skills: 48.9%
Solve problems not possible with proprietary software:
29.2%
Improve FOSS/FS from other developers: 24.9%
Realize new idea for software: 22.5%
Two-part question
Own motivation
Opinion on motivation of others
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 152
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Type of Involvement
Main types of involvement (multiple responses
allowed)
Develop main functions: 52.1%
Write bug fixes: 36.0%
Write patches: 33.6%
Testing: 20.9%
Document translation: 14.3%
Document preparation: 14.0%
Packaging: 12.5%
Localization: 10.8%
Project management: 10.2%
User support: 9.8%
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 153
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Global Involvement
37.7% involved in global development
community
Mainly active in Japanese community: 62.3%
Mainly active in global community: 16.1%
Involved in both: 21.6%
English ability
68.3% feel own ability is limited
English ability and level of activity
Not necessarily related
Depends on enthusiasm and patience
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 154
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Compensation
Only 26.8% of developers receive direct income
from FOSS activities
41.2% have profited indirectly from FOSS activities
Hired or found new job due to FOSS development
experience: 9.6%
Data indicating social recognition as technical
experience
Awareness of involvement in FOSS
development
School/employer not aware of own involvement in
FOSS: 40.8%
Preference: Desire to be involved in FOSS
development as part of work
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 155
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(6) FOSS Business
Reasons for interest in Entry of Major
FOSS business Vendors into FOSS
Relation between business
changes of IT Many manufacturers
environment and FOSS are moving in FOSS
business business market for a
variety of reasons
Factors driving FOSS
business
How is the market trend?
Types of system
development using
FOSS
Examining typical FOSS
systems
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 156
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Reasons for Interest in FOSS Business
Changes in IT environment
Enormous improvement of S/W, H/W and highly
sophisticated network infrastructure (wide use of the
broadband Internet)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 157
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Changes in IT Environment
Advances in hardware and implementation of
software
Faster CPU speeds
Moore’s Law
CPU clock frequencies nearing their limits
Trend in technology development shifting to parallel and
distributed computing
Advances of software technology
P2P technology
Multimedia technology
Advances of software design methodologies
Spread of Internet
broadband (ADSL) connectivity
Now possible to freely download large-scale software
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 158
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Changes in the Software Business
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 159
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Shift from Package Sales to Services
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 160
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Factors Driving FOSS Business
Expanding GNU/Linux related market
GNU/Linux has already been in use in many fields of
practical business
Network servers, mission-critical systems
Computational applications, desktops
Embedded systems
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 161
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Growth of GNU/Linux Market
Internet servers
Web, e-mail, DNS, firewalls
Already established in this field
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 162
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Growth of GNU/Linux Market
(Cont’d)
Science and technology computing
Simulations, analysis, data mining
GNU/Linux share rapidly growing; field naturally suited to GNU/
Linux
>85% of Top500 run GNU/Linux
Top 5 all run GNU/Linux
Linux Networx (2300CPU, 7.6TFlops)
GNU/Linux used lately for grid systems research
Desktop GNU/Linux
Major factors: Spread of FOSS office suites, low cost PCs, etc.
Many issues to clear before spread of GNU/Linux in Asia
Embedded GNU/Linux
Dedicated devices for specialized applications: hard disk
video recorders, Sharp Zaurus PDA, OpenMoko phone
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 163
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU/Linux Market in Japan
Billion
Japanese Forecast for Growth of Linux Business in Japan
Yen
500
400
Linux SI
Support
210
Linux PF(HW,SW)
300
160
120
200
130
94
80 100
80
100
63
55
110
90
55 70
48
0
2003 2004 2005 2006 2007
Source: NEC Corporation
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 164
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU/Linux Environments
(World)
Thousands of
Forecast for Growth of Linux Environments Worldwide
deployments
4500
4000
3500 non-paid
paid
3000 1816
1689
1564
2500 1448
1353
2000 1300
1281
1500 1270
1132
1000 2012 2133
1709 1863
1554
1363
500 1091
712 863
0
2004 2005 2006 2007 2008 2009 2010 2011 2012
Source: IDC, April 2008
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 165
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Types of Systems Development
Using FOSS
Market penetration and reasons for FOSS system
adoption
More than half of small-scale servers adopt FOSS
Major reasons are relatively lower cost and stability of
FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 166
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Market Penetration and Reasons for
FOSS System Adoption
Adoption of FOSS systems on small-scale servers
Where are FOSS systems used?
(Source: Survey by Nikkei Business Publications)
Web servers: 60%
Work group file servers: 50%
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 167
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
LAMP and LAPP Systems
Web service development accounts for large
percentage of Free/Open-Source development
Ranks high in FLOSS-JP Survey
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 168
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Java-Based Systems
Lower development costs
Use Free/Open-Source Tomcat in place of commercial
servlet engines
Side benefit of using Java: reduced OS dependency
System configuration
GNU/Linux + Apache + Tomcat
Comparatively small-scale systems
Used to implement systems comparable to LAMP systems
Large-scale systems
Extensive use of J2EE or frameworks
Use GNU/Linux for running environment
Frequently rely on commercial components to implement
complex business logic
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 169
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Conventional Applications for
FOSS Servers
Information sharing services, operation of portal
sites
Apache used for Web server
Various modules can be used to provide diverse services
Small-scale system integration
Work group server: Combination of standalone FOSS
servers provides adequate service level
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 170
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Major Vendors Moving into FOSS
Business
On-demand computing and FOSS
IBM's GNU/Linux branding strategy
Situation for leading Japanese manufacturers
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 171
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
On-Demand Computing and FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 172
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
IBM’s GNU/Linux Branding
Strategy
IBM views itself as trend-setter for computer
industry
Pride as industry leader for over 30 years
IBM correctly predicted that GNU/Linux would
steadily gain popularity
However, GNU/Linux cannot be owned by any
company
Fear that IBM might lose its advantage
IBM decides to back GNU/Linux
Prevent GNU/Linux from going in its own direction
Build brand image where GNU/Linux is synonymous
with IBM
Can be interpreted as attempt to take over GNU/Linux
brand
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 173
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Situation for Leading Japanese
Manufacturers
Revenue source disappearing for leading
Japanese computer makers
Shrinking market for mainframes (except for IBM)
Shift from domestic Unix to overseas Unix
Types of FOSS
business FOSS specialization
Flagship Package software
System integrator Server sales
NTT Comware, Nihon Embedded
Unisys, etc.
Embedded
Case studies in large-
development tools
scale development
using FOSS In-house business use
Distributor Education
Business strategy of
distributors
In-house FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 175
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Types of FOSS Business
Category Description Leading Companies
Flagship Actively provide everything from contract IBM Japan, Fujitsu, NEC, Hitachi, HP
development of systems using own hardware and Japan, etc.
OSS, to software and hardware maintenance and
support
System integrator Contract development using OSS NTT Comware, NEC Soft, etc.
Distributor Packages sales of Linux with various types of OSS, Red Hat, Turbolinux, Miracle Linux,
commercial software, installation support, etc. etc.
In-house OSS Release own software as OSS; provide support Ten Art-ni, NaCl, ForeOneFirst, etc.
services and contract systems development
OSS specialization Specialization in specific OSS; provide support VA Linux Systems Japan, SRA, Zend
services and contract systems development Japan, etc.
Package software Sales of Linux-compatible versions of own package Oracle, NIWS, Horizon Digital
software; also provide contract systems Enterprise, F-Secure, etc.
development
Server sales Sales of Linux-equipped PCs and servers Dell, Toshiba, Sun Microsystems, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 176
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Flagship Business
(Major Manufacturers)
Receive comprehensive orders for everything from hardware to
software
Business of major hardware vendors
IBM Japan, Fujitsu, NEC, Hitachi, HP Japan, etc.
Use FOSS to drive down costs for development of large-scale
systems
Provide comprehensive solutions
Possess numerous own development packages
IBM in particular strongly pushing FOSS
Provides FOSS resource site and FOSS information
Numerous in-house FOSS projects
Supports GNU/Linux through full range of platforms, from IBM PCs to
mainframes and wearable PCs
Released 500 IBM patents to FOSS community
Reason for market participation by major hardware vendors
System integration anticipated to generate annual profit of US$1.1
billion worldwide
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 177
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
System Integrators
Extension of existing business, only platform has changed
Drive down development costs using PC servers and FOSS
Also reduces vendor dependency
Enables small- and medium-sized vendors to compete as
principal contractors, but competition increasingly fierce
Biggest hurdle is securing FOSS engineers
FOSS deployment requires advanced technical skills
Requires skills to combine multiple FOSS, modify FOSS, keep
up with fast pace of change, etc.
Easier to retrain Unix engineers
Problem: Many engineers only know Windows development
Shortage of business applications
Development above LAMP level often requires ground-up
development
FOSS business applications gradually emerging
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 178
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
NTT Comware
Conducts development to improve GNU/Linux reliability
Cluster solution for non-stop GNU/Linux servers
Ultra Monkey load balancing software (FOSS)
Linux Virtual Server (LVS) load balancing software
Ldirectord for monitoring failures in real servers and removing failed servers
Heartbeat for monitoring operating status of each server
Member of OSDL
Contributes to development of Carrier Grade Linux (CGL) for
telecommunications carriers
GNU/Linux consulting, system building and operations
New markets for GNU/Linux deployment
Apartment entry management system using fingerprint
authentication and L-Box embedded GNU/Linux server
Prototype university business system for Waseda University
Developed using GNU/Linux, PostgreSQL, PHP
Available free of charge to universities across Japan
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 179
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Nihon Unisys
Provides high reliability comparable to Unix
Alicia Ø Advanced Linux Crash-dump Interactive Analyzer Ø
Sponsored by Japan FOSS Forum’s Development Infrastructure Working
Group
Provides environment for kernel crash analysis
Improves reliability of enterprise GNU/Linux
Integrates crash and lcrash tools for analyzing Linux kernel crash dumps,
enabling faster dump editing
Migrated Unix-based database to GNU/Linux for leading travel
agency
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 181
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Distributors
Sell packaged FOSS
Manage software to sell on ease of use
Provide automatic software updates
Develop proprietary installers or package managers
Localize (Japanese language versions)
Bundle with commercial software and commercial
resources (fonts, etc.)
Provide support services
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 182
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Ebb and Flow of Distributors
DistroWatch.com
Portal site for GNU/Linux
distributions
Also lists select BSDs,
etc.
List of worldwide
distributions
Over 300 GNU/Linux
distributions listed
Provides various
information about
distributions
Reviews, new release
information
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 183
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
In-House FOSS Business
Develop own software and release as FOSS
Effectively used by enterprise consortia
Primarily business application software for specific
applications
Case studies
Network Applied Communication Laboratory (NaCl)
Developer of Japan Medical Association ORCA system;
deploying ORCA as FOSS receipt computer
Ten Art-ni
Garagardoa table reservation system for restaurant
industry
ForeOneFirst
Francine Web POS system
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 184
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Network Applied Communication
Laboratory (NaCl)
Developer of software for ORCA standard
receipt computer from Japan Medical
Association (JMA)
Commissioned by JMA Japan Medical
Drives down cost of expensive receipt Association
order
computers, by deploying PC servers and FOSS
Network
JMA proprietary license, resembling GPL Center NaCl
modified software
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 185
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Ten Art-ni Corporation
Corporate member of OSCAR Alliance
Voluntary non-profit association to promote enterprise
FOSS deployment
Garagardoa table reservation system for restaurant
industry
LAPP system (Linux, Apache, PostgreSQL, PHP)
Released as FOSS
Co-developed by Ten Art-ni and New Tokyo restaurant
chain
Cerveza order issuance and acceptance system for
restaurant industry
Co-developed by Ten Art-ni and New Tokyo
GNU/Linux, Apache, Java servlet, Oracle system
Used by several corporations
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 186
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
ForeOneFirst Co., Ltd.
Francine Web POS system
Sought to increase sales as proprietary
product, but product recognition was low ForeOne-
provide
Released by OSCAR Alliance (June 2003) First
FOSS
OSCAR proprietary license, resembling deploy,
operation,
GPL maintenance FOSS
Main functions: cash register, sales support
Cus- Cus- Cus-
history, product ordering, inventory ¿Ø
tomer tomer ¿Ø
tomer
management, store management,
employee attendance management NPO OSCAR Francine
Francine business Alliance use,
improve
Promote sales through association with member member
OSCAR Alliance brand Vendor Vendor
ForeOneFirst ultimately acts as core deploy,
operation,
provider of deployment, customization maintenance
and support services
Cus- Cus- Cus- Cus-
ForeOneFirst also provides support tomer tomer tomer tomer
services for other vendors in OSCAR
Alliance
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 187
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Specialization
Conduct business focusing on specific FOSS
Key factors to success: Ability to hire top engineers
from community and collaborate with community
Requires engineers with advanced skills
Case studies
VA Linux Systems Japan (Linux kernel, NFS)
Zend Japan (PHP)
SRA (PostgreSQL)
SoftAgency (MySQL)
Sendmail
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 188
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
SRA, Inc. Japan
Advantages of independent software
development vendor
Not tied to specific product
Staffed by many Unix engineers
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 189
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Zend Japan, Ltd.
Conducts business focused on PHP
Parent company Zend Technologies founded by main
developers of PHP
Capitalizes on technical expertise as original
developers of PHP
Offers PHP development environment
Provides expertise to improve PHP performance
Script compiler
Caching feature
Web systems development using PHP
Enterprise systems
SugarCRM on Zend: Customer management application
System pairing J2EE with PHP applications
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 190
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Good-Day Inc.
Contract systems development with aggressive
support for FOSS
Also offers advanced technical services such as tuning
for GNU/Linux and PostgreSQL-based systems
Staffed by FOSS engineers to provide synergistic
benefits
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 191
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Package Software Business
Proprietary package software made to support GNU/
Linux
Primarily implemented for server software to expand
platform support
Clear-cut business model for proven software
Product must be clearly differentiated
Without differentiation, users will choose FOSS
Barriers for new software
Requires strong degree of differentiation in terms of performance,
features, ease of use, development environment, etc.
Market established for network, server and storage
management
Opportunities in business knowledge field (accounting, legislation,
administration, etc.)
Not a strength of FOSS developers
Opportunity to improve interface for beginner users
Business opportunity to develop GUI for general users, that
works with
An Introduction to Free/Open-Source existing FOSS, etc.
Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Software
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved.
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
192
Server Sales and Embedded Business
Server sales
Sales of own hardware pre-installed with GNU/Linux
Toshiba, Dell, Sun Microsystems
House-brand PCs
Outside of servers, other applications include factory
automation, specialized applications, etc.
Embedded business
Information appliances
Media servers, hard disk recorders, PDAs, mobile
phones, etc.
Consumer Electronics Linux Forum (CELF)
Established: July 2003
Association to study GNU/Linux standards for consumer
electronics from Matsushita (Panasonic), Sony, etc.
Industrial equipment
BRAINS: Web camera server system based on NetBSD
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 193
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Embedded Development Tools
Business
Customization of FOSS for embedded systems; sales
of development tools and provision of support
services
Case studies
MontaVista Software Japan: MontaVista Linux
Lineo Solutions: uClinux
AXE: axLinux, Shikigami
Red Hat: Contract porting of GNU/Linux
FOSS embedded business offers excellent
opportunities for contract development
Since platform is not a differentiating factor, CE
manufacturers are pushing for common platform using
FOSS
Steady stream of business for contract development
dependent on hardware
Soum Corporation: Employs leading developers of NetBSD
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 194
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Proprietary Business Use
Deliver own services at low cost by deploying
GNU/Linux for servers that demand high
reliability
amazon.com
Google.com
Rakuten
LiveDoor
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 195
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Amazon.com, Google
Amazon.com
Uses multiple HP GNU/Linux machines
Distributed Web server caching
Supports over 20 million product inquiries per hour
Google
Fault-tolerant system based on low cost IA servers
Proprietary automatic failure detection system based on
Red Hat Linux
Distributed system to account for high rate of hardware
failure and distribution of data across multiple hard disks
Google File System for filing data
Map/Reduce Framework for I/O scheduling
Global Work Queue for scheduling queries
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 196
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Rakuten, LiveDoor
Rakuten
Deploys FOSS extensively for its virtual malls
WebLogic and Oracle licenses are costly
FOSS deployed based on balance of service and cost
Primarily uses PHP and MySQL, also PostgreSQL and Tomcat
Software lacks some functions of commercial software
Issues: Shortage of engineers and test suites, frequent version
upgrades
LiveDoor
Deploys FOSS extensively for its portal sites
FOSS suited for rapid deployment of services
Strategically involved in GNU/Linux distribution business
Purchased Turbolinux unit from SRA and turned into
subsidiary
Sells Linspire
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 197
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Education Business
Peripheral business within software industry
Courses, materials
Adequate potential for business as number of users
and developers increases
“Dekiru” series of how-to books are expected to have
constant sales, regardless of software
Certification business
Numerous GNU/Linux certifications already exist
LPIC, RHCE, Turbo-CE, CNA, ComTIA Linux+
Other FOSS certifications have been introduced
¿ ¿¿ Ø PostgreSQL
Rapid growth in number of certification courses offered
by technical schools, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 198
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU/Linux and FOSS
Certification
Certifications for GNU/Linux engineers
All certifications aimed at network administrators
FOSS certifications
Main purpose: Train engineers to use company’s
software
Testing
Organization Certification Level Nutrality Cost
Method
LPIC Level 1 Entry 30,000 Yen
NPO LPI Japan Online exam. Nutral
LPIC Level 2 Middle 30,000 Yen
Turbo-CE Entry Vendor 31,500 Yen
Turbolinux Online exam.
Turbo-CE Pro Middle depended 21,000 Yen
RHCT Middle Practical Vendor 94,500 Yen
Red Hat
RHCE Expert exam. depended 47,250 Yen
CompTIA Linux+ Novice Online exam. Nutral 27,825 Yen
Zend PHP Vendor
Zend Japan Entry Online exam. 33,500 Yen
Certification depended
PostgreSQL CE
Entry 13,650 Yen
Silver Vendor
SRA Online exam.
PostgreSQL CE depended
Middle 18,900 Yen
Gold
An Introduction to Free/Open-Source SoftwareCopyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 199
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Training Courses
Two main types of GNU/Linux/FOSS training courses
Network administrators
Courses basically designed to complement certification exams
such as LPI, etc.
Developers of Web system software
LAMP/LAPP systems development
Increasing number of courses for development of Java
application servers
Schools
Technical schools: 1-3 year GNU/Linux/FOSS engineer training
programs
Professional graduate schools: Development of advanced FOSS
engineers Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
An Introduction to Free/Open-Source Software 200
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved.
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(8) FOSS Government Policy and E-
Government
Reasons for FOSS promotion by national and local
government
Considering reasons why does government promote
FOSS?
Trends in Europe
Examples of Germany (Munich), UK, and France
Trends in Asia
Situations regarding FOSS in east and southeast Asia
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 202
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Reduce Costs and Vendor Lock-In
Reduce costs
Thought to be chief advantage of deploying GNU/Linux
Nearly always true when replacing Unix
TCO gap with Windows is small and debatable
Focus turns to maintenance costs
Maintenance of middleware and applications; cost of
administrative engineers
Purpose of government to spend taxes by generating
and providing public services; governments seek to
deploy FOSS for improved efficiency
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 203
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Transparency of Procurement and
Security
Transparency necessary for government procurement
WTO Ministerial Conference
Established Working Group on Transparency in Government
Procurement Practices
Ensure transparency and competitiveness of public
procurement
Issues
Closed public procurement
Prevent government-initiative collusion
Since source code for FOSS is released, using FOSS promises to
ensure transparency of procurement
Security
China cites need to ensure national security as one reason
for promoting FOSS
Backdoor mechanisms cannot be hidden with FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 204
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Fostering the Development of
Domestic Industry
Critical mission of governments to promote
domestic IT industry
IT vendors from US dominate almost all of package software
market
Governments dislike dependency on foreign sources for
high revenue, core software
Desire to avoid “black boxing” of infrastructure technology
Strong FOSS emphasis in Europe and Asia
Germany: Home to leading FOSS vendors such as SUSE, KDE,
OpenOffice, etc.
China: Announced policy to restrict government procurement to
domestic software
Japan: Local governments active in fostering
local IT industry
Hokkaido, Okinawa, Gifu, Nagasaki Prefectures
Desire to eliminate subcontractor structure for local IT firms
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 205
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Overcoming the Digital Divide
Digital divide
Digital divide created by gaps in income
Digitization among high-income earners
Low-income earners cannot obtain digital equipment
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 206
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Trends in Europe
European Union
Promoting FOSS in aspects of lower cost and
interoperability
Germany
Entering the next stage of “how to deploy FOSS” from
the initial stage of “why FOSS”
UK and France
UK: going deeply into FOSS
France: walking its own independent path regarding
FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 207
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
European Union
Main focus on reducing costs of e-government and
ensuring interoperability
FOSS ideal from standpoint of both cost and
interoperability
Promoting FOSS deployment
EC recommends governments deploy FOSS to reduce e-
government costs totaling 6.6 billion Euros (July 2002)
Launched portal site to encourage spread of FOSS
(December 2003)
Established COSPA to promote FOSS deployment (April
2004)
EU’s IDA Programme recommends OpenOffice.org format
as standard office document format for data exchange
within government sector (May 2004)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 208
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
European Union (cont.)
UNU-MERIT FOSS economic impact study (2006)
Estimates value of FOSS at 12 billion Euro
Expects FOSS-related economy to account for 4% of
GDP in the EU
Identifies FOSS as area in which SMEs find good
environment
Expects FOSS-related jobs to counter brain-drain
towards USA and to close IT gap between EU and USA
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 209
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Germany
Germany at forefront of FOSS deployment
Debates focused today “How to deploy FOSS”
Case studies
Federal Ministry of Interior signs comprehensive procurement
contract for IBM/SUSE Linux machines (June 2002)
Enables low cost procurement of GNU/Linux servers
Federal Ministry of Interior announces guidelines for FOSS
migration (July 2003)
Contains list of replacement software and precautions for FOSS
migration, for desktop through to server environments
Actual FOSS migration increasing at local government level
Munich city decides to migrate 14,000 machines to GNU/Linux (May
2003)
Schwäbisch Hall district migrates 400 machines to GNU/Linux
(2002-2004)
Audit office of Mecklenburg-Western Pomerania completes
migration to GNU/Linux (November 2004)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 210
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Case Study: Munich Municipal
Government
Munich city council decides to undertake GNU/Linux
migration for 14,000 PCs used by 16,000 users (May
2003)
Reasons
To reduce costs? (Not the biggest reason)
IBM/SUSE proposal: $39.5 million
Microsoft proposal: $36.6 million, later cut to $23.7 million
Avoid dependency on specific products
Promote market competition
“Soft” migration
Gradual migration overAug.
5 years
D ec. 2002 client survey conducted
M ay 28, 2002 m igration to O SS resolved at city council
Replace with Web- Jun. 2002 Jun. 2004 detailed planning w ith IBM and SU SE
Jun. 16, 2004 authorized at city council
based systems Jun. 2004 Linux m igration project `LiM ux' began
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 212
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
France
France: Independent approach to FOSS
deployment
Ministry of Culture and Communications to conclude
across-the-board GNU/Linux migration in 2005
French government establishes ATICA (now ADEA) to
promote FOSS (July 2002)
Large-scale deployment of FOSS desktops studied as
part of ADELE strategic plan for electronic
administration (February 2004)
Calls for GNU/Linux migration on 5-15% of desktops by
2007
Defense Ministry signs 3-year, 7 million Euro contract
with consortium of Mandrakesoft and other companies
to gain CC-EAL5 certification (September 2004)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 213
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Trends in the United States
US government
Although US Federal government has “No Policy”,
actual FOSS adoption are increasing
State governments
FOSS deployment is gaining momentum
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 214
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
US Government
“No policy” stance by US federal government:
Strong opposition by leading IT vendors
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 217
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Trends in Asia
East Asia
China, Taiwan and Koria
Northeast Asia FOSS Promotion Forum: cooperation
between Japan, China and Korea
Southeast Asia
Thailand, Malaysia, Philippines and Vietnam
Asia FOSS Symposium: held twice a year
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 218
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
East Asia:
China, Taiwan and South Korea
China
National GNU/Linux strategy
Government-led development of Chinese versions of
GNU/Linux
Red Flag Linux, Yangfan Linux, Qihang Linux
Focus on human resources development
GNU/Linux “1+1+1” Project
Taiwan
Many initiatives to promote FOSS
Hosts many FOSS international conferences
South Korea
Flood of GNU/Linux distributors and ongoing market
realignment
South Korean government rapidly deploying FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 219
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Northeast Asia FOSS Promotion Forum
International collaborative project by Japan, China and
South Korea
1st Forum: Beijing, China (April 2004)
2nd Forum: Sapporo, Japan (July 2004)
3rd Forum: Seoul, Korea (December 2004)
Established joint working groups that engage in
activities
Technology Development & Assessment (WG1), Human
Resource Development (WG2) and Study on Standardization &
Certification (WG3)
Supporting organizations formed in each country
Japan FOSS Promotion Forum created in Japan
Secretariat: Information-Technology Promotion Agency, Japan
(IPA)
METI, Ministry of Internal Affairs and Communications (MIC), and
Japan Information Technology Services Industry Association (JISA)
involved as observers
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 220
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Southeast Asia:
Thailand and Malaysia
Thailand
Leading FOSS nation in Southeast Asia
National Electronics and Computer Technology Center
(NECTEC): Core organization for promoting FOSS
Sales of 100,000 GNU/Linux PCs through ICT PC Project
(now called People’s PC Project)
Development of GNU/Linux Thai Language Extension (TLE),
etc.
Malaysia
Promoting FOSS through national government and
various government organizations
MIMOS (The Malaysian Institute of Microelectronic System)
Established the Asian Open Source Center (ASIAOSC)
MAMPU (Malaysian Administrative Modernization and
Management Planning Unit)
Announced Public Sector Open Source Master Plan (July 2004)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 221
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Southeast Asia:
Philippines and Vietnam
Philippines
Anti-piracy a driving factor for promoting FOSS
Rampant software piracy (reportedly over 60% of all
software)
FOSS promoted as part of e-Philippine program
Vietnam
Rapid acceleration in FOSS promotion, sparked by Asia
FOSS Symposium
Approved master plan: Applying and Developing Open
Source Software in Vietnam for the 2004-2008 Period
(March 2004)
FOSS training courses
Conferences on FOSS migration, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 222
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Asia Open Source Software
Symposium
Jointly sponsored by Center of International
Cooperation for Computerization (CICC), Japan and
organizations in host nations
History
First Symposium: Phuket, Thailand (March 2003)
2nd Symposium: Singapore (November 2003)
3rd Symposium: Hanoi, Vietnam (March 2004)
4th Symposium: Taipei, Taiwan (September 2004)
5th Symposium: Beijing, China (March 2005)
6th Symposium: Colombo, SriLanka (September 2005)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 226
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Trends in FOSS Deployment by Local
Governments
FOSS deployment for e-municipality platforms
FOSS operating environments using Java application packages
Urayasu City
Portal sites for local residents
Yamanashi, Kagawa, Okinawa Prefectures, etc.
Release of software developed under MIC’s collaborative
outsourcing project
Hokkaido, Shizuoka Prefecture
Deployment for internal systems
FOSS servers widely deployed as Web servers, mail servers, etc.
FOSS deployment for desktops
Sumoto City
GNU/Linux servers deployed as gateways to local government WANs
Deployed by 800 local governments
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 227
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Reasons for FOSS Deployment by
Local Governments
Systems procurement by local governments and issues for
local IT firms
Ever-increasing concentration on centralized vendors due to too much
emphasis on established suppliers
FOSS deployment expected to enable participation in systems procurement by
small- and medium-sized local vendors that lack technology for specific
products, leading to promotion of local industry
Tendency to emphasize established suppliers, due to difficulty of separating
systems design, development and operations
Difficulty in judging costs
Regular rotation of IT systems personnel a problem
Regular personnel transfers leads to lack of specialized IT knowledge
Switch to long-term assignments for personnel with highly specialized
knowledge
Implement resident services and practice information
disclosure
Deploy systems according to needs of each situation, without being
limited to existing systems
Transparency of deployment process ensured
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 228
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Systems Procurement by Local Government
and Issues for Local IT Firms
Situation for local governments (LGs)
C reated by M R I based on
LGs may limit bidding to established suppliers m aterials of N agasaki Prefecture
Specifications for a public tender are left up to vendors
Blanket contracts that cover from defining
requirements to systems operations
Additional development is automatically awarded to the same
vendor
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 229
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Case Study: Nagasaki Prefecture
C reated by M R I based on
Systems Procurement by Nagasaki Prefecture m aterials of N agasaki Prefecture
Prefecture staff Divide into Bidding & Order Local firms (2*N)
bidding unit (N) A system Development
Development Spec. Development Spec.
(Requirements, Basic design)
Test Spec. Testing
✗ System development is separated by function
✗ Specification requires the use of FOSS B system Development
Development Spec.
Bidding & Test Spec. Testing
Local firms Order
C system Development
Test Specification Development Spec.
Test Spec. Testing
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 230
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Case Study: Hokkaido Government
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 231
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Education and FOSS
IT use in educational settings
Fundamental idea to use IT equipment in the field of
education
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 234
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Aim of Software Vendors
Students and children seen as future users
Type of enclosure strategy
Reasons for academic pricing
Pretext: For cash-strapped students
Real reason: Capture users at early stage
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 235
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Case Study: FOSS Trials in Education
IPA-sponsored field tests of FOSS desktops in educational
institutions (2004)
GNU/Linux desktops deployed at eight elementary and lower
secondary schools in Tsukuba City and Gifu Prefecture
300 machines deployed and used by 3,000 students
Knoppix trials
Knoppix used by 800 students at eight schools across Japan
(elementary/upper secondary schools, one technical school and
several universities)
Norway’s Skolelinux project (2003)
Skolelinux deployed and evaluated at four elementary and lower
secondary schools in Norway
http://www.skolelinux.org/portal/documentation/reports/
UK’s Open Source Software in Schools project (2004)
FOSS deployed and evaluated at 15 elementary and lower
secondary schools in UK
http://www.egovmonitor.com/node/907
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 236
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(9) Feature of FOSS
Performance Security
How is performance of Is the security of FOSS
FOSS products? product high or low?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 237
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Performance
Innovative and fast development
FOSS is suited for innovative development
Developing speed of active FOSS project is amazingly
high
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 238
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Innovative and Rapid Development
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 241
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Myth of Low Cost
Presumed to be chief advantage of GNU/Linux
deployment
Nearly always true when replacing Unix
Tsutaya Online: 1/4 to 1/5 cost reduction
Amazon.com: Saved $17 million
TCO gap with Windows is small and debatable
Inadequate experience and lack of thorough discussion
for meaningful comparison of desktops costs
Focus ends up being on maintenance costs
Maintenance of middleware and applications
Cost of administrative engineers
Once technology is created to easily manage multiple
desktops
Desktop tug-of-war between Windows and GNU/Linux
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 242
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Evaluating Total Cost of Ownership
Upgrade costs
Usually very low
Frequently expensive for proprietary software
Hardware costs
Runs adequately on older hardware for certain
applications
Systems can be tuned to adequately run on low spec
PCs
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 244
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Cost Disadvantages of FOSS
Frequently identified cost disadvantages
Training costs
Users are generally conservative and resist migrating from
a familiar environment to a new environment
Lack of textbooks and reference material for mastering
FOSS
Support costs
High cost of support due to limited supply of FOSS
engineers
Costs are going to decrease as FOSS becomes more common
Systems modification costs
Servers may need to be modified
Some systems only designed to work with specific clients
FOSS clients may not work within such systems
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 245
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Vendor Lock-In
What is vendor lock-in
An environment or situation that locks in users to
products from a specific vendor
What are the problems with vendor lock-in?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 247
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Examples of Lock-In Business
Strategies
Rewards programs Mobile phone carriers and ISPs
Leading examples Frequently introduce new
Credit card companies models and services
Frequent flier programs Users do not wish to change
Mail order companies and mobile numbers and e-mail
mass merchandisers addresses
Everyday examples Introduction of mobile number
portability may reduce lock-in
Frequent buyer cards
advantage
from retailers
MNP: Mobile Number Portability
Restaurant coupons
Worst case of vendor lock-in
Car dealers
“One yen bid”
Preferential trade-in
Bid on first year at low cost
programs for car brands
from same manufacturer Gain highly profitable private
contracts in after the second
Frequent model changes year
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 248
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Separation of Interface and
Implementation
Separate from implementation to achieve
competition
1. Derive necessary functions and separate into modules.
2. For each module, separate the interface and implementation.
3. Define the interface and establish it as a standard.
Separation of implementation ideally results in fair
competition
Naked implementation
The reason why FOSS is less secure
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 253
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
“Many Eyes” of Developers
Possible reasons for greater security of FOSS
Rapid response to defects
Continuous round-the-clock development by worldwide
developer base
Relatively fast response when critical vulnerabilities or
security holes are identified
Applies to actively developed FOSS projects
“Trojan horse” measures
Difficult to slip unauthorized code into source code
circulated as FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 254
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Naked Implementation
Reasons FOSS is thought to reduce security
Releasing source code provides crackers with enough
information to do harm
Easier to find errors or security holes in
implementation
Counter-argument: Release of source code enables
immediate response if security holes are discovered
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 255
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Security Tools
GNU Privacy Guard (GPG)
PGP encryption tool from GNU
Many MUAs work with GPG
Snort, CodeSeeker
FOSS Intrusion Detection Systems (IDS)
OpenSSH
FOSS implementation of Secure Shell (SSH) protocol
Commonly used today in place of Telnet and remote
shell (rsh)
OpenSSL, GNU TLS
FOSS implementations of SSL (Secure Socket Layer)
protocol
Other tools: OpenVPN, Tripwire (system integrity
check tool), etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 256
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Educational Benefits
Source code as an example
Learn from the precedence of released source code
Leading source code is equivalent to an excellent text
book
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 257
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Source Code as an Example
Study concrete examples
Software design methodologies
Programming techniques
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 258
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Using a Debugger to Verify that
Source Code Runs
FOSS makes it possible to:
Obtain source code
Modify source code
Check source code
Source code that actually
runs
Important to verify using
debugger
Verify operating logic
Learn through practical
experience
Enables study using real
code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 259
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Low Cost Development Environment
and Development Resources
Proprietary software involves tall barriers to
participation
Purchase of development tools
Purchase of development information
Fee-based training
Development resources comparatively lower
cost for FOSS
Distributions include development tools
Information available online
Training largely fee-based
Risks for software technology acquisition under
FOSS
Time and effort
Ability to control risks yourself is where FOSS excels in
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 260
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Educational Benefits of Communities
Rules of communities
Give-and-take of information
Observe netiquette
Prevent flame wars from occurring
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 262
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Necessity of Sustainable Software
Development
Sustainable software development is necessary as long
as users wish to use software
Defects in software discovered on daily basis
Security holes cause problems for others
OK to end development of tried-and-tested software*?
*Tried-and-tested software: Software in which almost all bugs
have been worked out
Are there any issues with suspending software
development?
→ Yes, there are
Reasons
Changes in surrounding environment including OS, dependent
libraries, etc.
Software must be adapted to support to these changes
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 264
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Scientific Progress and Advancement
of Software
Advancement of software and scientific progress
fundamentally similar
Compare the following points
Scientific progress
Knowledge shared and expanded through publication
of papers
Test theory through use of corroborative experiments
Pointless to conduct the same research afterwards
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 265
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
For the Advancement of Software
Freedom of FOSS
The freedom to run the program, for any purpose
The freedom to study how the program works, and adapt it
to your needs
The freedom to redistribute copies so you can help your
neighbor
The freedom to improve the program, and release your
improvements to the public, so that the whole community
benefits
Above four kinds of freedoms prescribed by FSF’s The Free
Software Definition
Copyleft is abstract expression of four kinds of freedom
GPL expresses four kinds of freedom as concrete license
Legal risks
Who secures legal risks in using FOSS?
Diversity
What makes the issue of software complex?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 268
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Refinement of Applications
Characteristics of bazaar development model
Quality not always guaranteed
Separation of development versions and stable versions
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 269
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Underdeveloped FOSS-Related Market
and Support Concerns
Related markets still undeveloped
Business deployment of FOSS often still at explorative
stage
Training and support markets are small
Shortage of FOSS books
Information frequently obtained online
SCO controversy
SCO sent a challenge to FOSS communities in 2003
Responsibility of warranty
Who has responsibility for defects in FOSS?
License violations
GPL violations occur every day in the world?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 272
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Relationship of FOSS versus Copyright
and Patents
Many developers participate in FOSS style
development
Risk of containing code that infringes on copyright or
patents; code can slip in intentionally or through
carelessness
Infringement on patent license
Normal business response
Cross-licensing
Financial resolution (payment of patent royalties)
Both difficult to execute with FOSS
Risk of patent royalties being claimed directly against
users, or a cease-and-desist order could be issued
Example of guard mechanisms
MPLClause to the effect that any withstanding patents
applying to source code must be expressly declared by
the contributor
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 273
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
SCO Controversy
US-based firm SCO Group issues warning against
GNU/Linux users in May 2003
Claim asserts that Unix code was misappropriated for
Linux and infringes on intellectual property held by
SCO
Claim against Linux kernel Version 2.4 and later; SCO
alleges that Linux kernel contains code relating to
NUMA, JFS and SMP technologies
SCO alleges that it purchased rights to Unix from Novell
SCO sues IBM for damages, claiming that IBM
misappropriated code from AIX (March 2003)
Surrounding response
73% of GNU/Linux programmers say that SCO claims
have no merit
SCO controversy barely receives attention today in
2005
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 274
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Responsibility of Warranty
Is no one responsible for FOSS?
Fundamentally provided “as is” and with “no warranty”
Proprietary software: Warranty conditions and exemptions
Does not mean that users can rest easy
Japanese Consumer Contract Act
Section 5, Article 8: “Clauses which totally excludes a
business from liability to compensate the damage to a
consumer caused by such defect” are null and void under a
contract for value
Some experts consider exclusion of any warranty
unenforceable under Japanese law
Situation can also be viewed as business opportunity
Support business
Provide insurance and warranties, legal risk management,
etc.
Open Source Risk Management (US firm)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 275
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
License Violations
Incidents involving license violations
Printer driver
Binaries distributed free of charge contained FOSS code, but
software was not released as FOSS
Manufacturer issued apology on Web site and issued
replacement software with revised license
DivX Converter contained misappropriated XviD code
(FOSS)
PornView incident, in which original copyright notices from
GImageView were stripped
FSF responds to GPL violations
FSF manages copyrights for Free Software
By transferring copyright to FSF, legal authority and
responsibility is centrally managed by FSF
By transferring copyright, FSF has authority to take action
against violations
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 276
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
FOSS Deployment on
Desktops
Trends in FOSS desktop market
What is the trends of software market regarding FOSS
desktop terminal use?
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 277
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Trends in FOSS Desktop
Market
Was 2004 “year one” for spread of FOSS
desktops in Japan?
FOSS desktops begin drawing interest in wake of FOSS
deployment for servers, backbone systems and
embedded applications
OSDL launches new working group (January 2004)
Desktop Linux Working Group
Several trials for FOSS desktops conducted
AIST’s FOSS desktop strategy
FOSS trials for schools (IPA and CEC)
Reference: Decrem, Bart. Desktop Linux Technology & Market Overview. Open
Source Applications Foundation, July 2003
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 279
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Barriers to Spread of FOSS Desktops
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 281
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Diversity
Driving factors behind diversity
What is diversity?
Diversity of data
Issues on data format handled by applications
Diversity of platforms
Issues on environments where applications work
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 282
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Driving Factors behind Diversity
What is diversity?
Freedom to combine
components leads to explosion
in number of combinations
Diversity reflects a high degree
of freedom, resulting in a trade-
off relationship with integrated
feel
Also happens in proprietary
environments
PC-compatible machines
Diversity of devices
Addressed by device
manufacturers
Difficult for minority makers
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 283
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Diversity of Data
Problems arise during external exchange of
electronic documents
Data formats specific to applications
ex. *.doc, *.xls, *.ppt,...
Standardization of documents
Trial to make electronic document interchange smooth
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 287
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Standardization of GNU/Linux
Seek to absorb platform variations
UnitedLinux consortium’s trial
FSG (Free Standards Group)
Non-profit organization dedicated to FOSS-related
standardization
Develops standards
Develops compliance testing tools and tests software for
compliance
Linux Standard Base (LSB) Project
Dedicated to application compatibility between
authorized distributions
Other related standards
Portable Operating System Interface for Unix (POSIX)
Single Unix Specification (SUS) Version 2
Filesystem Hierarchy Standard (FHS)
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 288
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Standardization of Documents
OASIS (Organization for the Advancement of
Structured Information Standards)
Study by standardization committee
OpenDocument
Based on XML
Open standards specification
No platform dependency
No application dependency
Candidate for EU’s public document format
Used in OpenOffice.org 2.0 and KOffice 1.4
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 289
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
I18n, M17n and L10n
“I18n” takes first letter “i” and last letter “n,”
omitting 18 letters
i18n (Internationalization)
Provision of framework that simplifies implementation
of m17n and l10n in applications
Preparation of fonts, input method, basic libraries, etc.
Gettext and message catalogs
m17n (multilingualization)
Modification to support multilingual handling
Not just characters and words, but also line breaks,
dates, currency units, etc.
Concurrent handling of multiple languages separates
m17n from l10n
l10n (localization)
Enables display in each language
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 290
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Examples of Internationalized
Applications
Necessity of internationalized
applications
Owner’s manuals
Translation
Need to display and edit at least
two languages
Handling of characters
Unicode
Issues with support for existing
character encodings
Number of Unicode-compatible
applications is increasing
Implementation still incomplete
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 291
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(11) Development Tools
We have variety of Development tools
FOSS development tools Compiler
Developers make a new Debugger
tool for themselves Analyzer, profiler
Plenty of tools for Source code
distributed development management
Based on FOSS Maintaining
development via the
compatibility
Internet
Localization
GUI-based tools are
increasing, in addition to Documentation
conventional CUI-based IDE based on GUI
tools Bug tracking tools
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 292
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Compiler
Process of building software
Compile
Source code -> object code
Link
Set of object code -> executable code
File describing the process of building software
Makefile
gcc, make, ld
De fact standard tools for FOSS development
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 293
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GCC
gcc (the GNU Compiler Collection)
Development started in 1984 by Richard Stallman
Features
Widely used for commercial and non-commercial
operating systems
Can also be used as cross-compiler
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 294
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Make
To help manage build PACKAGE = hogehoge
SRCS = $(PACKAGE).c
process OBJS = $(SRCS:.c=.o)
Static linking
Combines all object files and libraries from build into one
program
Runs as standalone file but produces large file size
Dynamic linking
Only designates name of libraries
Dynamically links to libraries during execution
Small file size
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 296
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debugging Tools
Debugging
Process of fixing bugs in coding
Basically check for:
Are values for variables as expected?
Is conditional branch correct?
Possible to insert code to output values at various
points, but labor-intensive
Use of debugging tools
Debugging tools
Debuggers, profilers, tracers, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 297
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debuggers
GDB (The GNU Project
Debugger)
CUI debugger
Features: Set
breakpoints, step-by-
step execution, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 298
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debugging Case Study (Part 1)
gscanbus
Tool for acquiring and
displaying data from
connected IEEE 1394
device
Problem (bug?)
Camera icon displayed
as question mark
Camera works
properly
Device type not
recognized
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 299
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debugging Example (Part 2)
Dig through the source code
File names
Icon.h and icon.c files are suspect
icon.h
InitIcons() and chooseIcon() functions called from
outside
ChooseIcon() is suspect; chooseIcon() function is for
initialization
ChooseIcon() in icon.c file
Icon appears to be switched by rom_info>node_type
void chooseIcon(Rom_info *rom_info, GdkBitmap **xpm_node,
GdkBitmap **xpm_node_mask, char **label) {
switch(rom_info->node_type) {
case NODE_TYPE_CONF_CAM:
case NODE_TYPE_AVC:
*xpm_node = xpm_dvcr;
*xpm_node_mask = xpm_dvcr_mask;
*label = "AV/C Device";
break;
case NODE_TYPE_SBP2:
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 300
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debugging Example (Part 3)
Debugging process
Rom_info.h and rom_info.c files exist
Use grep to search location where value of node_type is set
Get_node_type is suspect
Probable solution: Change code to return
NODE_TYPE_CONF_CAM when camera you are using
(unit_sw_version=0x101) is connected
int get_node_type(Rom_info *rom_info) {
char cpu;
if (rom_info->unit_spec_id == 0xA02D) {
if (rom_info->unit_sw_version == 0x100) {
return NODE_TYPE_CONF_CAM;
} else if (rom_info->unit_sw_version == 0x10000 ||
rom_info->unit_sw_version == 0x10001) {
return NODE_TYPE_AVC;
}
} else if (rom_info->unit_spec_id == 0x609E &&
rom_info->unit_sw_version == 0x10483) {
return NODE_TYPE_SBP2;
} else {
resolv_guid(rom_info->guid_hi, rom_info->guid_lo, &cpu);
if (cpu) return NODE_TYPE_CPU;
}
return NODE_TYPE_UNKNOWN;
}
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 301
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Debugging Example (Part 4)
Result
Icon is correctly displayed
Unknown if patch is correct method to fix problem
Fix was possible because of viewable source code
Patch may be incorporated into next version by
feeding back to community
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 302
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Analysis Tools
Analyze how program runs dynamically and/or check
source code statically
To help bugfix, quality improvement and speed up, etc.
Tracers
Tools to trace function calls and system calls
CPU profilers
Measure CPU utilization rates
Memory profilers
Measure memory usage, detect memory leaks
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 304
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU Gprof
Utility for measuring and displaying operating
status of program
Number of calls for each function, processing time, etc.
Shows bottlenecks to consider for acceleration
Using gprof
Specify -pg option when compiling
Execute program normally
# gprof executable-file gmon.out
Sample output
func1 takes up zero time
func2 has room for acceleration
% cumulative self self total
time seconds seconds calls ms/call ms/call name
100.00 0.40 0.40 80 5.00 5.00 func2
0.00 0.40 0.00 3 0.00 133.33 func1
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 305
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Memory Testing
MemProf
Profiler for memory
usage
Test for memory leaks
MEMWATCH
CUI memory testing
tool for C
Detection of memory
leaks, data corruption,
etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 306
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Tracers
Traces function calls and system calls
CTrace
Traces function calls
Ltrace
Traces function calls for shared libraries
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 308
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Diff, Patch
Patchfile (shown at right)
Shows differences between files
patch return 0;
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 311
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU Autotools
Need more than just source code
Need tools to compile and execute same program on
different platforms (OS or environment)
Improve portability and maintainability
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 312
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Localization
English is the universal language of FOSS
development
Many developers and users lack English skills
Desire for different language versions so that many
others can use software
Localization
Enables display of character strings such as menus
and dialogs in different languages
Developers do not need to be versed in each language
Translators do not need to understand source code
Localization tools do not support
internationalization
Multilingual handling, line breaks, etc.
See I18n, M17n and L10n
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 313
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
GNU gettext
Implements localization without major changes to
existing source code
Prepare a message catalog
Surround the internationalized character string with N_()
Ex. Change char *str = "Hi"; to char *str = N_("Hi");
Surround variables that call on the string with _()
Ex. Change printf("%s\n", str); to printf("% s\n", _(str));
Example of message catalog
Replaces “Hi” (msgid) with “Guten Tag” (msgstr)
msgid "Hi"
msgstr "Guten Tag"
msgid "Add"
msgstr "H inzufuegen"
msgid "Edit"
msgstr "Editieren"
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 314
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Documentation
Importance of documentation
Expand user base
User manual
Expand developer base
Helpful for hacking
Above all, documentation helps the original developer
Tendency to forget the purpose of old code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 315
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Doxygen, Javadoc, Doc++
Doxygen/Doc++
Supports Java, C, C++,
PHP, etc.
Output in HTML or LaTeX
formats
JavaDoc
Comes standard with JDK
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 316
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Integrated Development
Environments
Unix and GNU programming centers on
command line tools
Convenience of many tools, but tools are difficult to
master
Difficult to program outside of IDE framework
Demand for GUI-based IDEs as developer base grows
Simplifies migration from Windows development
environments
Leading IDEs
Eclipse with multi-language support
Anjuta for GNOME applications
KDevelop for KDE applications
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 317
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Eclipse
IDE written in Java
Runs on variety of operating systems
High extensibility
Billed as “universal tool platform”
Plug-in architecture to strengthen various features
Plug-ins for Java, C, C++, PHP, Ruby and COBOL
History of Eclipse
IBM Visual Age released as FOSS
IBM sells Eclipse-based IBM Rational Software
Development Platform
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 318
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Bug Reporting Tools
Also called bug tracking systems
Dedicated database for bug tracking
Well-known tools: Bugzilla, Debian bug tracking system (BTS),
GNU GNATS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 320
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
(12) Maintaining Software and
Development Examples
Updating software environments
Maintaining software environments and configuration of
software
Compiling source code and installing builds
Management of software packages
Software components
Efficient use of software component enables us to
reduce man-hour of development
Major software components
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 321
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Updating Software Environment
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 322
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Maintaining Software Environments
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 323
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Configuration of Software
Elements that comprise software
Source code alone is not enough
Other elements needed
Data used by software
Icons and image data
Other data such as sample data, etc.
Documentation
Manual pages
Supplementary information, update history
Licensing information
Configuration files
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 324
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Compiling Source Code and Installing
Builds
Common formats for source code distribution
.tgz, .tar.gz or .tar.bz2 extensions
Tar utility for packing multiple files together
Tools for compressing and uncompressing files
Two sets of tools are frequently used, based on different
compression formats
gzip / gunzip
bzip2 / bunzip2
Procedure for unpacking and compiling source
code and installing build
Unpack source code
tar xzvf XXX.tgz
Configure source code to fit environment
./configure
Install build (Install as root)
make; make install
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 325
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Binary Packages
What is a binary package?
Provided for each platform and contains pre-compiled
and pre-configured binary code packaged with other
necessary files
Examples of package management systems
RPM (Redhat Package Manager)
System developed by Red Hat
Deb: Package management system used by Debian
Difficult to apply binary packages to different
environments
Often cannot be used with different versions of same
Red Hat distribution, due to different library
configurations, etc.
If this happens, you can rebuild the binary package
from the source package to install software
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 326
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Package Management Tools
Main features
Update software that has been revised
Simplify installation of new software
Automatically resolve dependencies (information about
necessary libraries, etc.)
Leading package management tools
up2date
Developed for Red Hat Linux
yum (Yellow dog Updater, Modified)
Developed for Yellow Dog Linux
apt-get
Developed for Debian’s deb format
All three tools support RPM format
sGUI-based management tools also available such as
Synaptic, etc.
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 327
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Software Components
Software components
Efficient to reduce man-hour of software development
Avoid “re-invention of the wheel”
Many components are published as FOSS
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 328
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Finding and Using Software
Components
Finding software components
Standard supplied components such as STL, PEAR, etc.
Download from repository such as CPAN, RAA, etc.
Find using search engine
Specialized libraries or those that have recently started
development
Installing and using software components
Include in program source tree
Install to directories for each language # perl -MCPAN -e shell
cpan> install [module-name]
Often the case for scripting languages
Simplified installation using CPAN Perl module
Install as shared libraries
Interface or binding to enable various languages to use library
After installation, library is called from program being created
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 329
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Types of Components
(Data Structure, XML, GUI, Etc.)
Data structure Web page
STL HTMLParser
XML Database
Libxml, libxslt ODBC, JDBC
GUI Device
GTK+, Qt, Glade Libusb, v4l
Network Multimedia
Imlib, SDL
Web service
OpenSOAP, Mono Security
GnuPG (GPG), OpenSSL
Graphics
Mesa, GLUT
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 330
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Language Specific Components
Applications
Application building example
Location of Application Files
1. Find files containing project information
2. Examine subdirectories in source tree
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 332
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Web System
PHP software components
Browser
PEAR
Library for improving
reusability of code Apache
Mojavi HTML
MVC framework PHP
Smarty Mojavi
View Template
Template engine
Controller
Smarty
Model
Advantages
Simplifies support for PEAR::DB
different DBMSs
DB
Simple to reuse code Postgre
MySQL etc...
Divides labor of SQL
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 333
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Web System – PEAR::DB
PEAR::DB // Connection
$connection = mysql_connect($host, $user, $pass);
mysql_select_db($dbname);
Integrated interface for
// SQL execution
DBMSs $sql = "SELECT * FROM testtable";
$result = mysql_query($sql);
PHP uses different
// disconnection
functions for each DBMS mysql_close($connection);
// SQL execution
Authentication, testing, $sql = "SELECT * FROM testtable";
networking, XML, etc. $result = $db->query($sql);
// disconnection
$db->disconnect();
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 334
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Web System – Smarty
Template engine
<h1>
Improves design <? print $title; ?>
presentation </h1>
Smarty
Used for XOOPS and
Rakuten (leading e- <h1>{$title}</h1>
<table>
commerce site in Japan) {section name=i loop=$array max=”10”}
<tr><td>{$array[i]}</td></tr>
systems {/section}
</table>
Many acceleration
features
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 335
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Application Building Example
Desktop application software
Example: mpatrol
Tool for detecting memory leaks and illegal memory
access
Platforms supported
AIX, DG/UX, DRS/NX, DYNX/ptx, FreeBSD, HP/UX, IRIX, Red
Hat Linux, SUSE Linux, LynxOS, SINIX, Solaris, Tru64,
UnixWare, AmigaOS, Windows, etc.
Where to obtain mpatrol
http://www.cbmamiga.demon.co.uk/mpatrol/
$ tar xzvf mpatrol_1.4.8.tar.gz
...
$ cd mpatrol
$ ls
AUTHORS COPYING.LIB NEWS VERSION config man tests
CHECKSUMS ChangeLog README bin doc pkg tools
COPYING INSTALL THANKS build extra src
$
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 336
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.
Location of Application Files
File configuration after unpacking
AUTHORS Author’s name bin Location for binary code
An Introduction to Free/Open-Source Software Copyright © 2005,2006, Center of the International Cooperation for Computerization (CICC) All Rights Reserved.
Copyright © 2005,2006, Mitsubishi Research Institute, Inc. All Rights Reserved. 337
Copyright © 2008, University of Puerto Rico at Mayaguez. All Rights Reserved.