Why we open source
99% 95% 89%
most of our code

 Bertrand Delacrétaz
 Senior Developer, R&D, Day Software, www.day.com
 Apache Software Foundation Member
 http://grep.codeconsult.ch - twitter: @bdelacretaz - bdelacretaz@apache.org
 transfersummit.com, Oxford, June 2010
 slides revision: 2010-06-23
 original image: http://www.flickr.com/photos/vermininc/2777441779/



Why We Open                                                                                1
our Code                                                             Bertrand Delacrétaz
Why
   would a successful commercial
   software vendor open source
        most of their code?

Why We Open
our Code        Bertrand Delacrétaz
picture: ronnieb on morguefile
keep our
secrets!
hide our
ugly code...
no outside ideas!
ugly code flourishes


                      in the old times:
               code vault and fences
this is

                                2010
                                and this is

                The Web
                   no company is an island...
picture: Livah45 on morguefile
open source

@Day?
Basel, Switzerland headquarters
           (~80 people, ~150 worldwide)
           Munich        “Day allows us to quickly


          London
                         and reliably deliver content
                         to our entire McFamily,                      content-centric
                         helping us to be flexible and
                         drive new opportunities.”                      products
           Newport
           Beach, CA     Steve Wilson, Senior
                         Director of Web
          Toronto
                         Communications,
                         McDonald’s                                       (everything is content)

www.day.com
                                              Swiss open source
                                            award / business / 2008

note the 3-letter domain name:
we’ve been doing this for a while...
                                                        Strong ties to the Apache Software Foundation
2001

2001



        2009

                                                            Roy T. Fielding and David Nuescheler,
Survived tough times (SWX:DAYN)                                    “Mr. REST” and “Mr. JCR”
HTTP                                    debugger       filesystem   browser



       content administration UI


     standard        custom servlets                           WebDAV     Sling OSGi
     servlets        and components                             server      console
                                                javascript
                                                   JSP
  resource      servlet/script     JSR 223        Ruby
 resolution      resolution        scripting     Velocity
                                                  etc..


                                   OSGi framework
                                    (Apache Felix)
                                       JSR-170 API

                                          JCR
                                        content
CQ5                                    repository
                                                           storage
                                                         components
architecture
HTTP                                    debugger       filesystem   browser



       content administration UI


     standard        custom servlets                           WebDAV     Sling OSGi
     servlets        and components                             server      console
                                                javascript
                                                   JSP
  resource      servlet/script     JSR 223        Ruby
 resolution      resolution        scripting     Velocity
                                                  etc..


                                   OSGi framework
                                    (Apache Felix)
                                       JSR-170 API


                                          JCR

open source?
                                       repository          storage
                                                         components
you bet!
LOC
              of our open source core parts


                               513’000
                               625’000
                               238’000
Why We Open         full java and xml source code files
our Code
criticality
              of our open source core parts

                                 50%
                                 25%
                                 15%
Why We Open
                                 90%
our Code                 (based on the scientific «finger in the air» method)
open source @Day?



YES
    definitely
but




        Why?
Why We Open
our Code
picture: tarr101 on morguefile
having the best team is not enough,
you need to be fast!
clean architecture and modularity enables
agility for our customers.
ok, but


               are we
              the best
              anyway?
Why We Open
our Code
Day’s R&D team
                                  (highlights)




Roy T. Fielding and David Nuescheler,
       “Mr. REST” and “Mr. JCR”           Carsten Ziegeler, Felix Meschberger,
                                                     Jukka Zitting
                                             VPs, Apache Excalibur, Sling and
                                                       Jackrabbit
                                                 (among other fun things)

           Thomas Müller
            original author
   Hypersonic SQL and H2 databases

Why We Open                                      and quite a few other people
our Code                                               of this caliber...
picture: fedegrafo on morguefile
              we’re not bad, but still,

          more eyeballs
        from more places
            help a lot!
              open sourcing our crown jewels
                    makes us stronger.



Why We Open
our Code
BTW:
  being spec lead for JCR also helps
               JSR-170   JSR-283

      Content Repository for
      JavaTM technology API v2.0
      Spec-Lead:
      Day Software
      Status:
      Final Release 14-sept-2009


      Expert Group:




Why We Open
our Code
open source @Day?



YES
we need the help!
ok but what’s the



         impact?
Why We Open
our Code
picture: kevinrosseel on morguefile
more eyeballs
more use cases
more users of all kinds
more opinionated developers



                      impact on quality:
                             very high!
picture: hotblack on morguefile
reuse requires cleaner structures
more use cases -> generalization




                 impact on structure:
                           very high!
good things




                    picture: clarita on morguefile
   (and mistakes)
   in public...




impact on reputation:
                high!
picture: bandini on morguefile
impact on
sustainability:
high!




 Apache community best practices...
picture: emlyn on morguefile
          impact on
people networking:
              high!
ok, ok, so can we



               trace
              that impact on Day’s business?




Why We Open
our Code
SWX:DAYN share price, 2003-2010
    not the absolute truth about everything, but still...
picture: ceneal1 on morguefile
              win-win-win
