Donating a Mature
                         Project to Eclipse
                                         Glyn Normington




                          Copyright VMware Inc. 2011. Licensed under the Eclipse Public License
Tuesday, 22 March 2011
Agenda
                   •     Code
                   • Intellectual property
                   • Infrastructure
                   • Community


Tuesday, 22 March 2011
Code



Tuesday, 22 March 2011
Origins

   •      Spring Engine
   • SpringSource Application Platform
   • SpringSource dm Server
   • Eclipse Virgo

Tuesday, 22 March 2011
Origins

   •      Spring Engine
   • SpringSource Application Platform
   • SpringSource dm Server
   • Eclipse Virgo

Tuesday, 22 March 2011
Interlude



Tuesday, 22 March 2011
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
Why donate it?
                   • Remove adoption inhibitors
                    • GPL
                    • Single vendor
                   • Collaborate on usability
                    • Build
                    • Application development tooling
Tuesday, 22 March 2011
Why Eclipse.org?
        • Permissive license
        • Governance & IP process
        • Built on Equinox & Eclipse
        • EclipseRT needed a runtime


Tuesday, 22 March 2011
End of Interlude.
                         Back to the Code


Tuesday, 22 March 2011
Moving the Project
       2007              2008        2009     2010    2011      2012   2013

    1.0



    2.0


    2.1 (Virgo)


    3.0

                                ß/milestone   GA     SR   EOL

Tuesday, 22 March 2011
Version Control
            • git
             • 22 repositories
            • GPL history was pruned
             • Back link for archaeology
            • External collaboration
             • github
Tuesday, 22 March 2011
Intellectual Property



Tuesday, 22 March 2011
Licensing
         • SpringSource
                 dm Server               • Eclipse Virgo
               • GPL +                    • EPL
                         commercial

         • OSGi Web                      • Gemini Web
                 Container
               • Apache                   • EPL + Apache
Tuesday, 22 March 2011
Eclipse IP Process
                   • Scrutiny
                    • Source code
                    • License
                    • Pedigree
                   • Contribution & dependencies

Tuesday, 22 March 2011
IP Process Costs
                   • Raised 200 CQs
                   • Deleted 2 dependencies
                   • Tweaked 3rd party licensing

Tuesday, 22 March 2011
IP Process Benefits
                   • Assured license/pedigree
                   • Recorded dependencies
                   • Improved licensing, e.g.
                     • JWebUnit LGPL
                     • mime.types file in Spring

Tuesday, 22 March 2011
IP Process Improvements
                   • Clarify:
                    • Downstream distribution
                    • “Works with” dependencies
                    • Policy for build/test dependencies
                   • Automate release checks (WIP)


Tuesday, 22 March 2011
Infrastructure



Tuesday, 22 March 2011
Build/Test Infrastructure
      • Moved CI to hudson.eclipse.org
      • Tool issues
      • False positives
      • Sharing vs stability
       • Virtualisation?
Tuesday, 22 March 2011
Search Infrastructure
              • Private OpenGrok
               • Too much code to remember
               • 22 git repos
              • No search at eclipse.org
              • Public OpenGrok
                http://virgo-opengrok.springsource.org/


Tuesday, 22 March 2011
Community



Tuesday, 22 March 2011
Moving the Community
     • Generally willing
     • Incompatibilities
      • Package names
      • Dropped function
     • Migration to Virgo 2.1
      • Minimised
      • Migration notes
Tuesday, 22 March 2011
Effect on Committers
   • JIRA replaced by bugzilla + Acunote
   • Distributed sprint planning
   • Concurrent sprints



Tuesday, 22 March 2011
Summary
                         Was it worth it?


Tuesday, 22 March 2011
Benefits of Donating
              ✓Increase adoption
               ✓  Permissive license
               ✓Multi-vendor
              • Improve usability
               • Build
                   ✓ Application development tooling

Tuesday, 22 March 2011
Benefits of Eclipse.org
                    ✓    Code
                    ✓ Intellectual property
                    • Infrastructure
                    ✓ Community


