SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Open Source in
Google Corporate Engineering

       Justin McWilliams
Corporate IT
Workstations & WiFi
                                                    Video Conferencing &
                                                     Telecommunication


VPN & Remote Access
                         Helpdesk / Tech Support

                                                   Calendar & Productivity




Servers & Networking                                        Email
                             Mobile Devices
Google CorpEng Challenges
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.
Why does CorpEng Open Source?


   Why does Google Open Source?


     Why does anyone Open Source?
"Open" more than just "Source"
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, ...

●   Can't write in binary?
     ○ Java, Python, Ruby (on Rails), Go, etc.
What's interesting about these?


             Gin        Keyczar
AngularJS
             Guice      ipaddr-py
Closure
             GSON       oauth2client
FlexMock
             GWT        pymox
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
+   =


        Simian
Cauliflower   Vest
CorpEng Open Source Solutions
Simian
  Software mgmt for one of the largest Mac deployments in the world

Cauliflower Vest
  Enterprise-class FileVault 2 recovery key escrow solution

Ganeti
  Cluster-based virtualization management software

CloudCourse
   LMS for enterprise course scheduling and management
CorpEng OSS Releases / Contributions
GORD
  Platform agnostic RPC daemon for interaction with Microsoft SMS/SCCM

Compliance Management
  Automated maintenance, analytics and reporting of compliance data

AppReduce*
  Enterprise software license tracking and employee transparency tool



Contributions to non-Google OSS:
  Firebug, FreeJ, Objectify, PyActiveResource, PyCups, Rails, ..., Debian, Ubuntu, ...
CorpEng Open Source Release Process
 Akin to Android, not Chromium; develop internally then release large dumps, because....
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-management

Misc
 ● Make Open Easy              http://code.google.com/p/make-open-easy

CorpEng 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

Contenu connexe

Tendances

Upgrade to HTML5 Video
Upgrade to HTML5 VideoUpgrade to HTML5 Video
Upgrade to HTML5 Video
steveheffernan
 
9. .net applications using command line compiler and visual studio .net ide
9. .net applications using command line compiler and visual studio .net ide9. .net applications using command line compiler and visual studio .net ide
9. .net applications using command line compiler and visual studio .net ide
Pramod Rathore
 

Tendances (20)

JS digest. October 2017
JS digest. October 2017 JS digest. October 2017
JS digest. October 2017
 
ColdFusion 11 New Features
ColdFusion 11 New FeaturesColdFusion 11 New Features
ColdFusion 11 New Features
 
Boost Your Server - the Plesk Roadmap 2022 @Cloudfest 2022
Boost Your Server - the Plesk Roadmap 2022 @Cloudfest 2022Boost Your Server - the Plesk Roadmap 2022 @Cloudfest 2022
Boost Your Server - the Plesk Roadmap 2022 @Cloudfest 2022
 
Next Generation Tooling with WSO2 Enterprise Integrator
Next Generation Tooling with WSO2 Enterprise IntegratorNext Generation Tooling with WSO2 Enterprise Integrator
Next Generation Tooling with WSO2 Enterprise Integrator
 
Upgrade to HTML5 Video
Upgrade to HTML5 VideoUpgrade to HTML5 Video
Upgrade to HTML5 Video
 
Arsitektur Aplikasi Modern - Faisal Henry Susanto
Arsitektur Aplikasi Modern - Faisal Henry SusantoArsitektur Aplikasi Modern - Faisal Henry Susanto
Arsitektur Aplikasi Modern - Faisal Henry Susanto
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NET
 
How Secure is Your API?
How Secure is Your API?How Secure is Your API?
How Secure is Your API?
 
Blazor - the successor of angular/react/vue?
Blazor - the successor of angular/react/vue?Blazor - the successor of angular/react/vue?
Blazor - the successor of angular/react/vue?
 
Test at Scale within your Internal Networks with BrowserStack Local Testing
Test at Scale within your Internal Networks with BrowserStack Local TestingTest at Scale within your Internal Networks with BrowserStack Local Testing
Test at Scale within your Internal Networks with BrowserStack Local Testing
 
O que é esse tal de OWIN?
O que é esse tal de OWIN?O que é esse tal de OWIN?
O que é esse tal de OWIN?
 
9. .net applications using command line compiler and visual studio .net ide
9. .net applications using command line compiler and visual studio .net ide9. .net applications using command line compiler and visual studio .net ide
9. .net applications using command line compiler and visual studio .net ide
 
