• No results found

Open Source Software Development

N/A
N/A
Protected

Academic year: 2021

Share "Open Source Software Development"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

Open Source Software Development Open Source Software Development

OHJ- OHJ - 1860 Software Systems Seminar, 3 1860 Software Systems Seminar, 3 cr cr

Imed Hammouda Imed Hammouda Institute of Software

Institute of Software SystemsSystems Tampere

Tampere UniversityUniversity of Technologyof Technology

(2)

Course Information

Course Information

(3)

Basic Information Basic Information

Audience

This course is primarily intended for Ph.D. students but participation is also open for others

Time and place

Wednesdays (15:00-17:00) in room TC131

Some of your presented material may be used in future instances of

the course

(4)

Course Requirements Course Requirements

Attending at least 50% of all the sessions (min of 6 sessions) One oral presentation

Submission of a written report (about 7-10 pages)

Active participation in the discussions is highly recommended, may compensate for absence

The presenter should conclude the presentation with “main lessons learned”,

“future directions”, etc.

The audience should discuss the concluding points, or any other points related to the content of talk, by asking questions to the presenter

The presenter should also prepare at least three questions concerning the topic,

the audience is expected to provide the answers ☺

(5)

Other Practical Information Other Practical Information

Presentation slides should be sent in advance

The written report can be submitted later, but preferably in advance too

Assessment scale: “Passed” or “Failed”

Course webpage:

http://www.cs.tut.fi/~imed/courses/OpenSource/

(6)

Available Topics Available Topics

T1. History of open source in the software engineering world

T2. Popular open source projects (e.g. linux, apache, gnome, etc)

