SlideShare a Scribd company logo
Contributing to OpenJDK for 
the GitHub Generation 
Daniel Bryant (@danielbryantuk) 
Mani Sarkar (@theNeomatrix369) 
Edward Yue Shong Wong (@arkangelofkaos) 
London Java Community
Tonight’s Agenda 
∙ OpenJDK – Java for the people! 
∙ Contributing to OpenJDK is easy… right? 
∙ The problem, and our planned solution 
∙ Progress so far… 
∙ Future work – we need your help! 
∙ This is a BOF session 
– We encourage questions and discussion!
What is OpenJDK? 
∙ Is everyone familiar with the OpenJDK? 
– Free and open source implementation of Java SE 
– Reference Implementation for JDK since Java 7 
– Code split into various Mercurial repos (jdk, Hotspot, 
nashorn…) 
∙ Has anyone built it locally? 
– On MS Windows…
Building OpenJDK 
∙ Java used extensively (and others… C++ etc) 
∙ Ensuring quality 
– We all Unit Test our code (…right?) 
– Essential for a platform/SDK like Java 
∙ Jtreg - “Regression Test Harness” 
– Think Unit (and Integration) Testing for the JDK 
– TestNG / JUnit / Shell scripts 
– Some good code coverage (some bad!)
Test Coverage Report 
http://sticky.uwcs.co.uk/ojdk/coveragereport/ 
Courtesy of John Oliver (@johno_oliver)
Contributing to OpenJDK is easy… 
∙ Sign OCA 
∙ Download the codebase 
∙ Find something interesting to work on 
– Bug database/tracker/Jira 
– Write new tests 
– Re-write old tests 
– Get inspiration from the mailing lists (50+!)
Contributing to OpenJDK is easy…right? 
∙ Find a sponsor 
∙ Submit a patch 
– Include comments, code changes and jtreg tests 
– Generate a “webrev” 
– Wait for feedback… 
∙ This is a slow (and perhaps unintuitive) process 
– Why can’t I just fork and pull?
Not quite social coding… 
http://docs.joomla.org/Dvcs
Is it anti-social??? 
http://www.rottenecards.com/card/32253/im-not-anti-social-im-se
The problems… 
∙ Doesn’t quite feel like “social coding” should… 
– You’re working on an island 
– Modifications not visible to the world 
– Discussions not close to code 
∙ Testing is difficult 
– Added complexity of working with a VM/SDK 
– Does patch works across all platforms/permutations? 
– Coding standards
Our Goals 
∙ “To encourage contributions to OpenJDK" 
∙ Streamline the whole process 
– More social… 
∙ Ensure (and assist with) quality 
– Lack of test coverage, incorrect code style 
– Easier to test across platforms/permutations 
∙ Provide visible feedback for community
Architecture – Grand Vision
Progress so far… 
∙ “Betterev” web app nearing completion 
– Built in Play 2 framework (not ideal…) 
∙ Event-driven architecture 
– Utilising Akka to build event-bus 
∙ Planning Test Farm implementation 
– Servers aren’t free! 
∙ Personal Challenges 
– Large scope needs large time commitments 
– Communication and organisation are vital!
Opening page
Pull Review details
Future Work 
∙ Deploy alpha release 
– Complete web app (what to do with Play??) 
– Implement build farm (DevOps magic) 
∙ Start demonstrating this tool 
– Get some “buy in”… 
∙ LJC working hard to commit more time…
Please do get involved! 
∙ We need passionate Java developers like you! 
– What’s better than helping to make contributing to 
your favourite language easier? 
∙ Find us on Bitbucket 
– https://bitbucket.org/adoptopenjdk/betterrev 
∙ Join our Google Group: 
– https://groups.google.com/forum/#!forum/betterrev
Please do get involved! 
∙ Web Resources 
– http://openjdk.java.net/ 
– https://java.net/projects/adoptopenjdk/ 
– https://groups.google.com/forum/#!forum/adopt-https:// 
groups.google.com/forum/#!forum/adopt-openjdk 
∙ Contact Us: 
– Daniel Bryant (@danielbryantuk) 
– Mani Sarkar (@theNeomatrix369) 
– Edward Yue Shong Wong (@arkangelofkaos)
A shout out to the LJC and IBM… 
∙ Thanks to other LJC members for supporting 
this 
– Martijn Verburg 
– Richard Warburton 
∙ Big thanks also to IBM 
– Steve Poole