Magento NodeJS Microservices — Yegor Shytikov | Magento Meetup Online #11
Magento NodeJS Microservices — Yegor Shytikov | Magento Meetup Online #11Magento NodeJS Microservices — Yegor Shytikov | Magento Meetup Online #11
Magento NodeJS Microservices — Yegor Shytikov | Magento Meetup Online #11
 
Lap around Visual Studio 2013
Lap around Visual Studio 2013Lap around Visual Studio 2013
Lap around Visual Studio 2013
 
How I built a WebRTC enabled website in 20 minutes!
How I built a WebRTC enabled website in 20 minutes!How I built a WebRTC enabled website in 20 minutes!
How I built a WebRTC enabled website in 20 minutes!
 
Using power shell to enhance efficiency of your operation
Using power shell to enhance efficiency of your operationUsing power shell to enhance efficiency of your operation
Using power shell to enhance efficiency of your operation
 
PowerShell Saturday #009 (Singapore) - Azure + PowerShell
PowerShell Saturday #009 (Singapore) - Azure + PowerShellPowerShell Saturday #009 (Singapore) - Azure + PowerShell
PowerShell Saturday #009 (Singapore) - Azure + PowerShell
 
The fall of the BizTalk Architect – From something abstract to something useful
The fall of the BizTalk Architect – From something abstract to something usefulThe fall of the BizTalk Architect – From something abstract to something useful
The fall of the BizTalk Architect – From something abstract to something useful
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy ApplicationsAdrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
 
C#.net, C Sharp.Net Online Training Course Content
C#.net, C Sharp.Net Online Training Course ContentC#.net, C Sharp.Net Online Training Course Content
C#.net, C Sharp.Net Online Training Course Content
 

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

Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
Rodrigo Gil
 

Similaire à Using and Building Open Source in Google Corporate Engineering - Justin McWilliams (20)

Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
Api gitlab: configurazione dei progetti as a service
Api gitlab: configurazione dei progetti as a serviceApi gitlab: configurazione dei progetti as a service
Api gitlab: configurazione dei progetti as a service
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Microsoft, Citrix and SCOM: EOL or a New Beginning ?
Microsoft, Citrix and SCOM:  EOL or a New Beginning ?Microsoft, Citrix and SCOM:  EOL or a New Beginning ?
Microsoft, Citrix and SCOM: EOL or a New Beginning ?
 
Google cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGoogle cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptx
 
Tooling Matters - Development tools
Tooling Matters - Development toolsTooling Matters - Development tools
Tooling Matters - Development tools
 
The "One Monitor": Tranform MS SCOM into an End-to-End Monitoring & Diagnosis...
The "One Monitor": Tranform MS SCOM into an End-to-End Monitoring & Diagnosis...The "One Monitor": Tranform MS SCOM into an End-to-End Monitoring & Diagnosis...
The "One Monitor": Tranform MS SCOM into an End-to-End Monitoring & Diagnosis...
 
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
 
Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdf
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
 
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
 
Google Cloud Platform Solutions for DevOps Engineers
Google Cloud Platform Solutions  for DevOps EngineersGoogle Cloud Platform Solutions  for DevOps Engineers
Google Cloud Platform Solutions for DevOps Engineers
 
Powerful Google Cloud tools for your hack
Powerful Google Cloud tools for your hackPowerful Google Cloud tools for your hack
Powerful Google Cloud tools for your hack
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
Build Smart Service on GCP - Google DevFest 2018 Taiwan
Build Smart Service on GCP - Google DevFest 2018 TaiwanBuild Smart Service on GCP - Google DevFest 2018 Taiwan
Build Smart Service on GCP - Google DevFest 2018 Taiwan
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloud
 
The Complete User Experience Monitoring Solution - eG Enterprise v7
The Complete User Experience Monitoring Solution - eG Enterprise v7The Complete User Experience Monitoring Solution - eG Enterprise v7
The Complete User Experience Monitoring Solution - eG Enterprise v7
 
How Google Cloud Platform can help in the classroom/lab
How Google Cloud Platform can help in the classroom/labHow Google Cloud Platform can help in the classroom/lab
How Google Cloud Platform can help in the classroom/lab
 
DevOps & SRE at Google Scale
DevOps & SRE at Google ScaleDevOps & SRE at Google Scale
DevOps & SRE at Google Scale
 

Plus de OSCON Byrum

Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
OSCON Byrum
 
Declarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScriptDeclarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScript
OSCON Byrum
 

Plus de OSCON Byrum (20)

OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
 
Protecting Open Innovation with the Defensive Patent License
Protecting Open Innovation with the Defensive Patent LicenseProtecting Open Innovation with the Defensive Patent License
Protecting Open Innovation with the Defensive Patent License
 
