SlideShare a Scribd company logo
1 of 21
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
The Eclipse Way
Szymon Brandys Pawel Pogorzelski Tomasz Zarna
Platform Workspace Team
IBM Poland
2009-06-27
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Agenda
1 What Is Eclipse
2 Growth Path
3 How We Are Organized
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
How We Got Here
Eclipse Architecture
Eclipse Based Products
How We Got Here
Java strategic technology for IBM
Need to compete with MS VS and other Java IDE
Created in 1998 by IBM/OTI teams responsible for VisualAge
product family
In 2001 given opened to open source to increase exposure and
accelerate adoption
In 2004 Eclipse Foundation was created
Eclipse already well regarded tooling platform
In mid 2004 Eclipse 3.0 ships, now based on OSGi
Eclipse becomes more and more an RCP platform
Thousands of Eclipse based products on the market, from ST to
fully loaded IDEs
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
How We Got Here
Eclipse Architecture
Eclipse Based Products
Eclipse Architecture
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
How We Got Here
Eclipse Architecture
Eclipse Based Products
Eclipse 3.5
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
How We Got Here
Eclipse Architecture
Eclipse Based Products
IBM Rational Software Architect 7.0.0
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
How We Got Here
Eclipse Architecture
Eclipse Based Products
IBM Lotus Notes 8
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
How We Got Here
Eclipse Architecture
Eclipse Based Products
Tivoli R Common Agent Services
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
Keeping It Big
How can you build something that can last 10 years and be:
Industry leading
Extendable
Constantly evolving
Well, you need to have those:
Modularity
Scalability
Stable APIs
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
JVM Classloading
Application wide classpath
java -classpath
./a-1.5.0.jar:./b.jar:./c.jar:./a-2.1.0.jar./bin:
com.vendor.App
Not possible to use the same library in two versions
Classnames conflicts
All entries has to be searched which results in performance hit
No need to declare dependencies explicitly
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
OSGi
Classes and charts aren’t enough, you need components. OSGi
provide those in form of bundles:
Explicit dependencies managment
Import-Package: org.osgi.framework;
version=1.2
Export-Package: org.osgi.service.cm;
version="1.2.1"
No sea of classes, no exhibitionism
Application wide classpath
Modularity that OSGi gives enables evolution.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
Declarative extensions
Extension points are the places where you expect functionality to be
extended. Extensions are features that plug-in into extension points.
Simple and powerful
Don’t load code until it is needed
Explicit points where you can plug-in
Lazy loading
Lazy loading given by Extension Registry gives scalability.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
Stable APIs
Stable APIs are critical to sustain growth. Clients can add features
instead of updating to new API. So, it has to be:
Consistent and wise
Any decision made today will impact where you can go tommorow
API compatibility is a huge commitment so we take a defensive
approach:
Don’t add until there is at least one client
Exhibit less rather then more
Expose more if needed
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
API Tension
API needs iteration and clients to work. But we need to have stable
APIs for widespread adoption. So, we:
Develop API and client at the same time
Don’t commit API before it’s time
API changes within release to accomodate new requirements and
experience
It also gives us early feedback on API violation. Just because it works
doesn’t mean it’s API compliant.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
API Layers
What if we want add new, more feature rich mechanizm?
1 Add a new functionality
2 An API layer that maps the old API to new implementation
3 Remove the old implementation
4 Deprecate the old API
5 After a few years we might drop it
Binary compatibility
We tend to have more than stable API. Binary compatibility is what matters
since users will not rebuild a plug-in.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Keeping It Big
Modularity
Declarative Extensions
Stable APIs
API Tools
API Baseline defines the state you want to compare your development
against. Tools check:
Usage problems
Binary compatibility
Bundle version numbers
Maintanance tag @since
Other tags:
@noimplement
@noinstantiate
@noextend
Known problems can be marked appropriately and filtered.
Integration
Tools make API violations are perceived as natural as language constraints.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Planning
Continous Integration
Cycles
The Community
Planning
Comminity input
Discuss propositions on bug reports
Committed, proposed items
We drop items to maintain schedule
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Planning
Continous Integration
Cycles
The Community
Continous Integration
Releases - e.g. R3.4; stable, tested, lack the lates features
Stable - e.g. 3.5RC4; latest features, valuable and timely
feedback
Integration Builds - e.g. I20090611-1540, run weekly
Nightly Builds - e.g. N20090426-1232; often major problems,
useful to Eclipse Project developers
Always beta
We work on nightly builds so we try to keep them running.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Planning
Continous Integration
Cycles
The Community
Milestones
There is 7 milesontes, each takes 6 weeks
Shipping is hard, that’s why we do it 7 times a release
Customers can rebase more frequently
Plan, develop, test, release, retrospective
We play all the roles
New and Noteworthy
Feed the community
Make people move to milestone builds
Fewer completed than more in progress
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Planning
Continous Integration
Cycles
The Community
The Convergence Process
M6 - API freeze
M7 - feature freeze
RC1 - another commiter, PMC for API changes
RC2 - two commiters
RC3 - two commiters, compoment lead
RC4 - two compoment leads, any lead can veto
Commiting Into RCs
Release Candidates time is when you never want to have a buildbrake.
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
eclipse-logo
What Is Eclipse
Growth Path
How We Are Organized
Planning
Continous Integration
Cycles
The Community
Community
Inital investment
Community grows and becomes self supporting, we don’t have to
grow
Early feedback
Open technical discussions, even more important than open bugs
Transparency, good for distributed teams
The village effect
The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18

