Eclipse and Its Corona: Inside a Large Scale Open Source Project

Eclipse and Its Corona: Inside a Large Scale Open Source Project

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] © 2004 IBM Corporation What is Eclipse? © 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 © 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 © 2004 IBM Corporation The Way to Eclipse 1997 1998 19992000 2001 2002 2003 2004 VisualAge/Java VisualAge Micro Edition Eclipse June Oct Nov June March June Tech 1.0 Open 2.0 2.1 3.0 Preview Source announcement © 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 © 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 © 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 © 2004 IBM Corporation – just forming… eclipse.org • Eclipse Project Project – Platform – JDT: Java Development Tools Subprojects – 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 © 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 © 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 © 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 © 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? © 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 © 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 © 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 © 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 © 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 © 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 ” © 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” © 2004 IBM Corporation Planning Product requirements suggest improvements Eclipse Products Committers commit to plan Project Management Committee posts draft plan ¾plans start in embryonic form PlanPlan and are revised throughout the Community release cycle ¾milestones/time boxes enhancements are fixed early on feature requests bug votes © 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! © 2004 IBM Corporation Extending Eclipse for Fun and Profit… Commercial Development Environments IBM SAP Websphere Studio family NetWeaver Developer Studio Eclipse SDK Eclipse SDK Commercial Add-Ons IBM SAP Websphere Studio family NetWeaver Developer Studio Eclipse SDK Eclipse SDK © 2004 IBM Corporation Instantiations, Borland, Sitraka, SlickEdit… Business? Complementary Products Generate Revenue Enterprise Developer • Enterprise XDE development Rational Rational Application Developer – Integration Edition organizations • Advanced • Web services J2EE based Application Developer developers enterprise modernization • J2EE • Flow developers composition • Enterprise Site Developer modeling and • Visual • Relational RAD • Professional Web, Java, and DB tools adapter Device Developer creation Web services developers • Embedded • Java, XML, Rich media, and WebSphere • Business Web services Application rule support Server WebSphere Studio Workbench IBM’s commercially supported version of the Eclipse Workbench © 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© 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 © 2004 IBM Corporation

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    31 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us