31
© 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist IBM Global Services [email protected] m

© 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

Embed Size (px)

Citation preview

Page 1: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Eclipse and its CoronaInside a Large Scale Open SourceProject - What Can we Learn FromOpen Source

Aldo EismaConsulting IT Specialist

IBM Global Services

[email protected]

Page 2: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

What is Eclipse?

Page 3: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

What is Eclipse?

• Eclipse - an open extensible IDE for anything and nothing in particular… out-of-box function and quality to attract developers

a development environment for itself endorsement (i.e, products) by some major tool

vendors open-source and supports open source development

industry standard tools platform

Page 4: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Why Should You Care?

• as a tool developer…– seamless tool integration– you no longer have to start from scratch– everybody can become a tool smithEclipse changes the way tools are built

• as a Java developer…– you get a state-of-the-art Java IDE that you can tweakbut Eclipse is more than a Java IDE

• as a user…• you get tools from different suppliers to make a tool environment the

way you want it freedom of choice

Page 5: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

The Way to Eclipse

1999 20032000 2001 2002

Eclipse

19981997

NovOpenSourceannouncement

VisualAge/Java

VisualAge Micro Edition

March2.1

Oct1.0

June 2.0

June Tech Preview

2004

June3.0

Page 6: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Goals• Provide open platform for application development tools

– run on a wide range of operating systems– GUI and non-GUI

• Language-neutral– permit unrestricted content types– HTML, Java, C/C++, JSP, EJB, XML, GIF, …

• Facilitate seamless tool integration– add new tools to existing installed products

• Attract community of tool developers– including independent software vendors (ISVs)– capitalize on popularity of Java for writing tools

Page 7: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Why Open Source?• Full life cycle tool support requires contributions from

partners• Options:

1. proprietary APIs2. defined APIs plus Open Source

• Partners want Open Source– less dependency on IBM – freedom of action for partners:

• complement IBM products • implement their own products

Platform rule: the more ISVs - the more relevant is the platform

Page 8: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

eclipse.org• Eclipse Project

– builds the Platform

– adapt, evolve to meet needs of the community

• Eclipse Tools Project– best of breed tools

• Eclipse Technology Project– research, incubation, education

• Web Tools Platform Project– build tooling for enterprise applications

– just forming…

Page 9: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

eclipse.org• Eclipse Project

– Platform– JDT: Java Development Tools– PDE: Plug-in Development Environment

• Eclipse Tools – GEF: Graphical Editing Framework– EMF, VE, UML2: Modeling frameworks and tools– Hyades: Test, Trace and Monitoring tools– CDT, Cobol: programming tools

• Technology – AJDT: Aspect-oriented Java development tools– Equinox: new more dynamic plug-in architecture– …

Project

Subprojects

Page 10: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Eclipse Community• Open Source is a “community thing”

– an active community is the major asset of an OS project

• OS project gives and takes:– OS developer gives:

• listen to feedback and react• demonstrate continuous progress • transparent development

– OS 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

Page 11: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Community (Cont’d)

• Increase the knowledge-level of the community• Requires intense communication

– mailing list, newsgroups• news group now mostly self supporting

– user maintained wiki

• Community events– code camps – work with committers on your projects– “sprints” – committers meet to work on the OS project– EclipseCon – tech community conference

Page 12: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Growth of a Community

• Vendors are committing to Eclipse– Over 175 vendors including significant commitments

from Rational, TogetherSoft, Serena, QNX, Merant– C/C++ IDE plug-in for Linux being led by QNX

with RedHat, Rational, and MontaVista

• Over 600 open source or freeware plug-in projects available– 450+ plug-ins at: www.eclipse-plugins.info– 150+ plug-ins at: www.eclipse-workbench.com

• 50 Eclipse Innovation Grants Approved

Page 13: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Open Source Questions

• Impact of transition to Open Source?

• Is Open Source chaotic?

• What are the contributions?

• Open Source and quality?

• Planning an Open Source project?

• Open Source and business?

Page 14: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Transitioning to Open Source

• Challenges– transparency

• the community has to be able to observe what is going on to participate

– educate community this takes time and conflicts with the IBM “shipping software”

goal• not all developers enjoy Open Source exposure

– loss of the product support “firewall”• developers interact with customers directly

initial slow-down due to community engagement but increased transparency

Page 15: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Adopting Open Source Tools

• Open Source projects use a common set of tools• Software development:

– version configuration management: CVS– build system: Ant– unit testing: JUnit Integrate OS tools into Eclipse

• Collaboration:– bug tracking: Bugzilla– newsgroups/mailing list– user collaboration: Wiki Web

• FAQ

Page 16: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Open Source Tools (Cont’d)

• Open Source tools are Open Source– high quality– validated for distributed development

• Transition to OS tools was (surprisingly) smooth

Page 17: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Chaotic?

• OS projects are highly structured – with explicit rules• Commit right rules: public “meritocracy”

– only a small number of developers can modify the source base