More Related Content

What's hot

Uber mobility - Build & Release
Uber mobility - Build & ReleaseUber mobility - Build & Release
Uber mobility - Build & ReleaseDhaval Patel
 
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...majid lotfinia
 
Xamarin vs. native script which one is the ideal cross-platform framework fo...
Xamarin vs. native script  which one is the ideal cross-platform framework fo...Xamarin vs. native script  which one is the ideal cross-platform framework fo...
Xamarin vs. native script which one is the ideal cross-platform framework fo...Moon Technolabs Pvt. Ltd.
 
Lift web framework and Scala programming language talk
Lift web framework and Scala programming language talkLift web framework and Scala programming language talk
Lift web framework and Scala programming language talkclive boulton
 
College Drone Association Aerial Mob Cinema Overview
College Drone Association Aerial Mob Cinema OverviewCollege Drone Association Aerial Mob Cinema Overview
College Drone Association Aerial Mob Cinema OverviewLarry-Shultz
 

What's hot (6)

E4 UI Demos
E4 UI DemosE4 UI Demos
E4 UI Demos
 
Uber mobility - Build & Release
Uber mobility - Build & ReleaseUber mobility - Build & Release
Uber mobility - Build & Release
 
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
Model-To-Text Transformation Language chapter 9 – J Cabot model driven engine...
 
Xamarin vs. native script which one is the ideal cross-platform framework fo...
Xamarin vs. native script  which one is the ideal cross-platform framework fo...Xamarin vs. native script  which one is the ideal cross-platform framework fo...
Xamarin vs. native script which one is the ideal cross-platform framework fo...
 
Lift web framework and Scala programming language talk
Lift web framework and Scala programming language talkLift web framework and Scala programming language talk
Lift web framework and Scala programming language talk
 
College Drone Association Aerial Mob Cinema Overview
College Drone Association Aerial Mob Cinema OverviewCollege Drone Association Aerial Mob Cinema Overview
College Drone Association Aerial Mob Cinema Overview
 

Viewers also liked

LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING Kwanko
 
5 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 20155 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 2015Kwanko
 
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...Kwanko
 
Eclipse 3.7 : Tips and tricks
Eclipse 3.7 : Tips and tricksEclipse 3.7 : Tips and tricks
Eclipse 3.7 : Tips and tricksTomasz Zarna
 
Orion RESTful git API
Orion RESTful git APIOrion RESTful git API
Orion RESTful git APITomasz Zarna
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform WorkspaceTomasz Zarna
 

Viewers also liked (6)

LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
 
5 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 20155 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 2015
 
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
 
Eclipse 3.7 : Tips and tricks
Eclipse 3.7 : Tips and tricksEclipse 3.7 : Tips and tricks
Eclipse 3.7 : Tips and tricks
 
Orion RESTful git API
Orion RESTful git APIOrion RESTful git API
Orion RESTful git API
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform Workspace
 