More Related Content

PPT
DEVOXX BE 2013 'Betterrev: Social Participation in OpenJDK'
Daniel Bryant
 
PPT
LJCConf 2013 "Contributing to OpenJDK for the GitHub Generation"
Daniel Bryant
 
PPT
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
Daniel Bryant
 
PDF
Windows Just Got Chocolatey (Package Management) LISA15
Rob Reynolds
 
PDF
Building at a glance
Gabriel Dogaru
 
PDF
Android Made Simple
Gabriel Dogaru
 
ODP
Vagrant and puppet: Deployment made easy
Geronimo Orozco
 
PPTX
Dockerizing your java development environment
Buhake Sindi
 
DEVOXX BE 2013 'Betterrev: Social Participation in OpenJDK'
Daniel Bryant
 
LJCConf 2013 "Contributing to OpenJDK for the GitHub Generation"
Daniel Bryant
 
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
Daniel Bryant
 
Windows Just Got Chocolatey (Package Management) LISA15
Rob Reynolds
 
Building at a glance
Gabriel Dogaru
 
Android Made Simple
Gabriel Dogaru
 
Vagrant and puppet: Deployment made easy
Geronimo Orozco
 
Dockerizing your java development environment
Buhake Sindi
 

What's hot (20)

PDF
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Rob Reynolds
 
ODP
Development nightmares
Geronimo Orozco
 
PDF
Droidcon IT 2015
Enrique López Mañas
 
PDF
Android Building, Testing and reversing
Enrique López Mañas
 
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
PPTX
Running a Successful Open Source Project
Rob Reynolds
 
PDF
JHipster Conf 2019 English keynote
Julien Dubois
 
PDF
Better delivery with DevOps Driven Development
Jirayut Nimsaeng
 
PDF
So You Want to be an OpenStack Contributor
Anne Gentle
 
PDF
Extending NetBeans IDE
Geertjan Wielenga
 
PDF
Trying Out Tomorrow’s WordPress Today
DrewAPicture
 
PPTX
Evolution of NuGet
Jeff Handley
 
PPTX
The New York Times: Sustainable Systems, Powered by Python
All Things Open
 
PPTX
Collaborating on GitHub for Open Source Documentation
Anne Gentle
 
PDF
Continuous integration for androids
Kirill Zotin
 
PPTX
2011 - Dotnet Information Day: NUGET
Daniel Fisher
 
PDF
Continuous Integration Is for Teams: Moving past buzzword driven development
Pantheon
 
ODP
Jenkins djangovillage
Lucio Grenzi
 
PDF
Memorial Sloan Kettering: Adventures in Drupal 8
Phase2
 
PDF
From zero to hero with React Native!
Commit University
 
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Rob Reynolds
 
Development nightmares
Geronimo Orozco
 
Droidcon IT 2015
Enrique López Mañas
 
Android Building, Testing and reversing
Enrique López Mañas
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
Running a Successful Open Source Project
Rob Reynolds
 
JHipster Conf 2019 English keynote
Julien Dubois
 
Better delivery with DevOps Driven Development
Jirayut Nimsaeng
 
So You Want to be an OpenStack Contributor
Anne Gentle
 
Extending NetBeans IDE
Geertjan Wielenga
 
Trying Out Tomorrow’s WordPress Today
DrewAPicture
 
Evolution of NuGet
Jeff Handley
 
The New York Times: Sustainable Systems, Powered by Python
All Things Open
 
Collaborating on GitHub for Open Source Documentation
Anne Gentle
 
Continuous integration for androids
Kirill Zotin
 
2011 - Dotnet Information Day: NUGET
Daniel Fisher
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Pantheon
 
Jenkins djangovillage
Lucio Grenzi
 
Memorial Sloan Kettering: Adventures in Drupal 8
Phase2
 
From zero to hero with React Native!
Commit University
 
Ad

Viewers also liked (16)

DOCX
Hhp paper
mikaylanelson13
 
PDF
Adopt OpenJDK presentation (slide deck)
Mani Sarkar
 
PDF
Adopt OpenJDK, Betterrev blind ignite presentation
Mani Sarkar
 
PPTX
Scaun cu rotile cu verticalizare
Toda International
 
