際際滷

際際滷Share a Scribd company logo
Google and Open Source
Chris DiBona
Friday, November 14, 2008
Who am I?

    Open Source Programs Manager, Google Inc.
     License Compliance
     Code Release
     The Summer of Code
     Protocol and API Licensing
    Formerly:
     Slashdot
     Co-Editor Open Sources & Open Source 2.0
     Floss Weekly Podcast
2
Open Source Software Use at
              Google.


                     But first, one thing.




3
Why do people release code at all?

    A BCG/OSDN Study found that open source developers
      are motivated by:
     Intellectual Curiosity/Stimulation (44.9%)
     Skills Improvement (41.3%)
     Work needs (33.8 %)
     Open Source Idealism (33.1%)
     Non-Work Functionality (29.7%)
     Professional Status (17.5%)
     Reputation building within Open Source (11%)
     Dislike/distrust of proprietary software (11.1%)

4
                                         http://osdn.com/bcg
How does Google use Open Source?

    As Infrastructure
     Linux kernel
     Apache Tomcat and many other Apache tools
     SSH, and other system management tools
     The Languages and compilers that we use.
     Engineers and others running Linux (Goobuntu)
    As building blocks
     Our repositories have hundreds of libraries used in
     Google software



5
For our Platforms

    Google Web Toolkit (Ajax toolkit for Java
     developers)
    Android (Cell Phone operating system)
    Google Gears (offline web)
    Google Applications
     Chrome




6
But Why does Google use Open Source

    Control and Ownership
     Maintain our independence from external software
     companies
    Adaptability and Flexibility
     We can drill down to repair and enhance our services
     If we want to do something out of the ordinary, we can
     do so without showing our hand
     No one is incentivized to hurt us
    Roots
     Appeals to the Google ethic

7
How does Google take part?




8
Googles Open Source Programs

          Patching and Code Release
                   Donations
           Internal License Discipline
         API/Protocol License Discipline
       Industry Trade Group Participation
    Open Source Infrastructure & Leadership
                Summer of Code
               OLPC Engineering
9
Code Release

     Over 3 million lines of code released to date
     Examples:
      Airbag Crash Reporting
      MySQL Replication Tools
      MacFuse (userspace filesystems under OS X)
      Google Web Toolkit
      Approaching 200 released packages: Search for
      label:Google on http://code.google.com/hosting/
      Updates for older releases like gflags, sparcehash,
      tcmalloc, etc..

10
Open Source Infrastructure

     Hosting on Google Code which provides:
      Reliable, scalable, clean project Hosting
      Version Control
      Issue/Bug Tracking
      Wikis
     Over 160k projects online




11
Patching
         Hundreds of Googlers patching into projects such as
     The Linux Kernel              ICU
     Apache Tomcat and Axis        Wine
     The Gnu Compiler Collection   Derby
     Subversion                    Aspell
     Python                        DSpace
     Perl                          Glib
     MySQL                         Autoconf/automake
     SSH/OpenSSL                   Make
     Eclipse                       Glibc
     Emacs                         Binutils
     Vim                           Java
     Gaim                          Samba
     Adium                         Various Emulators
                                         And Many More
12
Open Source Developers

     Andrew Morton
      2.6 Kernel Maintainer
     Guido Van Rossum
      Python BDFL
     Bram Molenaar
      Vim creator and maintainer
     Jeremy Allison
      Samba Lead Developer
     And more.......
13
Big Projects

     Android
      Fully Open Source Cell phone OS.
      Now on Shipping Devices, More to Come
      Incredibly fast to develop for
     Chrome
      Webkit + v8 for speed.
      Fully Open Source as the Chromium project


14
The Summer Of Code, 2008

                  1130 students
                175 Organizations
                Over 2000 Mentors
                6000+ applications
                   98 Countries
                  81% pass rate!
            Over 3 million lines of code

15
How it Works

     1) Student applies to work on a project for, say, the ASF
     2) ASF mentors review the application and accept the student
     3) Google pays student $500 for being accepted
     4) Student works with an ASF mentor to create project
     5) Mid-Term, good students are paid $2000 by Google
     6) Student continues work with mentor to create project
     7) Final: If the student has completed the goals set forth in the
       application and student is paid $2000 by Google
     8) Successful student gets t-shirt, certificate and valuable
       experience along with the money.



