Mr. Gerkins InnerSource's first open tool Bijil Abraham Philip
About.me Present: Software Development Engineer, Amazon Pay Buyer Experience team. Previous: Software Engineer, Transaction Orchestration Platform team, PayPal. Alma mater: University of Southern California (USC), University Visvesvaraya College of Engineering (UVCE). Passionate about technology and exploring new technologies; hackathons. Hobbies: Soccer (playing, any Barcelona fans?), Travelling and Reading. Previously been a part of Toastmasters and IEEE. Profile: https://www.linkedin.com/in/bijilap/
Open Source code base ? Inner Source code base? Open code base?
Being a Bottleneck Component Credits: www.goleansixsigma.com
Being a Bottleneck Component UI Components API Facade Payments Platform User Service Merchant Service Funding Options Service Risk Transaction Engine
InnerSource to the Rescue More helping hands. Accelerated development leading to faster time to market. Requesting team & component owner can continue to focus on their milestones. Requesting team can take ownership of their changes and control their destiny. Developers become more familiar with various components / services.
Setting the Ground Rules Credits: http://www.lessonsoffailure.com/category/developers/
Setting the Ground Rules Set guidelines for contributing Maintaining quality Code quality Testing and Automation Standards for pull requests Define ownership period Framework for handling bugs
Overheads of Inner Sourcing More documentation needed, viz. Release notes Tracking inner source pull requests More emails, follow ups with contributing team Keeping external contributors in the loop about release dates. Track defects introduced by Inner Source PRs.
Automating the Mundane
Mr. Gerkins, At your service Automated generation of Release Notes Notify all contributors, whose pull requests were included in a tag Notify contributors, distribution list after release Label InnerSource PRs
Under the hood
Flow of control Mr. Gerkins Labelling InnerSource Pull Requests PR Webhook Mr. Gerkins Create PR Update Issues API Check team membership Labelling InnerSource Pull Requests
Flow of control Mr. Gerkins Generate Release Notes and notify tag cut Create Release Notes Webhook Mr. Gerkins Update file in repo AI Notify tag cut Webhook Trigger Maven Release Email Server Generate Release Notes and notify tag cut
Flow of control Mr. Gerkins Notify completion of Release Draft a new release Notify release webook Email Server Notify completion of Release
Deployment and Setup Life Cycle Clone / download Mr. Gerkins Create team specific configuration Generate executable jar Configure webhooks for Github repository Deploy executable on an instance Add build steps in Jenkins job https://github.com/paypal/MrGerkins/blob/master/GETTINGSTARTED.md
Onwards to the future Slack Integration Metrics Platform Notify contributors on slack Trigger maven release from slack Update release details from Slack Determine if PR is innersource based on slack groups Metrics Platform number of innersource PRs total number of lines changed Better Dev Ops support
Fork it! https://github.com/paypal/MrGerkins
Questions