45
Eclipse: How It Works Ian Skerrett Vice President Marketing Eclipse Foundation

2012.05 eclipse how it works

Embed Size (px)

DESCRIPTION

Presentation at the Eclipse Day Toulouse event on May 24, 2012

Citation preview

Page 1: 2012.05 eclipse   how it works

Eclipse: How It Works

Ian SkerrettVice President MarketingEclipse Foundation

Page 2: 2012.05 eclipse   how it works

Agenda

• A quick introduction to Eclipse• Eclipse Open Source Engineering Processes• Open Source Business 101• The Open Source Maturity Model• Eclipse Industry Working Groups

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 2

Page 3: 2012.05 eclipse   how it works

Open Source Questions

• Is Open Source chaotic?• How does development really work?• What about the Open Source community?• How do you manage community

contributions?• How do you plan in Open Source?

24-May-2012 3Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 4: 2012.05 eclipse   how it works

Agenda

• A quick introduction to Eclipse• Eclipse Open Source Engineering Processes• Open Source Business 101• The Open Source Maturity Model

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 4

Page 5: 2012.05 eclipse   how it works

Eclipse: The Leading Developer Community

24-May-2012 5Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 6: 2012.05 eclipse   how it works

Members of Eclipse

24-May-2012 6Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 7: 2012.05 eclipse   how it works

185 members 11 Strategic Members

1 Enterprise Member 1025 committers, representing 100+ organizations

The Members of Eclipse

Strategic Members

Enterprise Members

24-May-2012 8Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 8: 2012.05 eclipse   how it works

Eclipse 3.0 Eclipse 3.1 Callisto Europa Ganymede Galileo Helios Indigo0

10

20

30

40

50

60

70

3

7

10

2123

33

39

62

1718

24

33

46

8 Years in a Row

Indigo62 Projects46 Million Lines of Code400+ committers49 companies18 countries

24-May-2012 9Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 9: 2012.05 eclipse   how it works

So Eclipse Has...

• Millions of users• Thousands of products• One thousand developers• Hundreds of companies, hundreds of projects• Predictable schedules• World class intellectual property management• Fifteen employees

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 10

Page 10: 2012.05 eclipse   how it works

Agenda

• A quick introduction to Eclipse• Eclipse Open Source Engineering Processes• Open Source Business 101• The Open Source Maturity Model

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 11

Page 11: 2012.05 eclipse   how it works

Eclipse 3.0 Eclipse 3.1 Callisto Europa Ganymede Galileo Helios Indigo0

10

20

30

40

50

60

70

3

7

10

2123

33

39

62

1718

24

33

46

8 Years in a Row

Indigo62 Projects46 Million Lines of Code

24-May-2012 12Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 12: 2012.05 eclipse   how it works

Platform Modularity: The Eclipse Experience

Run-time

Plug-insP

latf

orm

New Plug-ins are First Class Citizens – same footing for everyone

Open API and commercially friendly licensing – Low barriers to Entry

Ease of Integration and Extensibility Spurs Innovation

Competition can take place on implementations – users decide winners

Successful Ecosystems are built on this model!

24-May-2012 13Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 13: 2012.05 eclipse   how it works

The Project Lifecycle

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 14

Page 14: 2012.05 eclipse   how it works

How is the Development Done?

milestonesfirst

APIfirst

endgame

retrospectives

always havea client

built tolast

continuousintegration

community involvement

new & noteworthy

early incremental planning

continuous testing

consume yourown output

componentcentric

drive with open eyes

validate

reduce stress

learn

enable

attract to latest

transparency

validateupdate

dynamic teams

show progress

enable

explore

validate

“The Eclipse Way”Erich Gamma and John Wiegand

24-May-2012 15Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 15: 2012.05 eclipse   how it works

Open Source Rules• OS projects are highly structured

– explicit rules (more than in most closed source projects)– Who may change the source code?– Who is responsible for delivering?– Who decides about the architecture?– …

• Commit rights: public "meritocracy"– only a small number of developers can modify the source code:

committers– key architecture defined by a small team of lead developers– peer pressure among committers – continuous reviewing– continuous review and feedback by the community– contributions from outside have to be reviewed by committers

24-May-2012 16Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 16: 2012.05 eclipse   how it works

Planning

milestonesfirst

APIfirst

endgame

retrospectives

