Adopt OpenJDK

What we've learned &
Where we're going


Martijn Verburg (@karianna)
Ben Evans (@kittylyst)

                                                                                 1
                 Slide Design by Kerry Kenneally http://www.kerrykenneally.com
We are pleased to have a legal slide!




      This work and content is licensed under




Creative Commons Attribution-Non Commercial-Share

            Alike 3.0 Unported License




                                                2
Like last year - why we're partly here...




                                        3
How this talk is going to work

• This is a fact!




• This is an opinion

   – We will not poke fun at large corporations



• Two sections:

   – What we've learned (A bit of whining)
   – Where we're going (What we're hoping to do about it)




                                                            4
What is the Adopt OpenJDK program?

• A JUG lead initiative to improve participation in OpenJDK




• A programme to help improve OpenJDK workflow




• An advocacy programme




                                                              5
What is its relationship with OpenJDK

• A feeder programme of ideas and talent




• A mentoring and educational incubator




• An place to prototype new social/community workflow ideas




• Early feedback mechanism
What is its relationship with OpenJDK

• An area to try some small technical ideas




• An area to work with casual as well as full-time participants




• Ideas and tech will shift to the OpenJDK on merit

   – Usual OpenJDK rules apply
What we've learned




                     8
Developers love the idea of OpenJDK

• Developers are hugely keen to get involved




• They want to help the platform that has given them so much




• There is often real significant contributors hiding away, e.g.

    – Mutability detector
    – Research from Cambridge University, UK
    – Working build-infra builds on all major platforms
    – Richard Warburton & Jim Gough on JSR-310


                                                                   9
Hackdays are the best way to educate

• Hosting hackdays has been very successful

   – ~10 were held in 2012



• In 2-3 hours, 20-30 developers can get started on OpenJDK

   – This propagates through conferences and JUGs



• Richard can explain how Lambdas and Date/Time went




                                                          10
Developers are scared of OpenJDK

• They think only Rocket Scientists need apply

   – They think you need advanced C/C++/Assembler skills
   – Charlie doesn't help ;-)



• They are scared to make public contributions




• They are scared they will break something

   – Lack of access to (open) tests




                                                           11
Developers are surprised at the helpfulness

• OpenJDK has somewhat of a surly reputation

   – Several well meaning technologists who have their ideas rejected
   – Oracle staff are often buy on internal deadlines



• Most OpenJDK projects have a very welcoming attitude

   – This needs to be publicised more




                                                             12
Developers can't build OpenJDK easily

• Even with build-infra - it's a barrier to entry




• Lack of IDE support




• make is an unfamiliar build tool for many




• Developers guide is out of date



                                                    13
Developers can't test OpenJDK easily

• Even with jtreg improvements - it's a barrier to entry

   – TestNG support is very welcome



• Lack of access to complete (open) tests




• Lack of alternative test platforms




• Lack of CI


                                                           14
Developers want to code socially

• They are used to GitHub/BitBucket




• They are used to collaborative code review




• They are used to open issue trackers




• They used to UI/Ux which leads them to information



                                                       15
Developers want to code socially

• They are used to ideas/designs being discussed more fully

   – JEP system whilst seemingly fair is causing frustration



• They are used to fairly consistent technical standards

   – OpenJDK projects all have their own




                                                               16
Developers struggle to submit code

• Many branches/forests/trees confuse them




• webrev is a major hurdle

   – Patch turnaround times are slow for external contributors




                                                                 17
Where we're going




                    18
Developers love the idea of OpenJDK

• We're promoting the living daylights out of OpenJDK




• 4 new dedicated LJC advocates




• A new Brazil-wide programme launched by SouJava




• 20+ hackdays planned globally in 2013



                                                        19
Hackdays are the best way to educate

• 20+ hackdays planned globally in 2013




• All major conferences to hold them

   – Arranged via the JUG Leaders and Java Champions programme



• Hackday materials to be shared on GitHub




• LJC Advocates working on Chef/Vagrant builds


                                                           20
Developers can't build OpenJDK easily

• 5+ JUGs combining to product build instructions

   – For all major platforms



• build-infra friendly IDE build instructions being worked on




• chef/vagrant/shell scripts to simply builds




                                                          21
Developers can't test OpenJDK easily

• Testfest planned with IBM and Oracle et al

   – TestNG tests will be written



• Gentlepersons agreement at Devoxx to open up tests

   – Oracle, IBM, RedHat, Azul et al



• Initial discussions around a secure distributed build farm

   – Cloudbees willing to donate free compute time/space for this




                                                                    22
Developers can't test OpenJDK easily

• Programme planned to involve JVM F/OSS projects for testing

   – When M7 is released
   – Needs infrastructure?



• Global test hackdays to co-ordinate testing and results

   – TBA




                                                            23
Developers want to code socially

• AdoptOpenJDK GitHub

   – For collaborative code review



• LJC is now incorporated

   – Bank A/C will be opened and funds secured
   – Global JUG non-profit corporation?



• Adopt OpenJDK will host build platforms, chef-server etc




                                                             24
Developers struggle to submit code

• Adopt OpenJDK will investigate a living visualisation of forests

   – TBA



• Adopt OpenJDK will host a webrev service

   – Allows irregular contributors a way to submit patches




                                                               25
Thanks for listening!

• Need to get in touch?

   –   Adopt OpenJDK (@adoptopenjdk)
   –   Ben Evans (@kittylyst)
   –   Martijn Verburg (@karianna)
   –   Richard Warburton (@richardwarburto)