Similar to Eclipse Way

Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approachPractical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approachMark Cocker
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenIDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenTonny Madsen
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...Tonny Madsen
 
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020Ieva Navickaite
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Jeff Haynie
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsManish Kapur
 
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurCloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurOracle Developers
 
How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind Apigee | Google Cloud
 
Using APIs
Using APIsUsing APIs
Using APIsAkana
 
Whats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ HargraveWhats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ Hargravemfrancis
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOSTim Ellison
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...Capgemini
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.
IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.
IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.OW2
 
Sivaprasanth Rentala_Kedar profile
Sivaprasanth Rentala_Kedar profileSivaprasanth Rentala_Kedar profile
Sivaprasanth Rentala_Kedar profilesivaprasanth rentala
 

Similar to Eclipse Way (20)

Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approachPractical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approach
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenIDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
 
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native Applications
 
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurCloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
 
Eclipse
EclipseEclipse
Eclipse
 
Codename one
Codename oneCodename one
Codename one
 
How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind
 
Using APIs
Using APIsUsing APIs
Using APIs
 
Whats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ HargraveWhats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ Hargrave
 
Bp209
Bp209Bp209
Bp209
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOS
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.
IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.
IBM Keynote presentation, OW2con'19, June 12-13, 2019, Paris.
 
Sivaprasanth Rentala_Kedar profile
Sivaprasanth Rentala_Kedar profileSivaprasanth Rentala_Kedar profile
Sivaprasanth Rentala_Kedar profile
 

More from Tomasz Zarna

Orion Introduction
Orion IntroductionOrion Introduction
Orion IntroductionTomasz Zarna
 
Orion Introduction
Orion IntroductionOrion Introduction
Orion IntroductionTomasz Zarna
 
What's new in Juno
What's new in JunoWhat's new in Juno
What's new in JunoTomasz Zarna
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learnedTomasz Zarna
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in HeliosTomasz Zarna
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Tomasz Zarna
 
EGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitEGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitTomasz Zarna
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in EclipseTomasz Zarna
 

More from Tomasz Zarna (9)

Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
 
Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
 
What's new in Juno
What's new in JunoWhat's new in Juno
What's new in Juno
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learned
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in Helios
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2
 
EGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitEGit - Eclipse plug-in for git
EGit - Eclipse plug-in for git
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
 