always havea client

built tolast

continuousintegration

community involvement

new & noteworthy

early incremental planning

continuous testing

consume yourown output

componentcentric

drive with open eyes

validate

reduce stress

learn

enable

attract to latest

transparency

validateupdate

dynamic teams

show progress

enable

explore

validate

24-May-2012 17Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 17: 2012.05 eclipse   how it works

Planning• Release themes establish big picture

– Community input– Planning council new source of input

• Component teams define component plans• Project Management Committee collates initial project plan

draft – Tradeoff: requirements vs. available resources– committed, proposed, deferred

• Plan initially spells out– themes– milestones– compatibility (contract, binary, source, workspace)

• Plan is alive

24-May-2012 18Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 18: 2012.05 eclipse   how it works

Ongoing Risk Assessment

• Address high risk items and items with many dependencies early

• Maintain schedule by dropping items (if necessary)– we will drop proposed items – we hate to drop committed items– prefer fewer completed items than more items in progress

• High risk items are sandboxed to reduce risk to other items– prefer to serialize highest risk items (to minimize

integration pain)

24-May-2012 19Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 19: 2012.05 eclipse   how it works

Project Rhythm

milestonesfirst

APIfirst

endgame

retrospectives

always havea client

built tolast

continuousintegration

community involvement

new & noteworthy

early incremental planning

continuous testing

consume yourown output

componentcentric

drive with open eyes

validate

reduce stress

learn

enable

attract to latest

transparency

validateupdate

dynamic teams

show progress

enable

explore

validate

24-May-2012 21Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 20: 2012.05 eclipse   how it works

Milestones• break down release cycle into milestones

– We use 6 weeks

• milestones are a miniature development cycle

– Plan, execute, test, retrospective

• milestone builds are good enough to be used by the community

milestones reduce stress, keep quality high

• before/after

t

quality

ready to ship

3.5 3.6“hanging rope”

Page 21: 2012.05 eclipse   how it works

Continuous Integration

• Fully automated build process• Build quality verified by automatic unit tests • Staged builds

– nightly builds (some projects even more frequently)• discover integration problems between components

– weekly integration builds• all automatic unit tests must be successful• good enough for our own use

– milestone builds• good enough for the community to use

24-May-2012 23Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 22: 2012.05 eclipse   how it works

Practice Makes Perfect

• 7 milestones, 4 release candidates– 11 chances to practice releasing

• Projects denoted N0, N1, N2, N3 – Build in order of dependencies– Early builds takes days, later builds take hours

• Build to shared repository, make everything available to the community for feedback and testing

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 24

Page 23: 2012.05 eclipse   how it works

Community Involvement• An active community is the major asset of an OSS project• OSS project gives and takes:

– OSS developer gives: • listen to feedback and react• demonstrate continuous progress • transparent development

– OSS developer takes:• answer user questions so that developers do not have to do it• report defects and feature requests• validate technology by writing plug-ins• submit patches and enhancements

• Give and take isn’t always balanced– community isn’t shy and is demanding

24-May-2012 26Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 24: 2012.05 eclipse   how it works

Testing

milestonesfirst

APIfirst

endgame

retrospectives

always havea client

built tolast

continuousintegration

community involvement

new & noteworthy

early incremental planning

continuous testing

consume yourown output

componentcentric

drive with open eyes

validate

reduce stress

learn

enable

attract to latest

transparency

validateupdate

dynamic teams

show progress

enable

explore

validate

24-May-2012 27Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 25: 2012.05 eclipse   how it works

Testing • Innovate with confidence

• Tests run after each build

• Test kinds– correctness tests

• assert correct behavior– performance tests

• assert no performance regressions– based on a database of previous test run measurements

– resource tests, leak tests• assert no resource consumption regressions

DefectsTesting

Kent Beck – JUnit handbook

Page 26: 2012.05 eclipse   how it works

Agenda

• A quick introduction to Eclipse• Eclipse Open Source Engineering Processes• Open Source Business 101• The Open Source Maturity Model

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 34

Page 27: 2012.05 eclipse   how it works

Why?

• Do any of these matter to your organization?– Cost– Time to market– Agility– Innovation– Industry standards and platforms– Safety– Security

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 35

Page 28: 2012.05 eclipse   how it works

Software Matters to Your Business

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 36

Page 29: 2012.05 eclipse   how it works

