Donating a mature project to Eclipse

30
Copyright VMware Inc. 2011. Licensed under the Eclipse Public License Donating a Mature Project to Eclipse Glyn Normington Tuesday, 22 March 2011

description

Taking the example of donating SpringSource dm Server to Eclipse.org as the Virgo project, this presentation considers the costs and (significant) benefits of such a donation. Improvements to Eclipse.org are suggested. Project leads should glean ideas to apply to their own projects. This file is licensed under the Eclipse Public License.

Transcript of Donating a mature project to Eclipse

Page 1: Donating a mature project to Eclipse

Copyright VMware Inc. 2011. Licensed under the Eclipse Public License

Donating a Mature Project to Eclipse

Glyn Normington

Tuesday, 22 March 2011

Page 2: Donating a mature project to Eclipse

Agenda

•Code

• Intellectual property

• Infrastructure

•Community

Tuesday, 22 March 2011

Page 3: Donating a mature project to Eclipse

Code

Tuesday, 22 March 2011

Page 4: Donating a mature project to Eclipse

Origins

•Spring Engine

•SpringSource Application Platform

•SpringSource dm Server

•Eclipse Virgo

Tuesday, 22 March 2011

Page 5: Donating a mature project to Eclipse

Origins

•Spring Engine

•SpringSource Application Platform

•SpringSource dm Server

•Eclipse Virgo

Tuesday, 22 March 2011

Page 6: Donating a mature project to Eclipse

Interlude

Tuesday, 22 March 2011

Page 7: Donating a mature project to Eclipse

Was dm Server Mature?

• Users in production on v1 & v2

• Principled design

• Clean code

• Extensive test suite (with CI)

• Based on, and influencing, standards

Tuesday, 22 March 2011

Page 8: Donating a mature project to Eclipse

Why donate it?

• Remove adoption inhibitors

• GPL

• Single vendor

• Collaborate on usability

• Build

• Application development tooling

Tuesday, 22 March 2011

Page 9: Donating a mature project to Eclipse

Why Eclipse.org?

• Permissive license

• Governance & IP process

• Built on Equinox & Eclipse

• EclipseRT needed a runtime

Tuesday, 22 March 2011

Page 10: Donating a mature project to Eclipse

End of Interlude.Back to the Code

Tuesday, 22 March 2011

Page 11: Donating a mature project to Eclipse

Moving the Project

2007 2008 2009 2010 2011 2012 2013

ß/milestone GA SR EOL

1.0

2.0

2.1 (Virgo)

3.0

Tuesday, 22 March 2011

Page 12: Donating a mature project to Eclipse

Version Control

• git

• 22 repositories

• GPL history was pruned

• Back link for archaeology

• External collaboration

• github

Tuesday, 22 March 2011

Page 13: Donating a mature project to Eclipse

Intellectual Property

Tuesday, 22 March 2011

Page 14: Donating a mature project to Eclipse

Licensing• SpringSource

dm Server

• GPL + commercial

• Eclipse Virgo

• EPL

• OSGi Web Container

• Apache

• Gemini Web

• EPL + Apache

Tuesday, 22 March 2011

Page 15: Donating a mature project to Eclipse

Eclipse IP Process• Scrutiny

• Source code

• License

• Pedigree

• Contribution & dependencies

Tuesday, 22 March 2011

Page 16: Donating a mature project to Eclipse

IP Process Costs

•Raised 200 CQs

•Deleted 2 dependencies

•Tweaked 3rd party licensing

Tuesday, 22 March 2011

Page 17: Donating a mature project to Eclipse

IP Process Benefits• Assured license/pedigree

• Recorded dependencies

• Improved licensing, e.g.

• JWebUnit LGPL

• mime.types file in Spring

Tuesday, 22 March 2011

Page 18: Donating a mature project to Eclipse

IP Process Improvements• Clarify:

• Downstream distribution

• “Works with” dependencies

• Policy for build/test dependencies

• Automate release checks (WIP)

Tuesday, 22 March 2011

Page 19: Donating a mature project to Eclipse

Infrastructure

Tuesday, 22 March 2011

Page 20: Donating a mature project to Eclipse

Build/Test Infrastructure

•Moved CI to hudson.eclipse.org

•Tool issues

•False positives

•Sharing vs stability

•Virtualisation?

Tuesday, 22 March 2011

Page 21: Donating a mature project to Eclipse

Search Infrastructure

• Private OpenGrok

• Too much code to remember

• 22 git repos

• No search at eclipse.org

• Public OpenGrokhttp://virgo-opengrok.springsource.org/

Tuesday, 22 March 2011

Page 22: Donating a mature project to Eclipse

Community

Tuesday, 22 March 2011

Page 23: Donating a mature project to Eclipse

Moving the Community• Generally willing

• Incompatibilities

• Package names

• Dropped function

• Migration to Virgo 2.1

• Minimised

• Migration notesTuesday, 22 March 2011

Page 24: Donating a mature project to Eclipse

Effect on Committers• JIRA replaced by bugzilla + Acunote

• Distributed sprint planning

• Concurrent sprints

Tuesday, 22 March 2011

Page 25: Donating a mature project to Eclipse

SummaryWas it worth it?

Tuesday, 22 March 2011

Page 26: Donating a mature project to Eclipse

Benefits of Donating

✓Increase adoption

✓Permissive license

✓Multi-vendor

• Improve usability

• Build

✓Application development tooling

Tuesday, 22 March 2011

Page 27: Donating a mature project to Eclipse

Benefits of Eclipse.org

✓Code

✓Intellectual property

• Infrastructure

✓Community

Tuesday, 22 March 2011

Page 28: Donating a mature project to Eclipse

And Finally...

Tuesday, 22 March 2011

Page 29: Donating a mature project to Eclipse

Thanks to...

• Project histories - wikipedia

• HP Garage - http://www.hp.com

• Road signs - Alexander Baxevanis

• OOXML demo - Martin Bekkelund

• Rugby scrum - Clumsy Jim

Tuesday, 22 March 2011

Page 30: Donating a mature project to Eclipse

Related Sessions• Building web apps with EclipseRT

• Yesterday, but come to the Virgo BoF

• Snaps, modular & dynamic web apps with Virgo

• Tomorrow 10:40-11:00, Ballroom D

• Virgo and RT playing together

• Tomorrow 11:10-11:30, Ballroom BC

• Virgo BoF

• Shooting for tomorrow 7:30-8:30pm

• Hands on with Gemini & Virgo

• Thursday 10:30-12:30, Ballroom D

Tuesday, 22 March 2011