Compare framework
Compare frameworkCompare framework
Compare framework
 

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Eclipse Way

  • 1. eclipse-logo What Is Eclipse Growth Path How We Are Organized The Eclipse Way Szymon Brandys Pawel Pogorzelski Tomasz Zarna Platform Workspace Team IBM Poland 2009-06-27 The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 2. eclipse-logo What Is Eclipse Growth Path How We Are Organized Agenda 1 What Is Eclipse 2 Growth Path 3 How We Are Organized The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 3. eclipse-logo What Is Eclipse Growth Path How We Are Organized How We Got Here Eclipse Architecture Eclipse Based Products How We Got Here Java strategic technology for IBM Need to compete with MS VS and other Java IDE Created in 1998 by IBM/OTI teams responsible for VisualAge product family In 2001 given opened to open source to increase exposure and accelerate adoption In 2004 Eclipse Foundation was created Eclipse already well regarded tooling platform In mid 2004 Eclipse 3.0 ships, now based on OSGi Eclipse becomes more and more an RCP platform Thousands of Eclipse based products on the market, from ST to fully loaded IDEs The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 4. eclipse-logo What Is Eclipse Growth Path How We Are Organized How We Got Here Eclipse Architecture Eclipse Based Products Eclipse Architecture The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 5. eclipse-logo What Is Eclipse Growth Path How We Are Organized How We Got Here Eclipse Architecture Eclipse Based Products Eclipse 3.5 The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 6. eclipse-logo What Is Eclipse Growth Path How We Are Organized How We Got Here Eclipse Architecture Eclipse Based Products IBM Rational Software Architect 7.0.0 The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 7. eclipse-logo What Is Eclipse Growth Path How We Are Organized How We Got Here Eclipse Architecture Eclipse Based Products IBM Lotus Notes 8 The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 8. eclipse-logo What Is Eclipse Growth Path How We Are Organized How We Got Here Eclipse Architecture Eclipse Based Products Tivoli R Common Agent Services The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 9. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs Keeping It Big How can you build something that can last 10 years and be: Industry leading Extendable Constantly evolving Well, you need to have those: Modularity Scalability Stable APIs The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 10. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs JVM Classloading Application wide classpath java -classpath ./a-1.5.0.jar:./b.jar:./c.jar:./a-2.1.0.jar./bin: com.vendor.App Not possible to use the same library in two versions Classnames conflicts All entries has to be searched which results in performance hit No need to declare dependencies explicitly The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 11. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs OSGi Classes and charts aren’t enough, you need components. OSGi provide those in form of bundles: Explicit dependencies managment Import-Package: org.osgi.framework; version=1.2 Export-Package: org.osgi.service.cm; version="1.2.1" No sea of classes, no exhibitionism Application wide classpath Modularity that OSGi gives enables evolution. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 12. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs Declarative extensions Extension points are the places where you expect functionality to be extended. Extensions are features that plug-in into extension points. Simple and powerful Don’t load code until it is needed Explicit points where you can plug-in Lazy loading Lazy loading given by Extension Registry gives scalability. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 13. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs Stable APIs Stable APIs are critical to sustain growth. Clients can add features instead of updating to new API. So, it has to be: Consistent and wise Any decision made today will impact where you can go tommorow API compatibility is a huge commitment so we take a defensive approach: Don’t add until there is at least one client Exhibit less rather then more Expose more if needed The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 14. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs API Tension API needs iteration and clients to work. But we need to have stable APIs for widespread adoption. So, we: Develop API and client at the same time Don’t commit API before it’s time API changes within release to accomodate new requirements and experience It also gives us early feedback on API violation. Just because it works doesn’t mean it’s API compliant. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 15. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs API Layers What if we want add new, more feature rich mechanizm? 1 Add a new functionality 2 An API layer that maps the old API to new implementation 3 Remove the old implementation 4 Deprecate the old API 5 After a few years we might drop it Binary compatibility We tend to have more than stable API. Binary compatibility is what matters since users will not rebuild a plug-in. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 16. eclipse-logo What Is Eclipse Growth Path How We Are Organized Keeping It Big Modularity Declarative Extensions Stable APIs API Tools API Baseline defines the state you want to compare your development against. Tools check: Usage problems Binary compatibility Bundle version numbers Maintanance tag @since Other tags: @noimplement @noinstantiate @noextend Known problems can be marked appropriately and filtered. Integration Tools make API violations are perceived as natural as language constraints. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 17. eclipse-logo What Is Eclipse Growth Path How We Are Organized Planning Continous Integration Cycles The Community Planning Comminity input Discuss propositions on bug reports Committed, proposed items We drop items to maintain schedule The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 18. eclipse-logo What Is Eclipse Growth Path How We Are Organized Planning Continous Integration Cycles The Community Continous Integration Releases - e.g. R3.4; stable, tested, lack the lates features Stable - e.g. 3.5RC4; latest features, valuable and timely feedback Integration Builds - e.g. I20090611-1540, run weekly Nightly Builds - e.g. N20090426-1232; often major problems, useful to Eclipse Project developers Always beta We work on nightly builds so we try to keep them running. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 19. eclipse-logo What Is Eclipse Growth Path How We Are Organized Planning Continous Integration Cycles The Community Milestones There is 7 milesontes, each takes 6 weeks Shipping is hard, that’s why we do it 7 times a release Customers can rebase more frequently Plan, develop, test, release, retrospective We play all the roles New and Noteworthy Feed the community Make people move to milestone builds Fewer completed than more in progress The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 20. eclipse-logo What Is Eclipse Growth Path How We Are Organized Planning Continous Integration Cycles The Community The Convergence Process M6 - API freeze M7 - feature freeze RC1 - another commiter, PMC for API changes RC2 - two commiters RC3 - two commiters, compoment lead RC4 - two compoment leads, any lead can veto Commiting Into RCs Release Candidates time is when you never want to have a buildbrake. The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18
  • 21. eclipse-logo What Is Eclipse Growth Path How We Are Organized Planning Continous Integration Cycles The Community Community Inital investment Community grows and becomes self supporting, we don’t have to grow Early feedback Open technical discussions, even more important than open bugs Transparency, good for distributed teams The village effect The Eclipse Way Copyright c IBM Corp., 2009. All rights reserved. | 2009-06-18