PPTX
Scaune cu rotile
Toda International
 
PDF
How is Java / JVM built ? Adopt OpenJDK is your answer !
Mani Sarkar
 
PPTX
Java2 days 2013-j-treg
Mani Sarkar
 
PDF
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Mani Sarkar
 
PPTX
Java2 days 2013-lambda
Mani Sarkar
 
PDF
Essential technical skills
Mani Sarkar
 
PDF
Refactoring developer habits
Mani Sarkar
 
PDF
How is Java / JVM built ? Back then and now...
Mani Sarkar
 
PDF
Kanban kata
Mani Sarkar
 
PDF
Leaning on the two Ts
Mani Sarkar
 
PDF
History of java
Mani Sarkar
 
PPTX
Sonar qube to impove code quality
Mani Sarkar
 
Hhp paper
mikaylanelson13
 
Adopt OpenJDK presentation (slide deck)
Mani Sarkar
 
Adopt OpenJDK, Betterrev blind ignite presentation
Mani Sarkar
 
Scaun cu rotile cu verticalizare
Toda International
 
Scaune cu rotile
Toda International
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
Mani Sarkar
 
Java2 days 2013-j-treg
Mani Sarkar
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Mani Sarkar
 
Java2 days 2013-lambda
Mani Sarkar
 
Essential technical skills
Mani Sarkar
 
Refactoring developer habits
Mani Sarkar
 
How is Java / JVM built ? Back then and now...
Mani Sarkar
 
Kanban kata
Mani Sarkar
 
Leaning on the two Ts
Mani Sarkar
 
History of java
Mani Sarkar
 
Sonar qube to impove code quality
Mani Sarkar
 
Ad

Similar to Ljc conf open jdk betterrev bof (20)

PDF
Everyone wants (someone else) to do it: writing documentation for open source...
Jody Garnett
 
PDF
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
PDF
Cloud Native Rejekts Europe 2022 - Learnings From Creating CI/CD Pipelines
David vonThenen
 
PPTX
MOBILE QUESTIONS & ANSWER WEBSITE
Vishal Mittal
 
PPTX
Yocto_DevDay_Advanced_Class_Portland_2018.pptx
Rajeshravi49
 
PDF
Join the Java Evolution GIDS Bangalore & Pune
Heather VanCura
 
PDF
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Martijn Verburg
 
PPTX
Introducing the JAQ (Java, Angular, Sql/NoSQL) Stack
Suren Konathala
 
PDF
Adopt OpenJDK the past, the present & the future
Mani Sarkar
 
PPTX
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
PDF
005528214.pdf
EidTahir
 
PPTX
whats-new-netbeans-ide-7x.pptx
GabrielSoche
 
PDF
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
Bill Scott
 
PPTX
JavaFX - Sketch Board to Production
Yoav Aharoni
 
PDF
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
PDF
Counterclockwise past present future
lolopetit
 
PDF
How to create/improve OSS product and its community (revised)
SATOSHI TAGOMORI
 
PDF
Usable Software Design
Alexandru Bolboaca
 
PDF
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 
Everyone wants (someone else) to do it: writing documentation for open source...
Jody Garnett
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Cloud Native Rejekts Europe 2022 - Learnings From Creating CI/CD Pipelines
David vonThenen
 
MOBILE QUESTIONS & ANSWER WEBSITE
Vishal Mittal
 
Yocto_DevDay_Advanced_Class_Portland_2018.pptx
Rajeshravi49
 
Join the Java Evolution GIDS Bangalore & Pune
Heather VanCura
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Martijn Verburg
 
Introducing the JAQ (Java, Angular, Sql/NoSQL) Stack
Suren Konathala
 
Adopt OpenJDK the past, the present & the future
Mani Sarkar
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
005528214.pdf
EidTahir
 
whats-new-netbeans-ide-7x.pptx
GabrielSoche
 
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
Bill Scott
 
JavaFX - Sketch Board to Production
Yoav Aharoni
 
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
Counterclockwise past present future
lolopetit
 
How to create/improve OSS product and its community (revised)
SATOSHI TAGOMORI
 
Usable Software Design
Alexandru Bolboaca
 
Achieving Full Stack DevOps at Colonial Life
DevOps.com
 

Recently uploaded (20)

PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Exploring AI Agents in Process Industries
amoreira6
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Immersive experiences: what Pharo users do!
ESUG
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 

Ljc conf open jdk betterrev bof

  • 1. Contributing to OpenJDK for the GitHub Generation Daniel Bryant (@danielbryantuk) Mani Sarkar (@theNeomatrix369) Edward Yue Shong Wong (@arkangelofkaos) London Java Community
  • 2. Tonight’s Agenda ∙ OpenJDK – Java for the people! ∙ Contributing to OpenJDK is easy… right? ∙ The problem, and our planned solution ∙ Progress so far… ∙ Future work – we need your help! ∙ This is a BOF session – We encourage questions and discussion!
  • 3. What is OpenJDK? ∙ Is everyone familiar with the OpenJDK? – Free and open source implementation of Java SE – Reference Implementation for JDK since Java 7 – Code split into various Mercurial repos (jdk, Hotspot, nashorn…) ∙ Has anyone built it locally? – On MS Windows…
  • 4. Building OpenJDK ∙ Java used extensively (and others… C++ etc) ∙ Ensuring quality – We all Unit Test our code (…right?) – Essential for a platform/SDK like Java ∙ Jtreg - “Regression Test Harness” – Think Unit (and Integration) Testing for the JDK – TestNG / JUnit / Shell scripts – Some good code coverage (some bad!)
  • 5. Test Coverage Report http://sticky.uwcs.co.uk/ojdk/coveragereport/ Courtesy of John Oliver (@johno_oliver)
  • 6. Contributing to OpenJDK is easy… ∙ Sign OCA ∙ Download the codebase ∙ Find something interesting to work on – Bug database/tracker/Jira – Write new tests – Re-write old tests – Get inspiration from the mailing lists (50+!)
  • 7. Contributing to OpenJDK is easy…right? ∙ Find a sponsor ∙ Submit a patch – Include comments, code changes and jtreg tests – Generate a “webrev” – Wait for feedback… ∙ This is a slow (and perhaps unintuitive) process – Why can’t I just fork and pull?
  • 8. Not quite social coding… http://docs.joomla.org/Dvcs
  • 9. Is it anti-social??? http://www.rottenecards.com/card/32253/im-not-anti-social-im-se
  • 10. The problems… ∙ Doesn’t quite feel like “social coding” should… – You’re working on an island – Modifications not visible to the world – Discussions not close to code ∙ Testing is difficult – Added complexity of working with a VM/SDK – Does patch works across all platforms/permutations? – Coding standards
  • 11. Our Goals ∙ “To encourage contributions to OpenJDK" ∙ Streamline the whole process – More social… ∙ Ensure (and assist with) quality – Lack of test coverage, incorrect code style – Easier to test across platforms/permutations ∙ Provide visible feedback for community
  • 13. Progress so far… ∙ “Betterev” web app nearing completion – Built in Play 2 framework (not ideal…) ∙ Event-driven architecture – Utilising Akka to build event-bus ∙ Planning Test Farm implementation – Servers aren’t free! ∙ Personal Challenges – Large scope needs large time commitments – Communication and organisation are vital!
  • 16. Future Work ∙ Deploy alpha release – Complete web app (what to do with Play??) – Implement build farm (DevOps magic) ∙ Start demonstrating this tool – Get some “buy in”… ∙ LJC working hard to commit more time…
  • 17. Please do get involved! ∙ We need passionate Java developers like you! – What’s better than helping to make contributing to your favourite language easier? ∙ Find us on Bitbucket – https://bitbucket.org/adoptopenjdk/betterrev ∙ Join our Google Group: – https://groups.google.com/forum/#!forum/betterrev
  • 18. Please do get involved! ∙ Web Resources – http://openjdk.java.net/ – https://java.net/projects/adoptopenjdk/ – https://groups.google.com/forum/#!forum/adopt-https:// groups.google.com/forum/#!forum/adopt-openjdk ∙ Contact Us: – Daniel Bryant (@danielbryantuk) – Mani Sarkar (@theNeomatrix369) – Edward Yue Shong Wong (@arkangelofkaos)
  • 19. A shout out to the LJC and IBM… ∙ Thanks to other LJC members for supporting this – Martijn Verburg – Richard Warburton ∙ Big thanks also to IBM – Steve Poole