17
Open Source Software Erik Doernenburg

Open Source Software Erik Doernenburg

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Open Source Software Erik Doernenburg

Open Source Software

Erik Doernenburg

Page 2: Open Source Software Erik Doernenburg

2© Copyright ThoughtWorks, Inc.® 2005

About ThoughtWorks

• ThoughtWorks delivers complex projects using agile methods

• ThoughtWorks has about 650 people in the US, Australia, Canada, India and the UK

• Revenue: $80M

• Areas of expertise:• Java, Microsoft .NET• Open Source Software• SOA, EAI• Agile Development

Page 3: Open Source Software Erik Doernenburg

3© Copyright ThoughtWorks, Inc.® 2005

ThoughtWorks has a track record of creating and supporting Open Source Software (OSS)

• ThoughtWorks funds entire OSS projects and a majority of employees contribute to OSS projects• CruiseControl (the first Continuous Integration tool)• Overview at: opensource.thoughtworks.com

• ThoughtWorks manages OSS projects for clients• EHCache (now the standard cache for Hibernate)• Neo (one of the first persistence layers for .NET)

• ThoughtWorks supports the OSS movement• Sponsorship of The Codehaus portal• Provisioning of CCNetLive• Promotion of OSS at conferences and in white papers

Page 4: Open Source Software Erik Doernenburg

4© Copyright ThoughtWorks, Inc.® 2005

Agenda

• The Open Source movement

• Open Source Software adoption

Page 5: Open Source Software Erik Doernenburg

5© Copyright ThoughtWorks, Inc.® 2005

How did it start?

• 1984 GNU project started by Richard Stallman at MIT• Computing should not be dominated by a few companies• Software should be free (as in speech, not beer)• Source code must always be available• Redistribution must be allowed• GNU Public License deliberately designed to work against

proprietary software

• 1997 Open Source Software (OSS) defined by informal group of leaders in the free software community• Create a marketing campaign to win mindshare • Attempt to address anti-business message of GPL• Open Source Definition allows greater liberties with

licensing, mixes with proprietary software

Page 6: Open Source Software Erik Doernenburg

6© Copyright ThoughtWorks, Inc.® 2005

Why are people and companies interested in OSS?

• Innovation – Sharing source code allows collaboration similar to that of scientific communities• Faster progress as effort is not duplicated• More variety due lower barrier to entry• More creativity as complimentary work is leveraged• More focus as features are driven by end-user needs • Greater robustness as more developers work on code

• Pursuit of knowledge in scientific tradition

• Stimulation and respect for solving complex problems

• New business models; mainly commercial support for OSS

• Reduced cost due to lack of license fees

Page 7: Open Source Software Erik Doernenburg

7© Copyright ThoughtWorks, Inc.® 2005

How does an OSS project work?

• Starts as a one-person show (the project leader)

• Others are recruited on the basis of their skills, motivations, or connections

• A trusted few users are given responsibility for the organisation of work: committers

• Many users contribute code, fixes or documentation, but their work is screened by committers

• The founder may step down and pass on the torch

• Can stay small or grow enormously

Page 8: Open Source Software Erik Doernenburg

8© Copyright ThoughtWorks, Inc.® 2005

What makes a successful OSS project?

• Software is useful and/or interest is generated

• Committers and contributors do most of the actual work

• The project lead provides• Some high-level direction and goals• Approval or otherwise of proposed directions• Release schedules

• Start-up for users is as easy as possible• Good documentation, simple code, installers, etc.

• No promises, but constant progress and regular releases

Page 9: Open Source Software Erik Doernenburg

9© Copyright ThoughtWorks, Inc.® 2005

How is OSS distributed?

• Some very large projects have independent web sites:• Linux, FreeBSD, Eclipse, etc.

• OSS portals with a specific focus• Apache, Codehaus, Tigris, etc.

• Open OSS portals that provide general infrastructure• SourceForge

• Corporate websites• JBoss, Resin, Apple

• CD-ROM/DVD through retail channels

Page 10: Open Source Software Erik Doernenburg

10© Copyright ThoughtWorks, Inc.® 2005

How is OSS supported?

• Informal community support• Successful OSS projects have good documentation.• Mailing lists provide direct support from other users and

the developers.• No guaranteed response time but usually very fast and

pragmatic.• Mailing lists are archived and searchable.

• Formal professional support• Companies provide support for specific OSS projects on

commercial terms.

• Source code is available…

Page 11: Open Source Software Erik Doernenburg

11© Copyright ThoughtWorks, Inc.® 2005

Agenda

• The Open Source movement

• Open Source Software adoption

Page 12: Open Source Software Erik Doernenburg

12© Copyright ThoughtWorks, Inc.® 2005

(Perceived) barriers to OSS adoption

• Quality OSS model works and produces high quality software

• Lack of support Formal and informal support are available

• Velocity of change Quicker releases mean more stability and security

• Lack of product roadmap Progress is transparent Some projects have roadmap

• Licensing caveats Must be considered

Page 13: Open Source Software Erik Doernenburg

13© Copyright ThoughtWorks, Inc.® 2005

Open Source Java application stack

BusinessBusiness DataDataIntegrationIntegrationPresentationPresentationClientClient

SoftwareBuildingBlocks

SoftwareServers

OperatingSystems

MozillaMozilla

VelocityVelocity

WebWorkWebWorkSpring

FrameworkSpring

Framework CastorCastor

SiteMeshSiteMesh TurbineTurbine

Apache Commons, OSCore, Log4JApache Commons, OSCore, Log4J

SWTSWT

iBATISiBATIS

PostgreSQLPostgreSQL

MySQLMySQL

MaxDBMaxDB

OpenAdaptorOpenAdaptor

OpenJMSOpenJMS

TomcatTomcat

GeronimoGeronimo

Apache Web ServerApache Web Server

JBossJBoss

CustomSoftware

Hardware

Network

Linux, BSDLinux, BSD

JDOMJDOM

HibernateHibernateAxisAxis

Page 14: Open Source Software Erik Doernenburg

14© Copyright ThoughtWorks, Inc.® 2005

OSS evaluation and selection

• Find a reputable open source solution that fulfils your• immediate functional needs• likely non-functional needs (scalability, reliability, etc.)• basic legal needs: will you be permitted to use, modify,

and distribute?

• Look under the hood• Join mailing lists and learn what's going on; this is the

usual support channel• Review the documentation and possibly the source code

• When considering replacing commercial products• Evaluate a shortlist of open source alternatives• Measure the cost of change (existing contractual

commitments, skills gaps, implementation costs, etc.)

Page 15: Open Source Software Erik Doernenburg

15© Copyright ThoughtWorks, Inc.® 2005

OSS adoption models

• Use OSS at build-time only• Development team uses OSS tools for testing, building,

integration to support development process• Production system does not contain any OSS

• Use OSS at build-time and run-time• Application is built with OSS building blocks• Deployed on OSS application server / operating system• Data stored in OSS database

• Create new OSS project (build-time or run-time)• Reusable tools or building blocks developed in-house are

open sourced

Page 16: Open Source Software Erik Doernenburg

16© Copyright ThoughtWorks, Inc.® 2005

OSS adopters

• Companies of all sizes adopt OSS to• avoid vendor lock-in• cut license costs• get access to technology that may not be available

commercially

• Fortune 100 companies adopt OSS for additional reasons:• Prefer a model in which they can assert influence on the

development of a product• Benefit from sharing non-critical software

• Every company I have worked in over the last 3 years used Open Source Software in one form or another.

Page 17: Open Source Software Erik Doernenburg

Thank You

Erik Doernenburg

[email protected]