Tuesday, 22 March 2011
And Finally...



Tuesday, 22 March 2011
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
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

Donating a mature project to Eclipse

  • 1.
    Donating a Mature Project to Eclipse Glyn Normington Copyright VMware Inc. 2011. Licensed under the Eclipse Public License Tuesday, 22 March 2011
  • 2.
    Agenda • Code • Intellectual property • Infrastructure • Community Tuesday, 22 March 2011
  • 3.
  • 4.
    Origins • Spring Engine • SpringSource Application Platform • SpringSource dm Server • Eclipse Virgo Tuesday, 22 March 2011
  • 5.
    Origins • Spring Engine • SpringSource Application Platform • SpringSource dm Server • Eclipse Virgo Tuesday, 22 March 2011
  • 6.
  • 7.
    Was dm ServerMature? • Users in production on v1 & v2 • Principled design • Clean code • Extensive test suite (with CI) • Based on, and influencing, standards Tuesday, 22 March 2011
  • 8.
    Why donate it? • Remove adoption inhibitors • GPL • Single vendor • Collaborate on usability • Build • Application development tooling Tuesday, 22 March 2011
  • 9.
    Why Eclipse.org? • Permissive license • Governance & IP process • Built on Equinox & Eclipse • EclipseRT needed a runtime Tuesday, 22 March 2011
  • 10.
    End of Interlude. Back to the Code Tuesday, 22 March 2011
  • 11.
    Moving the Project 2007 2008 2009 2010 2011 2012 2013 1.0 2.0 2.1 (Virgo) 3.0 ß/milestone GA SR EOL Tuesday, 22 March 2011
  • 12.
    Version Control • git • 22 repositories • GPL history was pruned • Back link for archaeology • External collaboration • github Tuesday, 22 March 2011
  • 13.
  • 14.
    Licensing • SpringSource dm Server • Eclipse Virgo • GPL + • EPL commercial • OSGi Web • Gemini Web Container • Apache • EPL + Apache Tuesday, 22 March 2011
  • 15.
    Eclipse IP Process • Scrutiny • Source code • License • Pedigree • Contribution & dependencies Tuesday, 22 March 2011
  • 16.
    IP Process Costs • Raised 200 CQs • Deleted 2 dependencies • Tweaked 3rd party licensing Tuesday, 22 March 2011
  • 17.
    IP Process Benefits • Assured license/pedigree • Recorded dependencies • Improved licensing, e.g. • JWebUnit LGPL • mime.types file in Spring Tuesday, 22 March 2011
  • 18.
    IP Process Improvements • Clarify: • Downstream distribution • “Works with” dependencies • Policy for build/test dependencies • Automate release checks (WIP) Tuesday, 22 March 2011
  • 19.
  • 20.
    Build/Test Infrastructure • Moved CI to hudson.eclipse.org • Tool issues • False positives • Sharing vs stability • Virtualisation? Tuesday, 22 March 2011
  • 21.
    Search Infrastructure • Private OpenGrok • Too much code to remember • 22 git repos • No search at eclipse.org • Public OpenGrok http://virgo-opengrok.springsource.org/ Tuesday, 22 March 2011
  • 22.
  • 23.
    Moving the Community • Generally willing • Incompatibilities • Package names • Dropped function • Migration to Virgo 2.1 • Minimised • Migration notes Tuesday, 22 March 2011
  • 24.
    Effect on Committers • JIRA replaced by bugzilla + Acunote • Distributed sprint planning • Concurrent sprints Tuesday, 22 March 2011
  • 25.
    Summary Was it worth it? Tuesday, 22 March 2011
  • 26.
    Benefits of Donating ✓Increase adoption ✓ Permissive license ✓Multi-vendor • Improve usability • Build ✓ Application development tooling Tuesday, 22 March 2011
  • 27.
    Benefits of Eclipse.org ✓ Code ✓ Intellectual property • Infrastructure ✓ Community Tuesday, 22 March 2011
  • 28.
  • 29.
    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
  • 30.
    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