• http://adoptopenjdk.java.net



                                              26

Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)

  • 1.
    Adopt OpenJDK What we'velearned & Where we're going Martijn Verburg (@karianna) Ben Evans (@kittylyst) 1 Slide Design by Kerry Kenneally http://www.kerrykenneally.com
  • 2.
    We are pleasedto have a legal slide! This work and content is licensed under Creative Commons Attribution-Non Commercial-Share Alike 3.0 Unported License 2
  • 3.
    Like last year- why we're partly here... 3
  • 4.
    How this talkis going to work • This is a fact! • This is an opinion – We will not poke fun at large corporations • Two sections: – What we've learned (A bit of whining) – Where we're going (What we're hoping to do about it) 4
  • 5.
    What is theAdopt OpenJDK program? • A JUG lead initiative to improve participation in OpenJDK • A programme to help improve OpenJDK workflow • An advocacy programme 5
  • 6.
    What is itsrelationship with OpenJDK • A feeder programme of ideas and talent • A mentoring and educational incubator • An place to prototype new social/community workflow ideas • Early feedback mechanism
  • 7.
    What is itsrelationship with OpenJDK • An area to try some small technical ideas • An area to work with casual as well as full-time participants • Ideas and tech will shift to the OpenJDK on merit – Usual OpenJDK rules apply
  • 8.
  • 9.
    Developers love theidea of OpenJDK • Developers are hugely keen to get involved • They want to help the platform that has given them so much • There is often real significant contributors hiding away, e.g. – Mutability detector – Research from Cambridge University, UK – Working build-infra builds on all major platforms – Richard Warburton & Jim Gough on JSR-310 9
  • 10.
    Hackdays are thebest way to educate • Hosting hackdays has been very successful – ~10 were held in 2012 • In 2-3 hours, 20-30 developers can get started on OpenJDK – This propagates through conferences and JUGs • Richard can explain how Lambdas and Date/Time went 10
  • 11.
    Developers are scaredof OpenJDK • They think only Rocket Scientists need apply – They think you need advanced C/C++/Assembler skills – Charlie doesn't help ;-) • They are scared to make public contributions • They are scared they will break something – Lack of access to (open) tests 11
  • 12.
    Developers are surprisedat the helpfulness • OpenJDK has somewhat of a surly reputation – Several well meaning technologists who have their ideas rejected – Oracle staff are often buy on internal deadlines • Most OpenJDK projects have a very welcoming attitude – This needs to be publicised more 12
  • 13.
    Developers can't buildOpenJDK easily • Even with build-infra - it's a barrier to entry • Lack of IDE support • make is an unfamiliar build tool for many • Developers guide is out of date 13
  • 14.
    Developers can't testOpenJDK easily • Even with jtreg improvements - it's a barrier to entry – TestNG support is very welcome • Lack of access to complete (open) tests • Lack of alternative test platforms • Lack of CI 14
  • 15.
    Developers want tocode socially • They are used to GitHub/BitBucket • They are used to collaborative code review • They are used to open issue trackers • They used to UI/Ux which leads them to information 15
  • 16.
    Developers want tocode socially • They are used to ideas/designs being discussed more fully – JEP system whilst seemingly fair is causing frustration • They are used to fairly consistent technical standards – OpenJDK projects all have their own 16
  • 17.
    Developers struggle tosubmit code • Many branches/forests/trees confuse them • webrev is a major hurdle – Patch turnaround times are slow for external contributors 17
  • 18.
  • 19.
    Developers love theidea of OpenJDK • We're promoting the living daylights out of OpenJDK • 4 new dedicated LJC advocates • A new Brazil-wide programme launched by SouJava • 20+ hackdays planned globally in 2013 19
  • 20.
    Hackdays are thebest way to educate • 20+ hackdays planned globally in 2013 • All major conferences to hold them – Arranged via the JUG Leaders and Java Champions programme • Hackday materials to be shared on GitHub • LJC Advocates working on Chef/Vagrant builds 20
  • 21.
    Developers can't buildOpenJDK easily • 5+ JUGs combining to product build instructions – For all major platforms • build-infra friendly IDE build instructions being worked on • chef/vagrant/shell scripts to simply builds 21
  • 22.
    Developers can't testOpenJDK easily • Testfest planned with IBM and Oracle et al – TestNG tests will be written • Gentlepersons agreement at Devoxx to open up tests – Oracle, IBM, RedHat, Azul et al • Initial discussions around a secure distributed build farm – Cloudbees willing to donate free compute time/space for this 22
  • 23.
    Developers can't testOpenJDK easily • Programme planned to involve JVM F/OSS projects for testing – When M7 is released – Needs infrastructure? • Global test hackdays to co-ordinate testing and results – TBA 23
  • 24.
    Developers want tocode socially • AdoptOpenJDK GitHub – For collaborative code review • LJC is now incorporated – Bank A/C will be opened and funds secured – Global JUG non-profit corporation? • Adopt OpenJDK will host build platforms, chef-server etc 24
  • 25.
    Developers struggle tosubmit code • Adopt OpenJDK will investigate a living visualisation of forests – TBA • Adopt OpenJDK will host a webrev service – Allows irregular contributors a way to submit patches 25
  • 26.
    Thanks for listening! •Need to get in touch? – Adopt OpenJDK (@adoptopenjdk) – Ben Evans (@kittylyst) – Martijn Verburg (@karianna) – Richard Warburton (@richardwarburto) • http://adoptopenjdk.java.net 26