16
The Applicants

     GSoc 2006 Geographic Distribution: Accepted Students (Top 10 Countries
                  180

                  160

                  140

                  120
     # Students




                  100

                   80

                   60

                   40

                   20                                                                                                           13

                    0
                        United   Germany   Canada   United       India    Brazil     France      Poland         Spain          China
                        States                      Kingdom
                                                                                                        Students Per Country
                                                              Country of Residence            Min:                         1
                                                                                              Max:                       178
                                                                                              Sum:                       630
                                                                                              Mean:                    10.68
                                                                                              Median:                      3
                                                                                              Stdev:                   24.26




17
Student Educational Distribution


              GSoc 2006 Expected Graduation Year               GSoc 2006 Student Level Distribution
             250                                                            450
             225                                                            400
             200                                                            350
             175
                                                                            300




                                                               # Students
# Students




             150
                                                                            250
             125
             100                                                            200
              75                                                            150
              50                                                            100
              25                                                            50
               0
                                                                             0
                   2006 2007 2008 2009 2010 2011 2012 2013
                                                                                  undergrad     masters      phd
                                    Year
                                                                                              Degree Level


                   Average graduation year: 2007             Undergraduates most common participants
Not Just Computer Scientists

Mechanical Engineering
English Literature
Interior Design
Urban Planning
Astronomy
Cartography
Genetics
Developmental Psychology
Why do we do all this funding?

     Keep students coding
      Flip Bits, not Burgers
     Ensure a healthy open source ecosystem
      Good for the Internet
      Good for Google
     A great way to meet students all over the world
     A great way for open source organizations to grow and
       thrive.
     A lot of Googlers come from the Open Source World
     Giving Back

20
The End



                        Questions?




                     cdibona@google.com
               http://code.google.com/opensource


21

More Related Content

2008 11 14 Google Oss Stanford

  • 1. Google and Open Source Chris DiBona Friday, November 14, 2008
  • 2. Who am I? Open Source Programs Manager, Google Inc. License Compliance Code Release The Summer of Code Protocol and API Licensing Formerly: Slashdot Co-Editor Open Sources & Open Source 2.0 Floss Weekly Podcast 2
  • 3. Open Source Software Use at Google. But first, one thing. 3
  • 4. Why do people release code at all? A BCG/OSDN Study found that open source developers are motivated by: Intellectual Curiosity/Stimulation (44.9%) Skills Improvement (41.3%) Work needs (33.8 %) Open Source Idealism (33.1%) Non-Work Functionality (29.7%) Professional Status (17.5%) Reputation building within Open Source (11%) Dislike/distrust of proprietary software (11.1%) 4 http://osdn.com/bcg
  • 5. How does Google use Open Source? As Infrastructure Linux kernel Apache Tomcat and many other Apache tools SSH, and other system management tools The Languages and compilers that we use. Engineers and others running Linux (Goobuntu) As building blocks Our repositories have hundreds of libraries used in Google software 5
  • 6. For our Platforms Google Web Toolkit (Ajax toolkit for Java developers) Android (Cell Phone operating system) Google Gears (offline web) Google Applications Chrome 6
  • 7. But Why does Google use Open Source Control and Ownership Maintain our independence from external software companies Adaptability and Flexibility We can drill down to repair and enhance our services If we want to do something out of the ordinary, we can do so without showing our hand No one is incentivized to hurt us Roots Appeals to the Google ethic 7
  • 8. How does Google take part? 8
  • 9. Googles Open Source Programs Patching and Code Release Donations Internal License Discipline API/Protocol License Discipline Industry Trade Group Participation Open Source Infrastructure & Leadership Summer of Code OLPC Engineering 9
  • 10. Code Release Over 3 million lines of code released to date Examples: Airbag Crash Reporting MySQL Replication Tools MacFuse (userspace filesystems under OS X) Google Web Toolkit Approaching 200 released packages: Search for label:Google on http://code.google.com/hosting/ Updates for older releases like gflags, sparcehash, tcmalloc, etc.. 10
  • 11. Open Source Infrastructure Hosting on Google Code which provides: Reliable, scalable, clean project Hosting Version Control Issue/Bug Tracking Wikis Over 160k projects online 11
  • 12. Patching Hundreds of Googlers patching into projects such as The Linux Kernel ICU Apache Tomcat and Axis Wine The Gnu Compiler Collection Derby Subversion Aspell Python DSpace Perl Glib MySQL Autoconf/automake SSH/OpenSSL Make Eclipse Glibc Emacs Binutils Vim Java Gaim Samba Adium Various Emulators And Many More 12
  • 13. Open Source Developers Andrew Morton 2.6 Kernel Maintainer Guido Van Rossum Python BDFL Bram Molenaar Vim creator and maintainer Jeremy Allison Samba Lead Developer And more....... 13
  • 14. Big Projects Android Fully Open Source Cell phone OS. Now on Shipping Devices, More to Come Incredibly fast to develop for Chrome Webkit + v8 for speed. Fully Open Source as the Chromium project 14
  • 15. The Summer Of Code, 2008 1130 students 175 Organizations Over 2000 Mentors 6000+ applications 98 Countries 81% pass rate! Over 3 million lines of code 15
  • 16. How it Works 1) Student applies to work on a project for, say, the ASF 2) ASF mentors review the application and accept the student 3) Google pays student $500 for being accepted 4) Student works with an ASF mentor to create project 5) Mid-Term, good students are paid $2000 by Google 6) Student continues work with mentor to create project 7) Final: If the student has completed the goals set forth in the application and student is paid $2000 by Google 8) Successful student gets t-shirt, certificate and valuable experience along with the money. 16
  • 17. The Applicants GSoc 2006 Geographic Distribution: Accepted Students (Top 10 Countries 180 160 140 120 # Students 100 80 60 40 20 13 0 United Germany Canada United India Brazil France Poland Spain China States Kingdom Students Per Country Country of Residence Min: 1 Max: 178 Sum: 630 Mean: 10.68 Median: 3 Stdev: 24.26 17
  • 18. Student Educational Distribution GSoc 2006 Expected Graduation Year GSoc 2006 Student Level Distribution 250 450 225 400 200 350 175 300 # Students # Students 150 250 125 100 200 75 150 50 100 25 50 0 0 2006 2007 2008 2009 2010 2011 2012 2013 undergrad masters phd Year Degree Level Average graduation year: 2007 Undergraduates most common participants
  • 19. Not Just Computer Scientists Mechanical Engineering English Literature Interior Design Urban Planning Astronomy Cartography Genetics Developmental Psychology
  • 20. Why do we do all this funding? Keep students coding Flip Bits, not Burgers Ensure a healthy open source ecosystem Good for the Internet Good for Google A great way to meet students all over the world A great way for open source organizations to grow and thrive. A lot of Googlers come from the Open Source World Giving Back 20
  • 21. The End Questions? cdibona@google.com http://code.google.com/opensource 21