for our users, communities
              and business
pictures: xenia, hotblack, kevinrosseel, morguefile
higher code quality   better structures
                      and modularity




users and community   ...and good business
conversations


            conclusion: win-win-win
This slide deck is licensed under the
Creative Commons Attribution-Noncommercial-Share Alike 3 license.
            Copyright (C) 2010, Bertrand Delacretaz

Why we (Day) open source most of our code

  • 1.
    Why we opensource 99% 95% 89% most of our code Bertrand Delacrétaz Senior Developer, R&D, Day Software, www.day.com Apache Software Foundation Member http://grep.codeconsult.ch - twitter: @bdelacretaz - [email protected] transfersummit.com, Oxford, June 2010 slides revision: 2010-06-23 original image: http://www.flickr.com/photos/vermininc/2777441779/ Why We Open 1 our Code Bertrand Delacrétaz
  • 2.
    Why would a successful commercial software vendor open source most of their code? Why We Open our Code Bertrand Delacrétaz
  • 3.
    picture: ronnieb onmorguefile keep our secrets! hide our ugly code... no outside ideas! ugly code flourishes in the old times: code vault and fences
  • 4.
    this is 2010 and this is The Web no company is an island... picture: Livah45 on morguefile
  • 5.
  • 6.
    Basel, Switzerland headquarters (~80 people, ~150 worldwide) Munich “Day allows us to quickly London and reliably deliver content to our entire McFamily, content-centric helping us to be flexible and drive new opportunities.” products Newport Beach, CA Steve Wilson, Senior Director of Web Toronto Communications, McDonald’s (everything is content) www.day.com Swiss open source award / business / 2008 note the 3-letter domain name: we’ve been doing this for a while... Strong ties to the Apache Software Foundation 2001 2001 2009 Roy T. Fielding and David Nuescheler, Survived tough times (SWX:DAYN) “Mr. REST” and “Mr. JCR”
  • 7.
    HTTP debugger filesystem browser content administration UI standard custom servlets WebDAV Sling OSGi servlets and components server console javascript JSP resource servlet/script JSR 223 Ruby resolution resolution scripting Velocity etc.. OSGi framework (Apache Felix) JSR-170 API JCR content CQ5 repository storage components architecture
  • 8.
    HTTP debugger filesystem browser content administration UI standard custom servlets WebDAV Sling OSGi servlets and components server console javascript JSP resource servlet/script JSR 223 Ruby resolution resolution scripting Velocity etc.. OSGi framework (Apache Felix) JSR-170 API JCR open source? repository storage components you bet!
  • 9.
    LOC of our open source core parts 513’000 625’000 238’000 Why We Open full java and xml source code files our Code
  • 10.
    criticality of our open source core parts 50% 25% 15% Why We Open 90% our Code (based on the scientific «finger in the air» method)
  • 11.
  • 12.
    but Why? Why We Open our Code
  • 13.
    picture: tarr101 onmorguefile having the best team is not enough, you need to be fast! clean architecture and modularity enables agility for our customers.
  • 14.
    ok, but are we the best anyway? Why We Open our Code
  • 15.
    Day’s R&D team (highlights) Roy T. Fielding and David Nuescheler, “Mr. REST” and “Mr. JCR” Carsten Ziegeler, Felix Meschberger, Jukka Zitting VPs, Apache Excalibur, Sling and Jackrabbit (among other fun things) Thomas Müller original author Hypersonic SQL and H2 databases Why We Open and quite a few other people our Code of this caliber...
  • 16.
    picture: fedegrafo onmorguefile we’re not bad, but still, more eyeballs from more places help a lot! open sourcing our crown jewels makes us stronger. Why We Open our Code
  • 17.
    BTW: beingspec lead for JCR also helps JSR-170 JSR-283 Content Repository for JavaTM technology API v2.0 Spec-Lead: Day Software Status: Final Release 14-sept-2009 Expert Group: Why We Open our Code
  • 18.
  • 19.
    ok but what’sthe impact? Why We Open our Code
  • 20.
    picture: kevinrosseel onmorguefile more eyeballs more use cases more users of all kinds more opinionated developers impact on quality: very high!
  • 21.
    picture: hotblack onmorguefile reuse requires cleaner structures more use cases -> generalization impact on structure: very high!
  • 22.
    good things picture: clarita on morguefile (and mistakes) in public... impact on reputation: high!
  • 23.
    picture: bandini onmorguefile impact on sustainability: high! Apache community best practices...
  • 24.
    picture: emlyn onmorguefile impact on people networking: high!
  • 25.
    ok, ok, socan we trace that impact on Day’s business? Why We Open our Code
  • 26.
    SWX:DAYN share price,2003-2010 not the absolute truth about everything, but still...
  • 27.
    picture: ceneal1 onmorguefile win-win-win for our users, communities and business
  • 28.
    pictures: xenia, hotblack,kevinrosseel, morguefile higher code quality better structures and modularity users and community ...and good business conversations conclusion: win-win-win
  • 29.
    This slide deckis licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3 license. Copyright (C) 2010, Bertrand Delacretaz