T3. Management of open source projects (e.g. at http://sourceforge.net/) T4. The development organization and communication schemes

T5. The production and release process in open source T6. Used tools and mechanisms in open source practices T7. The open source software repository

T8. The use of high level specifications (req. specs., arch. and detailed designs, etc) in open source

T9. Open source and quality attributes/concerns (e.g. reliability, safety, security, modifiability, etc)

T10. Starting, contributing, adopting, and integrating to/from open source projects T11. Open source and empirical studies

T12. Software documentation in open source projects T13. Evolution of open source projects

T14. Potential benefits and risks of the open source movement T15. Open source and cost estimation models

T16. Evaluating open source software

(7)

Introduction to Open Source Software Introduction to Open Source Software

Development

Development

(8)

Free Software

Free Software [http://www.gnu.org [http:// www.gnu.org/] /]

“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”

Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:

Freedom 0: The freedom to run the program, for any purpose.

Freedom 1: The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.

Freedom 2: The freedom to redistribute copies so you can help your neighbor.

Freedom 3: The freedom to improve the program, and release your

improvements to the public, so that the whole community benefits. Access to the

source code is a precondition for this.

(9)

Open Source Software

Open Source Software [http://www.opensource.org [http:// www.opensource.org/] /]

Basic idea: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing

Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:

Free Redistribution Source Code

Integrity of The Author's Source Code

No Discrimination Against Persons or Groups No Discrimination Against Fields of Endeavor Distribution of License

License Must Not Be Specific to a Product License Must Not Restrict Other Software License Must Be Technology-Neutral

(10)

Free and Open Source Software Free and Open Source Software

Free software (1983) is:

A philosophy

A social movement Stallmanism

Open source (1998) is:

A business model

A development methodology Raymondism

Both approaches share a common vision on access to source code

Richard Stallman

Eric Raymond

(11)

Dimensions of Open Source Dimensions of Open Source

SW Engineering

O rg an iza tio n Cu ltu re

Eco nom y Sociol ogy

Bus iness

L e g a lit y

Eth ics

Psycho logy

Course focus

(12)

The Sociological Dimension The Sociological Dimension

Distributed communities

Working with unknown people

Multi-cultural setting, cultural influences, cultural differences The role of welfare societies

Gender and age studies Political motivation

The formation of evolving communities The notion of trust, reputation, etc

Consensus-based decisions

(13)

The Business Dimension The Business Dimension

Emergence of many successful commercial enterprises based on open source software licensing

Open source as a business model Challenging competitors

Adding value to products

Companies and individuals can collaborate on a product that none of them could achieve alone

Building a user/client community

(14)

The Economic Dimension The Economic Dimension

Economic elements such as pricing, development cost, return on investment

Increasing the competitiveness of the economy of less developed countries

Job creation

Strengthening the role (and the adoption) of Information Technology in rising and developing economies

You are not a consumer only but a producer too

Enforcing cross-border economy

(15)

The Cultural Dimension The Cultural Dimension

Geographic distribution of open source activities The importance of languages (“English”)

Ideological beliefs

The notion of power, authority, and consensus Communication

The history of open source in developer’s own environment

Gender role

(16)

The Organizational Dimension The Organizational Dimension

Non-profit organizations Sponsors

Commercial enterprises

The Onion model of communities

Project leader Core member

Active developer Peripheral developer Bug fixer

Bug reporter Reader

Passive user

(17)

The Legal Dimension The Legal Dimension

There are important legal aspects involved in using open source software Different licensing models impose different restrictions

Classical licenses

GPL: The GNU General Public license LGPL: GNU Lesser General Public license

BSD: was first used for the Berkeley Software Distribution, a Unix-like operating system

MIT: originated at the Massachusetts Institute of Technology

License database

http://www.opensource.org/licenses/

http://www.gnu.org/philosophy/license-list.html

(18)

The Ethical Dimension The Ethical Dimension

The role of ethics is to positively contribute to the community and to avoid all sorts of harm

Personal commitment Responsibility

Honesty

Sense of public good

(19)

The Psychological Dimension The Psychological Dimension

Tolerance and patience

Self-confidence and decision making Stress management

Ambition to help

Motivation and satisfaction

Negative attitudes and prejudices

(20)

The Technical Dimension The Technical Dimension

People in open source communities are people with (technical) quality Open source is a developer and code/configuration-centric development setting

Tools: CVS; bug tacking systems; WIKI’s; build, integration and testing tools Communication: E-mails, instant messaging systems

Open development plan

Many of open source projects/software are of high quality

The marriage of open source and proprietary software

(21)

Example Open Source Projects Example Open Source Projects

Operating Systems

Linux, FreeBSD, GNU/Hurd

General Utilities

GNU Utilities

Languages

GNU C/C++, Perl, Python, Tcl

Windowing Systems

The X Window System, XFree86

Desktop Environments

GNOME, KDE, GNUStep, XFce

Web Browsers

Mozilla

Productivity Applications

ABIWord, GNU Image Manipulation Program

Office Suites

Open Office, KOffice

Server-type software

Samba, Apache, PhP, Zope, MySQL, PostgreSQL

Games

Freeciv, ZSNES, ScummVM

(22)

Example

Example Personalities Personalities

Richard Stallman: founder of the Free Software Foundation and the GNU Project

Eric Raymond: author of the book “The Cathedral and the Bazaar”

Linus Torvalds: initial author and top maintainer of the Linux kernel

Tim O'Reilly: an activist for internet standards and for open source software.

(23)

Example Organizations Example Organizations

The Free Software Foundation http://www.fsf.org/

Free Software Foundation Europe http://www.fsfeurope.org/

The GNOME Foundation

http://foundation.gnome.org/

Linux International

http://www.li.org/

(24)

Example Websites Example Websites

http://www.opensource.org/, a non-profit corporation dedicated to managing and promoting open source

http://www.gnu.org/, a website promoting free software

http://sourceforge.net/, a centralized location for managing open source projects, a source code repository

http://slashdot.org, major community and news site with forum

http://freshmeat.net, major software release annoumcement site

http://advogato.org, the advocate site for free software developers

(25)

Literature Literature

Online digital libraries (IEEE, ACM, Springer, etc) MSR workshop series

OSCON convention series OSS conference series

Empirical software engineering literature Books:

Chris DiBona, Sam Ockman & Mark Stone: Open sources: voices from the open source revolution. O’Reilly, 1999.

Eric S. Raymond: The cathedral & the bazaar. O’Reilly, 2001.

Jodeph Feller & Brian Fitzgerald: Understanding open source software development.

Addison-Wesley, 2002.

Joseph Feller, Brian Fitzgerald, Scott A. Hissam, Karim R. Lakhani: Perspectives on free and open source software. The MIT Press, 2005.

WWW:

http://www.isr.uci.edu/~wscacchi/

http://opensource.mit.edu/online_papers.php

References

Related documents

cerevisiae strains showing the vector backbone in which the constructed promoter (p) – ORF – terminator (t) gene cassettes were inserted. The auxotrophic marker gene is also shown.

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

[r]

Firewall is a sequence of rules that allow packets that go through it to be accepted (and so proceed) or discarded... Three Firewall

In the Resolution, the Parliament proposed the institution of an independent European body responsible for collecting this information and carrying out investigations, and of a

Global Relay’s Message Archiver was developed to provide Broker-Dealers with a highly scalable archival system specifically engineered to assist you in meeting the stringent legal

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

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