Upload
softwarecentral
View
682
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
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
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
4© Copyright ThoughtWorks, Inc.® 2005
Agenda
• The Open Source movement
• Open Source Software adoption
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
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
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
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
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
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…
11© Copyright ThoughtWorks, Inc.® 2005
Agenda
• The Open Source movement
• Open Source Software adoption
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
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
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.)
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
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.