Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 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.

Similar presentations


Presentation on theme: "© 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."— Presentation transcript:

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 IBM Global Services aldo_eisma@nl.ibm.com

2 © 2004 IBM Corporation What is Eclipse?

3 © 2004 IBM Corporation What is Eclipse? Eclipse - a n 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

4 © 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 smith  Eclipse changes the way tools are built as a Java developer… –you get a state-of-the-art Java IDE that you can tweak  but 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

5 © 2004 IBM Corporation The Way to Eclipse 19992003200020012002 Eclipse 19981997 Nov Open Source announcement VisualAge/Java VisualAge Micro Edition March 2.1 Oct 1.0 June 2.0 June Tech Preview 2004 June 3.0

6 © 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

7 © 2004 IBM Corporation Why Open Source? Full life cycle tool support requires contributions from partners Options: 1.proprietary APIs 2.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

8 © 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…

9 © 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

10 © 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

11 © 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

12 © 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

13 © 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?

14 © 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

15 © 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

16 © 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

17 © 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

18 © 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

19 © 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 ”

20 © 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”

21 © 2004 IBM Corporation Planning Eclipse Products Community Product requirements enhancements feature requests bug votes suggest improvements commit to plan Plan Project Management Committee posts draft plan  plans start in embryonic form and are revised throughout the release cycle  milestones/time boxes are fixed early on Committers

22 © 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!

23 © 2004 IBM Corporation Extending Eclipse for Fun and Profit… Eclipse SDK IBM Websphere Studio family Eclipse SDK SAP NetWeaver Developer Studio Commercial Development Environments Commercial Add-Ons Eclipse SDK IBM Websphere Studio family Eclipse SDK SAP NetWeaver Developer Studio Instantiations, Borland, Sitraka, SlickEdit…

24 © 2004 IBM Corporation WebSphere Studio Workbench IBM’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 Device Developer Rational XDE

25 © 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 IBM  175 tool vendors are providing plug-ins for Eclipse Community: a growing asset –testing, feedback, contributions Costs: fixed cost  IBM needs such a platform anyways

26 © 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

27 © 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 one  more control to the developers  information flows are nakedly visible

28 © 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

29 © 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

30 © 2004 IBM Corporation Questions? ? !

31 © 2004 IBM Corporation Credits Special thanks for being able to reuse material from: Erich Gamma - Java Development Tools Lead; Eclipse PMC Member.


Download ppt "© 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."

Similar presentations


Ads by Google