© A

IRB

US

FR

AN

CE

S.A

.S. T

ous

droi

ts r

éser

vés.

Doc

umen

t co

nfid

entie

l.

The avionics software beginnings • First significant use of software for avionics : the 80’s

6768 4697071727374 237576777879

200k - A300FF

23k - A300B

4 k

2 M - A310 4 M - A320

12 M - A330/340

1

10

100

1000

10000

65 70 75 80 85 90 95

Year

vo

lum

e (

k.b

yte

s)

Page 30: 2012.05 eclipse   how it works

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 38

50 – 100 networked

ECUs

Mercedes S-ClassInfotainment Subsystem20 Mio. LOC

90% of automotive innovations are realised by software

Page 31: 2012.05 eclipse   how it works

Why an Open Source Platform?• Open Source development model encourages open

innovation– Openness, Transparency, Meritocracy– Vendor neutrality

• Open Source licensing allows competitors to collaborate on shared platforms– No requirement for royalties.– No single control point of intellectual property

• Open Source business model encourages rapid adoption of technology– It is free and easy to access

• Open Source can allow companies to disrupt the business models of their competitors and their supply chain

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 39

Page 32: 2012.05 eclipse   how it works

The Traditional Software Business Model is Broken

Software development cost structures today have no correlation to creating value for customers

80% of new development and maintenance investment goes to build and support infrastructure for which companies derive zero differentiating product value

Infra

Value

24-May-2012 40Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 33: 2012.05 eclipse   how it works

Compete On What Matters

Build this in and with open source, even if that means working with your direct competitors.

Define very precisely what your competitive differentiators are for your customers or you’re going out of business

Focus all possible energies there, and acquire everything else from OSS, or help build it in OSS

Infra

Value

24-May-2012 41Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 34: 2012.05 eclipse   how it works

Or in other words…

Collaborate on the platform

Compete on systems

Infra

Value

24-May-2012 42Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0

Page 35: 2012.05 eclipse   how it works

Agenda

• A quick introduction to Eclipse• Eclipse Open Source Engineering Processes• Open Source Business 101• The Open Source Maturity Model

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 44

Page 36: 2012.05 eclipse   how it works

Maturity Model

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 45

0DENY

VALUEAPPROPRIATED

SINGLE PROJECT MULTIPLE PROJECT

TIME

SCOPE

BUSINESS DRIVENENGINEERING DRIVEN

1USE

2CONTRIBUTE

3CHAMPION

VALUE CO-CREATION

VALUE APPROPRIATION

COUPLING MANAGEMENT

Page 37: 2012.05 eclipse   how it works

ISV Business Drivers

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 46

Use Contribute Champion Collaborate Redefine

Explore

Reduce build costs

Decrease time to market

Fill gaps in feature set of company’s product

Improve software quality

Champion OS project

Steer new functionality and its evolution

Gain positional advantage for company’s product in a market segment

Change value proposition of offer delivered to customers

Page 38: 2012.05 eclipse   how it works

Enterprise Business Drivers

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 47

Use Contribute Champion Collaborate Redefine

Explore

Reduce build costs

Decrease time to market

Fill gaps in feature set of company’s product

Improve software quality

Champion OS project

Steer new functionality and its evolution

Create an industry platform for shared infrastructure

Redefine the relationship with your supply chain

Page 39: 2012.05 eclipse   how it works

Eclipse Moving Forward

• How can we apply Eclipse best practices to building Industry platforms?

• How to enable collaboration and innovation around a common platform?

Page 40: 2012.05 eclipse   how it works

Eclipse Industry Working Group

• Provide a governance structure at Eclipse for industry collaborations and open innovation

• Enable end-user centric collaborations• Open source projects continue to focus on

building and shipping code

Page 41: 2012.05 eclipse   how it works

Eclipse Industry Working Group

• Legal and licensing framework for sharing IP• Governance structure to ensure vendor

neutrality• Best practices for large-scale distributed

development• Technical architecture that allows of

independent and shared innovation

Page 43: 2012.05 eclipse   how it works

Automotive IWG

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 55

Page 44: 2012.05 eclipse   how it works

Machine-to-Machine

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 56

Page 45: 2012.05 eclipse   how it works

Thank You!

Questions?

[email protected]@ianskerrett

24-May-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 57