– key architecture defined by a small team of lead developers

– peer pressure among committers – continuous reviewing

– contributions from outside (patches) have to be reviewed by committers

Page 18: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Contributions? Who is Reporting Bugs?• Eclipse 2.1 (6 months)

– Consortium organizations: 7100 defects (= 1185 / m) month)

• 341 reporters

– Open source community: 3560 defects (= 595 / m) • 1212 reporters

Page 19: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Contributions? Code

• Eclipse 2.1– 42 contributions

• Expectation level for contributions is high– platform contributions have to have product quality

– conforming to all the conventions is difficult

• Larger contributions usually start as independent plug-ins• Products can introduce certification process for external

plug-ins– Example: “Ready for WebSphere Studio Software plug-in ”

Page 20: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Quality? Continuous Integration

• Fully automated build process– Ant based

• Build quality verified by JUnit tests – for a successful Eclipse build > 10’000 JUnit tests have to pass

• Staged builds– nightly builds, weekly integration builds, monthly mile stone

builds

• “Eat your own dog food”

Page 21: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Planning

Eclipse Products

Community

Product requirements

enhancementsfeature requestsbug votes

suggest improvementscommit to plan

PlanPlan

Project Management Committeeposts draft planplans start in embryonic form and are revised throughout the release cyclemilestones/time boxes are fixed early on

Committers

Page 22: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Business?

• Business opportunities – support– services and education– enhancements, e.g., easy install, better documentation– customization

• Who are those guys?– BCG study of 678 Open Source Developers

• 58% professional IT programmers• 30% Open Source is their job!

Page 23: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Extending Eclipse for Fun and Profit…

Eclipse SDK

IBM Websphere Studio family

Eclipse SDK

SAPNetWeaver Developer Studio

Commercial Development Environments

Commercial Add-Ons

Eclipse SDK

IBM Websphere Studio family

Eclipse SDK

SAPNetWeaver Developer Studio

Instantiations, Borland, Sitraka, SlickEdit…

Page 24: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

WebSphere Studio WorkbenchIBM’s commercially supported version of the Eclipse Workbench

Business? Complementary Products Generate Revenue

Enterprise Developer

Application Developer – Integration Edition

Application Developer

Site Developer

• Professional Web, Java, and Web services developers

• Java, XML, Rich media, and Web services

• J2EE developers

• Relational DB tools

• Embedded WebSphere Application Server

• Advanced J2EE developers

• Flow composition

• Visual adapter creation

• Business rule support

• Enterprise development organizations

• Web services based enterprise modernization

• Enterprise modeling and RAD

Dev

ice

Dev

elo

per

Rat

ion

al

XD

E

Page 25: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Is it Paying Off?

• Internal: tool strategies have aligned– all IBM tools build on top of Eclipse

• Perception: Eclipse has a significant impact– “IBM is cool”

• Products: a complete set of integrated tools is now available– enterprise application development– modeling (Rational)– C/C++ IDE not built by IBM175 tool vendors are providing plug-ins for Eclipse

• Community: a growing asset– testing, feedback, contributions

• Costs: fixed cost IBM needs such a platform anyways

Page 26: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

So? (easy…)

• Join the Eclipse community and use Eclipse as…– … your tools platform

• vendor support available if desired• “now any Joe Engineer can take the Eclipse product and be productive”

– CIO Magazine Apr 15 listen to your top developers

– … a platform for building your own products• CPL license allows shipping commercial products• freedom about adding to WS studio or build your own tools

– … a Rich Client Platform for your own applications• leverage the proven Eclipse architecture and UI for your own rich client

applications don’t be afraid of Open Source products

Page 27: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

So? (increasing aggressiveness…)

• Consider “Community Source” Development– use Open Source practices and tools for internal

development• you get more transparent processes• more agile development• OS can make a large organization act like a smaller

onemore control to the developersinformation flows are nakedly visible

Page 28: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

So? (most aggressive)

• Consider Open Source development for your products – split your product into

• commodity (platform) layer

• differentiator (application) layers keep the application layer small

• become fully transparent• don’t hide your bugs and plans anymore

• start to open source once you have something “interesting” invest into building a community

– manage your expectations• your software will not be written by contributors

• community building takes time

Page 29: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Eclipse Wants You

• Use Eclipse (any way you like)– learn about OS (Bugzilla, newsgroups, mailing lists)– enter defect reports

• Be your own tool smith - develop plug-ins

• Show what you know – participate in the newsgroups

• Fix it – provide patches

• Grow it – provide plug-ins

• Get nominated – become a committer

Page 30: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Questions?

?!

Page 31: © 2004 IBM Corporation Eclipse and its Corona Inside a Large Scale Open Source Project - What Can we Learn From Open Source Aldo Eisma Consulting IT Specialist

© 2004 IBM Corporation

Credits

Special thanks for being able to reuse material from:

• Erich Gamma -Java Development Tools Lead; Eclipse PMC Member.