This document summarizes the Adopt OpenJDK program's experience with engaging developers in contributing to OpenJDK. It discusses what has been learned, such as developers being interested but scared to contribute, difficulties building and testing OpenJDK, and desire for more social coding processes. It outlines plans to address these, such as more hackdays, shared build/test resources, using GitHub for code reviews, and hosting services to simplify contribution. The overall goal is to improve OpenJDK participation.
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
1. 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
2. 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
4. 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
5. 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
6. 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
7. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
25. 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
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