Selected Presentations Keynotes Open Source Business Model Design Patterns
Open source isn't just about a set of software licenses, or even about a new style of distributed software development. It is a reflection of a world where the network is the platform, and where as a result, commodity software implements standardized protocols, and business advantage is driven by data lock in and network effects enabled by an "architecture of participation." The new paradigm changes all the rules of business. This talk will explore business model design patterns for the internet and open source era.
The Eclipse Phenomenon
In November of 2001, the Eclipse open source project and Consortium announcements were met with reactions in the press like, "as revolutions go, this one is a bargain", "the implications are not only significant, but far reaching", and "real code, designed to do real work". Since then Eclipse adoption has been exceptional and the growth of the Eclipse community extraordinary. Eclipse is being used and extended across many constituencies, from dyed in the wool open source developers, to academia, to IT organizations in Fortune 500 companies. We see today Eclipse evolving past its roots as an IDE technology platform to a more general purpose rich client technology platform.
Lee will provide a historical view going back to the genesis of the work in IBM and the effort and thinking that resulted in its evolution to open source, the formation of the original Eclipse Consortium and the Consortium's evolution to the not-for-profit Eclipse Foundation. He'll explore how Eclipse has been a disruptive influence in the tools market and changed the way people think about tools. Finally, Lee will describe what he sees in the future of Eclipse and the resulting impact on industry.
Nick Edgar, Jeff McAffer
The Eclipse Rich Client Platform was introduced last year in Eclipse 3.0, allowing products other than IDEs to be built using Eclipse technology.
Nick Edgar, Eclipse Platform UI committer, and Jeff McAffer, Equinox project leader, will give an update on what is new for RCP in Eclipse 3.1, present some interesting applications and domain-specific platforms being built using RCP, and discuss future directions.
The Eclipse Way: Processes that Adapt
John Wiegand, Erich Gamma
How does the Eclipse project team achieve quality and on-time delivery? How did the processes that enable the development team evolve and how do we continue to adapt them? This talk is an exploration of how the Eclipse platform is developed. We'll step back and reflect on planning, iterative development, the end-game process, and other insights into how things are done - including the development mantras such as "Always Beta", "Milestones First", "API First", "Finishing" and "Consume your own output".
Leveraging the Eclipse Ecosystem
Eclipse is more than just the open source projects and technology. Eclipse is also about the large and vibrant ecosystem of complementary products, services, training, information portals, newsgroups, blogs, books, and magazines. Understanding how to leverage these types of resources is often critical to the successful adoption of new technology. This presentation will examine the available resources in the Eclipse ecosystem and provide pointers to on how to successfully leverage them when developing a strategy to adopt Eclipse.
Eclipse Documentation: Writing our Story
Andrea Covas, Lee Anne Kowalski, Lori Zink
A technical exchange exploring the current state of Eclipse documentation, future formats, and best practices for developing a documentation plug-in. Discussion to identify documentation needs and explore ways of improving the documentation story including:
* Potential Eclipse documentation improvements.
* Challenges faced by other information development groups whose projects extend open source documentation or are in a componentization situation.
* Challenges faced when developing, packaging and delivering documentation in a mixed open/closed-source, extensible, componentized product environment.
* Eclipse Documentation Style Guide (currently in creation, finding out what else could be added, what should be removed from the guide).
* Operating system specific challenges.
* Features of the help system in Eclipse and its various deployment modes (integrated, standalone, infocenter).
Track Presentations 06.3 Products Eclipsed: Experiences in Adopting and Developing
For an organization the decision to develop a product hosted in Eclipse is important and challenging on many levels. Understanding how open source works, how Eclipse is positioned with the open source community, and what this means for your organization is vital to making productive use of Eclipse and its ecosystem. Drawing on Sybase�s experience in full life cycle development for Eclipse, we will investigate the various issues � cultural, technical, and strategic � influencing the decision to host products in Eclipse. Suitable for developers through executives, we will discuss both business and technical issues involved in the decision and its implementation.
08.1 Eclipse Web Tools Platform Project Overview
Naci Dai, Arthur Ryman
The Web Tools Platform (WTP) Project extends Eclipse into the domain of Web and J2EE application development. WTP provides both a set of core tools for application developers and a platform API for tool developers. This presentation describes the scope, structure, and goals of the WTP project, and gives an overview of the tools and APIs in its Web Standard Tools and J2EE Standard Tools subprojects. The presentation also includes a demonstration of the latest WTP Milestone release.
10.3 Getting your Plug-in Legal: a Primer for Eclipse Developers
Your code is completed and tested, and you are ready to make the first version of your Eclipse plug-in available for download to users. No matter whether your application is proprietary or open source, there are a number of legal considerations to keep in mind: Are your license terms clear to your users? Have you included the copyright notices required by any other open source or third-party software that you are using? Are your own legal notices appropriate and in the right place? Are you in compliance with the terms of the Eclipse Public License and any other applicable licenses? What about copyrights and patents?
This presentation will provide a primer of the legal issues that an Eclipse developer should consider when planning for the release of software.
12.2 API First
Jim Des Rivieres
Useful and stable APIs are an important aspect of open systems like Eclipse. Good APIs don't just appear overnight; they require significant design effort, over an extended period of time. Ideally, the design is iterative and involves a feedback loop with clients and implementers. Following an "API first" methodology allows this process to be productive, rather than disruptive. Drawing on our experience with the Eclipse project, this talk will present best practices for developing components with APIs and working closely with adjacent components that are clients of those API.
12.3 Web Services Dev. with Eclipse Web Tools Platform Project
Lawrence Mandel, Jeffrey Liu
While Web services support has picked up significantly in the last few years, only recently did Eclipse add Web development support including Web services support. The Eclipse Web Tools Platform (WTP) project contributes web development tools to Eclipse including Web service creation, deployment and testing tools. This presentation will discuss:
* Web services � what they are, how they are used and interoperability
* The benefits of adding Web services tools to Eclipse
* The Web service tools available in the WTP project including:
o How to use the tools
o How to extend the tools
This presentation will demonstrate that anyone can now develop an end-to-end Web service using Eclipse tooling and that the addition of Web services tools, moving the Eclipse IDE into the Web services space, has provided a huge value-add for Eclipse.
Tutorials 01 Contributing to Eclipse: understanding and writing plug-ins
Kai-Uwe Maetzel, Tom Eicher
Eclipse was designed from the ground-up with extensibility in mind. A scalable plug-in mechanism and a rich set of APIs enables developers to develop and explore new tools quickly, without having to start from scratch.
This tutorial illustrates the full plug-in development cycle by way of an example. You'll explore the Eclipse architecture and become familiar with the basic plug-in mechanism. With this knowledge, you'll write and debug your first plug-in using Eclipse's Plug-in and Java Development Environments. You'll also add extension points to your plug-in to enable others to extend it. You will then package your extensible plug-in as a Feature and publish it with the built-in Eclipse Update Mechanism. Finally, you'll set up and manage an Eclipse Update Site, a place for other Eclipse users to explore new features as well as finding upgrades. After having successfully delivered your first plug-in, you'll learn how to apply the proven technique of unit testing to Eclipse plug-ins. You'll write plug-in unit tests for your additions to Eclipse as well as for your code that handles the extension points defined in your plug-in. You'll also learn how to transform your plug-in into a stand-alone Eclipse RCP.
During all these steps, you will learn the underlying Eclipse concepts and design ideas. You'll learn the rules you need to know to make your plug-ins good Eclipse citizens. In addition, you will receive many interesting insights on design challenges in large scale plug-in architectures.
Tutorial participants are invited to bring their laptops and deepen their understanding by implementing practical exercises.
3 Getting Started with Eclipse
This tutorial is for people that have not yet worked with Eclipse. You'll explore Eclipse's architecture and become familiar with the plug-in mechanism. We will start with an overview of Eclipse and how to install and run it. Next, we will describe Eclipse's Workbench and its resources, views and perspectives. Next we will examine Eclipse's Java Development Tools that implement a Java IDE supporting the development of Java applications and plug-ins. We will then focus on how testing and debugging is done in Eclipse. Finally, we will introduce Eclipse's architecture and how it supports plug-ins.
Chief Scientist and Managing Director eteration
Naci Dai is an object mentor and an educator. He is the founder of ObjectLearn and one of the initiators of the eteration network. He wrote Lomboz, a tool for J2EE development. Prior to eteration, he was with BEA Systems Inc. and The Object People as a managing director with their professional services organizations. He teaches object technology, web development, and distributed computing. His background is in applied engineering and computational physics. He received his Ph.D. from Carleton University, Ottawa Canada. Eteration is a member of the ObjectWeb Consortium; Naci is the leader of the Java Standard Tools subproject and is a member of the Project Management Committee of the Eclipse Web Tools Platform Project.
Jim Des Rivieres has been involved with architecture of the Eclipse Platform and JDT infrastructure and the design of the Eclipse APIs. Jim is also the Eclipse articles editor, and co-author of the book "The Art of the Metaobject Protocol". His interests include API design and evolution, programming languages, and digital photography. Jim is a committer on the Eclipse Platform project in the IBM OTI Lab in Ottawa.
Object Systems Group
Bill Dudney, JDJ's Eclipse editor, is a Senior Consultant with Object Systems Group. He has been doing Java development since late 1996 after he downloaded his first copy of the JDK. Prior to OSG, Bill worked for InLine Software on the UML bridge that tied UML Models in Rational Rose and later XMI to the InLine suite of tools. Prior to getting hooked on Java he built software on NeXTStep (precursor to Apple's OSX). He has roughly 15 years of distributed software development experience starting at NASA building software to manage the mass properties of the Space Shuttle.
Dwight Deugo is the lead of the Eclipse Community Education Project (ECESIS). Currently, he is the CEO and Director of Services for Espirity Inc. and an Associate Professor in the School of Computer Science at Carleton University where he heads the laboratory on Pervasive Computing. Before joining Carleton, he was the Director of Java Services at The Object People where he both participated and directed a group developing course materials and performing Enterprise Java mentoring, consulting and training. He was the past Editor-In-Chief of Java Report and now writes a regular column in the magazine Application Development Trends. He has been involved with all forms of object technology for more than 18 years as a consultant, project mentor and educator.
Platform UI Committer, RCP UI Architect
Nick Edgar is a senior developer with IBM Ottawa labs (formerly known as Object Technology International) since 1992, and has played an active role in Eclipse since its inception, working on various aspects of the Runtime, UI, and Rich Client Platform. Nick was also involved in the development of Envy/Developer, IBM Smalltalk, VisualAge for Java, and VisualAge Micro Edition.
Tom is a committer for the Eclipse JDT UI and Platform Text components. His main focus is on QickDiff, Templates, and everything that deserves the name "Smart Typing".
Eclipse JDT lead
Erich Gamma leads the Eclipse Java Development tools project and is a member of the Eclipse and the Eclipse Tools project management committees. He is also a member of the Gang of Four, which is known for their book: "Design Patterns - Elements of Reusable Object-Oriented Software". Erich has paired with Kent Beck to develop JUnit, a popular testing tool for Java. Erich also paired with Kent Beck to write the book "Contributing to Eclipse: Principles, Patterns, and Plug-ins".
Before joining OTI/IBM he was working at Taligent on a never shipped C++ development environment. Erich started with object-oriented programming over 20 years ago as a the co-author of ET++ one of the first large scale C++ application frameworks.
John Graham Staff Software Engineer
John has been working with Eclipse since version 1. He served as a technical lead on the team that first adopted Eclipse in Sybase and subsequently released multiple versions of products hosted in Eclipse. Currently he is a technical lead for a large Eclipse-based product being developed at Sybase.
Testa, Hurwitz & Thibeault LLP
Ira Heffan is an associate in the Patent and Intellectual Property Practice Group. He concentrates his practice on strategic intellectual property counseling, patent and trademark portfolio development, and disputes relating to computer hardware and software technology. He also regularly counsels clients on intellectual property licensing matters, including negotiation of software license agreements and appropriate use of software distributed under "free" and "open source" licenses.
Ira received his B.S., with honors, in Electrical Engineering from Union College, an M.S., in Computer Science, from Boston University, and a J.D. from Stanford Law School in 1997. Prior to law school, Ira worked as a software engineer developing application and diagnostic software for graphics imaging equipment.
Ira is admitted to the bar in the Commonwealth of Massachusetts (1997), the United States District Court, District of Massachusetts (1998), and the United States Court of Appeals for the Federal Circuit (2002). He also is registered to practice before the United States Patent and Trademark Office (1997).
(Ira has authored and co-authored various articles about intellectual property law, listed at: http://www.tht.com/Pubs/SearchMatch.asp?AttyID=heffan)
Senior Software Developer
Kai leads the Eclipse Platform Text component and is in charge of the editors of the JDT UI component. He is one of the three original developers of the Eclipse Java tooling. He was lead of the UI side of the IBM VisualAge Micro Edition in it's late days and authored its version and configuration management client component. Prior to joining OTI/IBM he co-authored Beyond-SNiFF, a distributed, service-based IDE for large scale C++ projects commercialized as SNiFF+.
IBM Rational Software
Lawrence Mandel is a software developer on the IBM Rational XML Web Services Team, a committer to the Eclipse Web Service Validation Tools (WSVT) project, and a contributor to the Eclipse Web Tools Platform (WTP) Project. Lawrence spends most of his time working on Eclipse validators and behind the scenes functionality such as the URI resolver. Lawrence received an Hon. B.Sc. in Computer Science from the University of Toronto.
Equinox Project Lead
Jeff McAffer is the lead of the Equinox project. He is one of the architects of the Eclipse platform and has been involved in the project from the beginning. His current interests lie in helping realize Eclipse's original vision as a platform for composing general sets of application function -- in particular, areas such as dynamic plug-ins and alternate runtime models. Previous lives included work in distributed/parallel OO computing (Server Smalltalk, massively parallel Smalltalk, etc) as well as expert systems, meta-level architectures and a PhD at the University of Tokyo.
IBM Rational Software
Lee leads the formation of IBM Rational's technical strategy and worldwide development of design, construction, and test tool products. Prior to joining IBM Rational, Lee held technical and management positions at IBM's Thomas J. Watson Research Center. He is a member of the IBM Academy of Technology.
Lee led the establishment of the projects in IBM that would become Eclipse and the move to open source. He was a founding member of the Board of Stewards for eclipse.org and was instrumental in its evolution to the Eclipse Foundation.
O'Reilly & Associates
Tim O'Reilly is the founder and CEO of O'Reilly Media, Inc., thought by many to be the best computer book publisher in the world. O'Reilly also publishes online through the O'Reilly Network (www.oreillynet.com) and hosts conferences on technology topics.
Tim is an activist for open source and open standards, and an opponent of software patents and other incursions of new intellectual property laws into the public domain.
Eclipse Platform Lead
John Wiegand is the principal architect for the platform infrastructure. John played a central role in the development of VA/Java, VA/Micro Edition, and now Eclipse. His interests are in the areas of performance, scalability, compilers, and just about anything that's hard.
John is serving as leader of the Platform subproject and PDE subproject, and is a member of the Eclipse Project PMC.