Using Cascalog to build an app with City of Palo Alto Open Data
Using Cascalog to build an app with City of Palo Alto Open DataUsing Cascalog to build an app with City of Palo Alto Open Data
Using Cascalog to build an app with City of Palo Alto Open Data
 
Finite State Machines - Why the fear?
Finite State Machines - Why the fear?Finite State Machines - Why the fear?
Finite State Machines - Why the fear?
 
Open Source Automotive Development
Open Source Automotive DevelopmentOpen Source Automotive Development
Open Source Automotive Development
 
How we built our community using Github - Uri Cohen
How we built our community using Github - Uri CohenHow we built our community using Github - Uri Cohen
How we built our community using Github - Uri Cohen
 
The Vanishing Pattern: from iterators to generators in Python
The Vanishing Pattern: from iterators to generators in PythonThe Vanishing Pattern: from iterators to generators in Python
The Vanishing Pattern: from iterators to generators in Python
 
Distributed Coordination with Python
Distributed Coordination with PythonDistributed Coordination with Python
Distributed Coordination with Python
 
An overview of open source in East Asia (China, Japan, Korea)
An overview of open source in East Asia (China, Japan, Korea)An overview of open source in East Asia (China, Japan, Korea)
An overview of open source in East Asia (China, Japan, Korea)
 
Oscon 2013 Jesse Anderson
Oscon 2013 Jesse AndersonOscon 2013 Jesse Anderson
Oscon 2013 Jesse Anderson
 
US Patriot Act OSCON2012 David Mertz
US Patriot Act OSCON2012 David MertzUS Patriot Act OSCON2012 David Mertz
US Patriot Act OSCON2012 David Mertz
 
OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...
OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...
OSCON 2012 US Patriot Act Implications for Cloud Computing - Diane Mueller, A...
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 
BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking
BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking
BodyTrack: Open Source Tools for Health Empowerment through Self-Tracking
 
Declarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScriptDeclarative web data visualization using ClojureScript
Declarative web data visualization using ClojureScript
 
A Look at the Network: Searching for Truth in Distributed Applications
A Look at the Network: Searching for Truth in Distributed ApplicationsA Look at the Network: Searching for Truth in Distributed Applications
A Look at the Network: Searching for Truth in Distributed Applications
 
Life After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data CloudLife After Sharding: Monitoring and Management of a Complex Data Cloud
Life After Sharding: Monitoring and Management of a Complex Data Cloud
 
Faster! Faster! Accelerate your business with blazing prototypes
Faster! Faster! Accelerate your business with blazing prototypesFaster! Faster! Accelerate your business with blazing prototypes
Faster! Faster! Accelerate your business with blazing prototypes
 
Comparing open source private cloud platforms
Comparing open source private cloud platformsComparing open source private cloud platforms
Comparing open source private cloud platforms
 
State of the Art Web Mapping with Open Source
State of the Art Web Mapping with Open SourceState of the Art Web Mapping with Open Source
State of the Art Web Mapping with Open Source
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

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

  • 1. Open Source in Google Corporate Engineering Justin McWilliams
  • 2. Corporate IT Workstations & WiFi Video Conferencing & Telecommunication VPN & Remote Access Helpdesk / Tech Support Calendar & Productivity Servers & Networking Email Mobile Devices
  • 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, ... ● Can't write in binary? ○ Java, Python, Ruby (on Rails), Go, etc.
  • 8. What's interesting about these? Gin Keyczar AngularJS Guice ipaddr-py Closure GSON oauth2client FlexMock 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.
  • 11. + = Simian
  • 12. Cauliflower Vest
  • 13. CorpEng Open Source Solutions Simian Software mgmt for one of the largest Mac deployments in the world Cauliflower Vest Enterprise-class FileVault 2 recovery key escrow solution Ganeti Cluster-based virtualization management software CloudCourse LMS for enterprise course scheduling and management
  • 14. CorpEng OSS Releases / Contributions GORD Platform agnostic RPC daemon for interaction with Microsoft SMS/SCCM Compliance Management Automated maintenance, analytics and reporting of compliance data AppReduce* Enterprise software license tracking and employee transparency tool Contributions to non-Google OSS: Firebug, FreeJ, Objectify, PyActiveResource, PyCups, Rails, ..., Debian, Ubuntu, ...
  • 15. CorpEng Open Source Release Process Akin to Android, not Chromium; develop internally then release large dumps, because....
  • 16. 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-management Misc ● Make Open Easy http://code.google.com/p/make-open-easy CorpEng 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