• Like
Using and Building Open Source in Google Corporate Engineering - Justin McWilliams
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Using and Building Open Source in Google Corporate Engineering - Justin McWilliams




Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Open Source inGoogle Corporate Engineering Justin McWilliams
  • 2. Corporate ITWorkstations & WiFi Video Conferencing & TelecommunicationVPN & Remote Access Helpdesk / Tech Support Calendar & ProductivityServers & Networking Email Mobile Devices
  • 3. Google CorpEng Challenges
  • 4. CorpEng not only runs, but develops most solutions! ● Video conferencing, complete with fleet management ● Mac OS X software deployment client and server ● Full disk encryption recovery key escrow solution ● Binary whitelist approval workflow system ● Employee performance review and promotion system ● Interview scheduling, feedback, and hiring decision solution ● Financial and expense reporting tools ● Compensation review/display ● International payroll calculation ● Much, much more Most of the above are built on Google App Engine, and some are open sourced.
  • 5. Why does CorpEng Open Source? Why does Google Open Source? Why does anyone Open Source?
  • 6. "Open" more than just "Source"
  • 7. OSS widely used within CorpEng● Need a high-performance, distributed in-memory object caching system? ○ Memcached● Java date and time classes causing pain? ○ JodaTime● Want a library or framework to help with testing? ○ Mockito, EasyMock, Machinist, UnitRecord, FlexMock, pymox● Developing a web application? ○ Django, GWT, Spring, Struts, Closure, jQuery, AngularJS, ...● Cant write in binary? ○ Java, Python, Ruby (on Rails), Go, etc.
  • 8. Whats interesting about these? Gin KeyczarAngularJS Guice ipaddr-pyClosure GSON oauth2clientFlexMock GWT pymox
  • 9. Example OSS use within CorpEng● AutoTest ○ Automated testing and releasing of our customized Ubuntu distribution● CodeMirror (JavaScript) ○ Used to build an internal application dev tool for a browser-based IDE ■ Not Google Collide, which also uses CodeMirror● FreeSWITCH ○ Used to build our custom call center telephony routing system● Munki & Puppet ○ Mac OS X systems administration tools
  • 10. + = Simian
  • 11. Cauliflower Vest
  • 12. CorpEng Open Source SolutionsSimian Software mgmt for one of the largest Mac deployments in the worldCauliflower Vest Enterprise-class FileVault 2 recovery key escrow solutionGaneti Cluster-based virtualization management softwareCloudCourse LMS for enterprise course scheduling and management
  • 13. CorpEng OSS Releases / ContributionsGORD Platform agnostic RPC daemon for interaction with Microsoft SMS/SCCMCompliance Management Automated maintenance, analytics and reporting of compliance dataAppReduce* Enterprise software license tracking and employee transparency toolContributions to non-Google OSS: Firebug, FreeJ, Objectify, PyActiveResource, PyCups, Rails, ..., Debian, Ubuntu, ...
  • 14. CorpEng Open Source Release Process Akin to Android, not Chromium; develop internally then release large dumps, because....
  • 15. Links! Questions?CorpEng Open Source Projects ● Simian http://code.google.com/p/simian ○ Munki http://code.google.com/p/munki ● Cauliflower Vest http://code.google.com/p/cauliflowervest ● Ganeti http://code.google.com/p/ganeti ● Compliance Management http://code.google.com/p/compliance-managementMisc ● Make Open Easy http://code.google.com/p/make-open-easyCorpEng Videos & Presentations: ● Google on Google, I/O http://goo.gl/ovJ2D ● Coding For Cloud, I/O http://goo.gl/nt6Ox ● Corp Apps on AppEngine, I/O http://goo.gl/m1XzN ● Life@Google IT Teams http://goo.gl/7cYSf