SlideShare une entreprise Scribd logo
1  sur  96
Télécharger pour lire hors ligne
The Business Case for
 Contributing Code
     Alex Urevick-Ackelsberg
The Business Case for
 Contributing Code
     Alex Urevick-Ackelsberg
About Us
About Us
• Zivtech = 4+ years old, 20+
  employees
About Us
• Zivtech = 4+ years old, 20+
  employees

• Alex UA
About Us
• Zivtech = 4+ years old, 20+
  employees

• Alex UA
 • Co-founder, CEO
About Us
• Zivtech = 4+ years old, 20+
  employees

• Alex UA
 • Co-founder, CEO
 • Professional Troublemaker
About Us
• Zivtech = 4+ years old, 20+
  employees

• Alex UA
 • Co-founder, CEO
 • Professional Troublemaker
 • Hat enthusiast
The Problem
The Problem
• Wide spread confusion as to the
  nature of Open Source Software
The Problem
• Wide spread confusion as to the
  nature of Open Source Software
 • Requires a different mind set for
    development: partially public
    development.
The Problem
• Wide spread confusion as to the
  nature of Open Source Software
 • Requires a different mind set for
    development: partially public
    development.

• Publicly committing code is talked
  about talked as strictly an altruistic
  activity
OSS goes to
Washington
OSS goes to
              Washington
Clarifying Guidance Regarding Open Source Software (OSS) - bit.ly/
                            dod-ossh
What makes it OSS-
      ome?
What makes it OSS-
      ome?
• Broad peer review = more secure &
  better quality code.
What makes it OSS-
      ome?
• Broad peer review = more secure &
  better quality code.

• Flexibility over time- the world
  changes & you must too.
What makes it OSS-
      ome?
• Broad peer review = more secure &
  better quality code.

• Flexibility over time- the world
  changes & you must too.

• No vendor lock-in.
What makes it OSS-
      ome?
• Broad peer review = more secure &
  better quality code.

• Flexibility over time- the world
  changes & you must too.

• No vendor lock-in.
• No restrictions on users of OSS.
What makes it OSS-
      ome?
What makes it OSS-
      ome?
• No per-seat licenses = scalable
  usage
What makes it OSS-
      ome?
• No per-seat licenses = scalable
  usage

• Shared maintenance = lower TCO
What makes it OSS-
      ome?
• No per-seat licenses = scalable
  usage

• Shared maintenance = lower TCO
• Iteration & Experimentation
What makes it OSS-
      ome?
• No per-seat licenses = scalable
  usage

• Shared maintenance = lower TCO
• Iteration & Experimentation
• Ability to vet developers
One is the loneliest number
Don’t Hack What?
Don’t Hack What?

• Drupal Core
Don’t Hack What?

• Drupal Core
• Contrib Modules
Don’t Hack What?

• Drupal Core
• Contrib Modules
 • ~16,700
Don’t Hack What?

• Drupal Core
• Contrib Modules
 • ~16,700
• Custom Modules
Don’t Hack What?

• Drupal Core
• Contrib Modules
 • ~16,700
• Custom Modules
 • Site-specific code
Hook everything, hack nothing!
Hook everything, hack nothing!


 • Contrib made possible by Drupal’s
   hook system
Hook everything, hack nothing!


 • Contrib made possible by Drupal’s
   hook system

  • Source of Drupal’s flexibility
Hook everything, hack nothing!


 • Contrib made possible by Drupal’s
   hook system

  • Source of Drupal’s flexibility
 • Functionality should be alterable
   from another module
Hook everything, hack nothing!


 • Contrib made possible by Drupal’s
   hook system

  • Source of Drupal’s flexibility
 • Functionality should be alterable
   from another module

  • This a bug, not a feature
Why not hack?
Why not hack?

• Lose many of the major benefits
  of working with OSS
Flexibility &
 Scalability
Flexibility &
          Scalability
• Can’t take advantage of improvements
Flexibility &
          Scalability
• Can’t take advantage of improvements
• Can’t interact with other modules
Flexibility &
          Scalability
• Can’t take advantage of improvements
• Can’t interact with other modules
• Can’t use common scaling techniques
Long Term Costs
Long Term Costs
• You broke it, you own it
Long Term Costs
• You broke it, you own it
• Not able to share costs
Long Term Costs
• You broke it, you own it
• Not able to share costs
• Nobody will contribute to your
  private fork
Support & Vendor Lock In
Support & Vendor Lock In


• Good shops won’t work with
  hacked code, & neither should you
Support & Vendor Lock In


• Good shops won’t work with
  hacked code, & neither should you

• Either get stuck with hackers or
  will have to pay to replace hacks
Quality Assurance
Quality Assurance

• With enough eyes, all bugs are
  shallow
Quality Assurance

• With enough eyes, all bugs are
  shallow

• Peer review increases quality
Quality Assurance

• With enough eyes, all bugs are
  shallow

• Peer review increases quality
• QA is a process
Quality Assurance

• With enough eyes, all bugs are
  shallow

• Peer review increases quality
• QA is a process
 • internal reviews
Quality Assurance

• With enough eyes, all bugs are
  shallow

• Peer review increases quality
• QA is a process
 • internal reviews
 • publish to d.o. issue queues
Security
Security
• Doesn’t fall under community
  security processes / authorities
Security
• Doesn’t fall under community
  security processes / authorities

• Can’t easily apply security patches
Security
• Doesn’t fall under community
  security processes / authorities

• Can’t easily apply security patches
• Lose “enough” eyes
Moar Benefitz Plz!
Moar Benefitz Plz!
• Trial by fire training
Moar Benefitz Plz!
• Trial by fire training
• Community training
Moar Benefitz Plz!
• Trial by fire training
• Community training
• Community recruitment
Moar Benefitz Plz!
• Trial by fire training
• Community training
• Community recruitment
• Marketing
Moar Benefitz Plz!
• Trial by fire training
• Community training
• Community recruitment
• Marketing
• Employee development
Moar Benefitz Plz!
• Trial by fire training
• Community training
• Community recruitment
• Marketing
• Employee development
• Vet your developers & shops!
Moar Benefitz Plz!
• Trial by fire training
• Community training
• Community recruitment
• Marketing
• Employee development
• Vet your developers & shops!
• Being awesome
The business case for contributing code
The business case for contributing code
The business case for contributing code
Module or Patch?
Module or Patch?
• Maintaining a module is both a
  personal & business commitment
Module or Patch?
• Maintaining a module is both a
  personal & business commitment

• Is there a business benefit?
Module or Patch?
• Maintaining a module is both a
  personal & business commitment

• Is there a business benefit?
• Is it an itch you want to scratch?
Module or Patch?
• Maintaining a module is both a
  personal & business commitment

• Is there a business benefit?
• Is it an itch you want to scratch?
• If answer to either is no, we patch
Best Patch EVAH!!!
-2522 lines, +148 lines
Will work for pay
Will work for pay
  http://zivte.ch/otddodcio
Will work for pay
  http://zivte.ch/otddodcio
Will work for pay
Will work for pay
• DoD recomendation: Add contractual
  incentives for getting code committed
  “up stream” ( )
Will work for pay
• DoD recomendation: Add contractual
  incentives for getting code committed
  “up stream” ( )
• We still are asked for the opposite (i.e. to
  give a client a “break” on our charges if
  we are allowed to release it)
Will work for pay
• DoD recomendation: Add contractual
  incentives for getting code committed
  “up stream” ( )
• We still are asked for the opposite (i.e. to
  give a client a “break” on our charges if
  we are allowed to release it)

• Ability to freely commit code is a non-
  negotiable part of contracts
Zivtech’s Project &
     Patching
Zivtech’s Project &
     Patching
• Create specs
Zivtech’s Project &
     Patching
• Create specs
• Architecture plan
Zivtech’s Project &
     Patching
• Create specs
• Architecture plan
• Evaluating landscape & what's available
Zivtech’s Project &
     Patching
• Create specs
• Architecture plan
• Evaluating landscape & what's available
• Determine approach
Zivtech’s Project &
     Patching
• Create specs
• Architecture plan
• Evaluating landscape & what's available
• Determine approach
• Use all community code
Zivtech’s Project &
     Patching
• Create specs
• Architecture plan
• Evaluating landscape & what's available
• Determine approach
• Use all community code
• Create custom module to extend
  existing contrib modules (preferably)
Zivtech’s Project &
     Patching
Zivtech’s Project &
     Patching
• Patch existing modules
Zivtech’s Project &
     Patching
• Patch existing modules
• Tracking the change and posting to
  d.o
Zivtech’s Project &
     Patching
• Patch existing modules
• Tracking the change and posting to
  d.o

 • Add to patches folder - deployed
   automatically
Zivtech’s Project &
     Patching
• Patch existing modules
• Tracking the change and posting to
  d.o

 • Add to patches folder - deployed
   automatically
• Code and resolve issue
Zivtech’s Project &
     Patching
• Patch existing modules
• Tracking the change and posting to
  d.o

 • Add to patches folder - deployed
   automatically
• Code and resolve issue
• Review and iterate

Contenu connexe

Tendances

Maintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectMaintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectCorecom Consulting
 
Circular interconnected gear pieces smart arts process stages 7 powerpoint d...
Circular interconnected gear pieces  smart arts process stages 7 powerpoint d...Circular interconnected gear pieces  smart arts process stages 7 powerpoint d...
Circular interconnected gear pieces smart arts process stages 7 powerpoint d...SlideTeam.net
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetDevoteam Revolve
 
Helping Ops Help You: Development’s Role in Enabling Self-Service Operations
Helping Ops Help You:  Development’s Role in Enabling Self-Service OperationsHelping Ops Help You:  Development’s Role in Enabling Self-Service Operations
Helping Ops Help You: Development’s Role in Enabling Self-Service OperationsRundeck
 
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J..."Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...Jeremy Jarvis
 
Moving Fast At Scale
Moving Fast At ScaleMoving Fast At Scale
Moving Fast At ScaleRandy Shoup
 
Microsoft Stream: The Future of Video
Microsoft Stream: The Future of Video Microsoft Stream: The Future of Video
Microsoft Stream: The Future of Video Jasper Oosterveld
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic MicroservicesRandy Shoup
 
Evolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayRandy Shoup
 
Embracing OSS in the enterprise
Embracing OSS in the enterpriseEmbracing OSS in the enterprise
Embracing OSS in the enterprisecyberzeddk
 
Monoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesRandy Shoup
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at ScaleRandy Shoup
 
Learning from Learnings: Anatomy of Three Incidents
Learning from Learnings: Anatomy of Three IncidentsLearning from Learnings: Anatomy of Three Incidents
Learning from Learnings: Anatomy of Three IncidentsRandy Shoup
 
A Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenA Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenAtlassian
 
Cpl12 continuous integration
Cpl12 continuous integrationCpl12 continuous integration
Cpl12 continuous integrationAmir Barylko
 
Scaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermRandy Shoup
 
DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15
DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15
DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15Rich Mills
 
A Tale from the Upstream Path
A Tale from the Upstream PathA Tale from the Upstream Path
A Tale from the Upstream PathTesora
 
Autumn season nature power point themes templates and slides ppt layouts
Autumn season nature power point themes templates and slides ppt layoutsAutumn season nature power point themes templates and slides ppt layouts
Autumn season nature power point themes templates and slides ppt layoutswww.slideteam.net
 
Diversity of flowers children power point templates themes and backgrounds pp...
Diversity of flowers children power point templates themes and backgrounds pp...Diversity of flowers children power point templates themes and backgrounds pp...
Diversity of flowers children power point templates themes and backgrounds pp...www.slideteam.net
 

Tendances (20)

Maintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectMaintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope project
 
Circular interconnected gear pieces smart arts process stages 7 powerpoint d...
Circular interconnected gear pieces  smart arts process stages 7 powerpoint d...Circular interconnected gear pieces  smart arts process stages 7 powerpoint d...
Circular interconnected gear pieces smart arts process stages 7 powerpoint d...
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with Puppet
 
Helping Ops Help You: Development’s Role in Enabling Self-Service Operations
Helping Ops Help You:  Development’s Role in Enabling Self-Service OperationsHelping Ops Help You:  Development’s Role in Enabling Self-Service Operations
Helping Ops Help You: Development’s Role in Enabling Self-Service Operations
 
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J..."Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
 
Moving Fast At Scale
Moving Fast At ScaleMoving Fast At Scale
Moving Fast At Scale
 
Microsoft Stream: The Future of Video
Microsoft Stream: The Future of Video Microsoft Stream: The Future of Video
Microsoft Stream: The Future of Video
 
Pragmatic Microservices
Pragmatic MicroservicesPragmatic Microservices
Pragmatic Microservices
 
Evolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBay
 
Embracing OSS in the enterprise
Embracing OSS in the enterpriseEmbracing OSS in the enterprise
Embracing OSS in the enterprise
 
Monoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and Microservices
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
 
Learning from Learnings: Anatomy of Three Incidents
Learning from Learnings: Anatomy of Three IncidentsLearning from Learnings: Anatomy of Three Incidents
Learning from Learnings: Anatomy of Three Incidents
 
A Business Case for Git - Tim Pettersen
A Business Case for Git - Tim PettersenA Business Case for Git - Tim Pettersen
A Business Case for Git - Tim Pettersen
 
Cpl12 continuous integration
Cpl12 continuous integrationCpl12 continuous integration
Cpl12 continuous integration
 
Scaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long Term
 
DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15
DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15
DevOpsing Greenfield - AgileDC2018 - Mills - v1.4 2018.10.15
 
A Tale from the Upstream Path
A Tale from the Upstream PathA Tale from the Upstream Path
A Tale from the Upstream Path
 
Autumn season nature power point themes templates and slides ppt layouts
Autumn season nature power point themes templates and slides ppt layoutsAutumn season nature power point themes templates and slides ppt layouts
Autumn season nature power point themes templates and slides ppt layouts
 
Diversity of flowers children power point templates themes and backgrounds pp...
Diversity of flowers children power point templates themes and backgrounds pp...Diversity of flowers children power point templates themes and backgrounds pp...
Diversity of flowers children power point templates themes and backgrounds pp...
 

En vedette

My Art Plot Presentation
My Art Plot PresentationMy Art Plot Presentation
My Art Plot PresentationRyanTrev
 
Css compass sasssusy
Css   compass sasssusyCss   compass sasssusy
Css compass sasssusyZivtech, LLC
 
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014Zivtech, LLC
 
Proactive Displays, UW, 16 July 2008
Proactive Displays, UW, 16 July 2008Proactive Displays, UW, 16 July 2008
Proactive Displays, UW, 16 July 2008guest6fcd48
 
From a Contractor to a Shop: How to grow your Drupal business without losing ...
From a Contractor to a Shop: How to grow your Drupal business without losing ...From a Contractor to a Shop: How to grow your Drupal business without losing ...
From a Contractor to a Shop: How to grow your Drupal business without losing ...Zivtech, LLC
 
Social media presentation Adoption By Nigerian Universities-How Have They Fared?
Social media presentation Adoption By Nigerian Universities-How Have They Fared?Social media presentation Adoption By Nigerian Universities-How Have They Fared?
Social media presentation Adoption By Nigerian Universities-How Have They Fared?Olufemi Jeremiah Olubodun
 
A tale of a digital divide
A tale of a digital divideA tale of a digital divide
A tale of a digital divideReem Nasr
 
Corporate Identity packages
Corporate Identity packagesCorporate Identity packages
Corporate Identity packagesMark Waltzer
 

En vedette (10)

My Art Plot Presentation
My Art Plot PresentationMy Art Plot Presentation
My Art Plot Presentation
 
Fatherto Son
Fatherto SonFatherto Son
Fatherto Son
 
Css compass sasssusy
Css   compass sasssusyCss   compass sasssusy
Css compass sasssusy
 
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
 
Migrate
MigrateMigrate
Migrate
 
Proactive Displays, UW, 16 July 2008
Proactive Displays, UW, 16 July 2008Proactive Displays, UW, 16 July 2008
Proactive Displays, UW, 16 July 2008
 
From a Contractor to a Shop: How to grow your Drupal business without losing ...
From a Contractor to a Shop: How to grow your Drupal business without losing ...From a Contractor to a Shop: How to grow your Drupal business without losing ...
From a Contractor to a Shop: How to grow your Drupal business without losing ...
 
Social media presentation Adoption By Nigerian Universities-How Have They Fared?
Social media presentation Adoption By Nigerian Universities-How Have They Fared?Social media presentation Adoption By Nigerian Universities-How Have They Fared?
Social media presentation Adoption By Nigerian Universities-How Have They Fared?
 
A tale of a digital divide
A tale of a digital divideA tale of a digital divide
A tale of a digital divide
 
Corporate Identity packages
Corporate Identity packagesCorporate Identity packages
Corporate Identity packages
 

Similaire à The business case for contributing code

Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new buildAndrew Phillips
 
Dev "Programming" Ops For DevOps Success
Dev "Programming" Ops For DevOps SuccessDev "Programming" Ops For DevOps Success
Dev "Programming" Ops For DevOps SuccessC4Media
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyondimoneytech
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
No, we can't do continuous delivery
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous deliveryKris Buytaert
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture DeckNiraj Tolia
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011Craig Ulliott
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012Adrian Carr
 
11 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014WordPressBrisbane
 
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann ArborSelling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann ArborrtCamp
 
Assistance with Android: Tactical to Strategic
Assistance with Android: Tactical to StrategicAssistance with Android: Tactical to Strategic
Assistance with Android: Tactical to StrategicCommonsWare
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsMike Long
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Wojciech Seliga
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps StartupsDaniel Zivkovic
 

Similaire à The business case for contributing code (20)

Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
SDLC & DevSecOps
SDLC & DevSecOpsSDLC & DevSecOps
SDLC & DevSecOps
 
Dev "Programming" Ops For DevOps Success
Dev "Programming" Ops For DevOps SuccessDev "Programming" Ops For DevOps Success
Dev "Programming" Ops For DevOps Success
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
No, we can't do continuous delivery
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous delivery
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture Deck
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012
 
From 1 to 100
From 1 to 100From 1 to 100
From 1 to 100
 
11 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014
 
Emperors new clothes_jab
Emperors new clothes_jabEmperors new clothes_jab
Emperors new clothes_jab
 
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann ArborSelling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
 
Assistance with Android: Tactical to Strategic
Assistance with Android: Tactical to StrategicAssistance with Android: Tactical to Strategic
Assistance with Android: Tactical to Strategic
 
PHP + Business = Money!
PHP + Business = Money!PHP + Business = Money!
PHP + Business = Money!
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
 

Plus de Zivtech, LLC

Shift left testing for continuous collaboration
Shift left testing for continuous collaborationShift left testing for continuous collaboration
Shift left testing for continuous collaborationZivtech, LLC
 
DrupalCon San Francisco- The State of Drupal as a Web Application & Product ...
DrupalCon San Francisco-  The State of Drupal as a Web Application & Product ...DrupalCon San Francisco-  The State of Drupal as a Web Application & Product ...
DrupalCon San Francisco- The State of Drupal as a Web Application & Product ...Zivtech, LLC
 
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Zivtech, LLC
 
Drupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt Cheney
Drupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt CheneyDrupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt Cheney
Drupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt CheneyZivtech, LLC
 
Drupal Problem-Solving Techniques
Drupal Problem-Solving TechniquesDrupal Problem-Solving Techniques
Drupal Problem-Solving TechniquesZivtech, LLC
 
Drupal Presentation @ the Higher Education Web Symposium
Drupal Presentation @ the Higher Education Web SymposiumDrupal Presentation @ the Higher Education Web Symposium
Drupal Presentation @ the Higher Education Web SymposiumZivtech, LLC
 

Plus de Zivtech, LLC (6)

Shift left testing for continuous collaboration
Shift left testing for continuous collaborationShift left testing for continuous collaboration
Shift left testing for continuous collaboration
 
DrupalCon San Francisco- The State of Drupal as a Web Application & Product ...
DrupalCon San Francisco-  The State of Drupal as a Web Application & Product ...DrupalCon San Francisco-  The State of Drupal as a Web Application & Product ...
DrupalCon San Francisco- The State of Drupal as a Web Application & Product ...
 
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
 
Drupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt Cheney
Drupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt CheneyDrupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt Cheney
Drupaldelphia 2014 - Mission Bicycle Case Study - Slides by Matt Cheney
 
Drupal Problem-Solving Techniques
Drupal Problem-Solving TechniquesDrupal Problem-Solving Techniques
Drupal Problem-Solving Techniques
 
Drupal Presentation @ the Higher Education Web Symposium
Drupal Presentation @ the Higher Education Web SymposiumDrupal Presentation @ the Higher Education Web Symposium
Drupal Presentation @ the Higher Education Web Symposium
 

The business case for contributing code

  • 1. The Business Case for Contributing Code Alex Urevick-Ackelsberg
  • 2. The Business Case for Contributing Code Alex Urevick-Ackelsberg
  • 4. About Us • Zivtech = 4+ years old, 20+ employees
  • 5. About Us • Zivtech = 4+ years old, 20+ employees • Alex UA
  • 6. About Us • Zivtech = 4+ years old, 20+ employees • Alex UA • Co-founder, CEO
  • 7. About Us • Zivtech = 4+ years old, 20+ employees • Alex UA • Co-founder, CEO • Professional Troublemaker
  • 8. About Us • Zivtech = 4+ years old, 20+ employees • Alex UA • Co-founder, CEO • Professional Troublemaker • Hat enthusiast
  • 10. The Problem • Wide spread confusion as to the nature of Open Source Software
  • 11. The Problem • Wide spread confusion as to the nature of Open Source Software • Requires a different mind set for development: partially public development.
  • 12. The Problem • Wide spread confusion as to the nature of Open Source Software • Requires a different mind set for development: partially public development. • Publicly committing code is talked about talked as strictly an altruistic activity
  • 14. OSS goes to Washington Clarifying Guidance Regarding Open Source Software (OSS) - bit.ly/ dod-ossh
  • 15. What makes it OSS- ome?
  • 16. What makes it OSS- ome? • Broad peer review = more secure & better quality code.
  • 17. What makes it OSS- ome? • Broad peer review = more secure & better quality code. • Flexibility over time- the world changes & you must too.
  • 18. What makes it OSS- ome? • Broad peer review = more secure & better quality code. • Flexibility over time- the world changes & you must too. • No vendor lock-in.
  • 19. What makes it OSS- ome? • Broad peer review = more secure & better quality code. • Flexibility over time- the world changes & you must too. • No vendor lock-in. • No restrictions on users of OSS.
  • 20. What makes it OSS- ome?
  • 21. What makes it OSS- ome? • No per-seat licenses = scalable usage
  • 22. What makes it OSS- ome? • No per-seat licenses = scalable usage • Shared maintenance = lower TCO
  • 23. What makes it OSS- ome? • No per-seat licenses = scalable usage • Shared maintenance = lower TCO • Iteration & Experimentation
  • 24. What makes it OSS- ome? • No per-seat licenses = scalable usage • Shared maintenance = lower TCO • Iteration & Experimentation • Ability to vet developers
  • 25. One is the loneliest number
  • 27. Don’t Hack What? • Drupal Core
  • 28. Don’t Hack What? • Drupal Core • Contrib Modules
  • 29. Don’t Hack What? • Drupal Core • Contrib Modules • ~16,700
  • 30. Don’t Hack What? • Drupal Core • Contrib Modules • ~16,700 • Custom Modules
  • 31. Don’t Hack What? • Drupal Core • Contrib Modules • ~16,700 • Custom Modules • Site-specific code
  • 33. Hook everything, hack nothing! • Contrib made possible by Drupal’s hook system
  • 34. Hook everything, hack nothing! • Contrib made possible by Drupal’s hook system • Source of Drupal’s flexibility
  • 35. Hook everything, hack nothing! • Contrib made possible by Drupal’s hook system • Source of Drupal’s flexibility • Functionality should be alterable from another module
  • 36. Hook everything, hack nothing! • Contrib made possible by Drupal’s hook system • Source of Drupal’s flexibility • Functionality should be alterable from another module • This a bug, not a feature
  • 38. Why not hack? • Lose many of the major benefits of working with OSS
  • 40. Flexibility & Scalability • Can’t take advantage of improvements
  • 41. Flexibility & Scalability • Can’t take advantage of improvements • Can’t interact with other modules
  • 42. Flexibility & Scalability • Can’t take advantage of improvements • Can’t interact with other modules • Can’t use common scaling techniques
  • 44. Long Term Costs • You broke it, you own it
  • 45. Long Term Costs • You broke it, you own it • Not able to share costs
  • 46. Long Term Costs • You broke it, you own it • Not able to share costs • Nobody will contribute to your private fork
  • 47. Support & Vendor Lock In
  • 48. Support & Vendor Lock In • Good shops won’t work with hacked code, & neither should you
  • 49. Support & Vendor Lock In • Good shops won’t work with hacked code, & neither should you • Either get stuck with hackers or will have to pay to replace hacks
  • 51. Quality Assurance • With enough eyes, all bugs are shallow
  • 52. Quality Assurance • With enough eyes, all bugs are shallow • Peer review increases quality
  • 53. Quality Assurance • With enough eyes, all bugs are shallow • Peer review increases quality • QA is a process
  • 54. Quality Assurance • With enough eyes, all bugs are shallow • Peer review increases quality • QA is a process • internal reviews
  • 55. Quality Assurance • With enough eyes, all bugs are shallow • Peer review increases quality • QA is a process • internal reviews • publish to d.o. issue queues
  • 57. Security • Doesn’t fall under community security processes / authorities
  • 58. Security • Doesn’t fall under community security processes / authorities • Can’t easily apply security patches
  • 59. Security • Doesn’t fall under community security processes / authorities • Can’t easily apply security patches • Lose “enough” eyes
  • 61. Moar Benefitz Plz! • Trial by fire training
  • 62. Moar Benefitz Plz! • Trial by fire training • Community training
  • 63. Moar Benefitz Plz! • Trial by fire training • Community training • Community recruitment
  • 64. Moar Benefitz Plz! • Trial by fire training • Community training • Community recruitment • Marketing
  • 65. Moar Benefitz Plz! • Trial by fire training • Community training • Community recruitment • Marketing • Employee development
  • 66. Moar Benefitz Plz! • Trial by fire training • Community training • Community recruitment • Marketing • Employee development • Vet your developers & shops!
  • 67. Moar Benefitz Plz! • Trial by fire training • Community training • Community recruitment • Marketing • Employee development • Vet your developers & shops! • Being awesome
  • 72. Module or Patch? • Maintaining a module is both a personal & business commitment
  • 73. Module or Patch? • Maintaining a module is both a personal & business commitment • Is there a business benefit?
  • 74. Module or Patch? • Maintaining a module is both a personal & business commitment • Is there a business benefit? • Is it an itch you want to scratch?
  • 75. Module or Patch? • Maintaining a module is both a personal & business commitment • Is there a business benefit? • Is it an itch you want to scratch? • If answer to either is no, we patch
  • 76. Best Patch EVAH!!! -2522 lines, +148 lines
  • 78. Will work for pay http://zivte.ch/otddodcio
  • 79. Will work for pay http://zivte.ch/otddodcio
  • 81. Will work for pay • DoD recomendation: Add contractual incentives for getting code committed “up stream” ( )
  • 82. Will work for pay • DoD recomendation: Add contractual incentives for getting code committed “up stream” ( ) • We still are asked for the opposite (i.e. to give a client a “break” on our charges if we are allowed to release it)
  • 83. Will work for pay • DoD recomendation: Add contractual incentives for getting code committed “up stream” ( ) • We still are asked for the opposite (i.e. to give a client a “break” on our charges if we are allowed to release it) • Ability to freely commit code is a non- negotiable part of contracts
  • 85. Zivtech’s Project & Patching • Create specs
  • 86. Zivtech’s Project & Patching • Create specs • Architecture plan
  • 87. Zivtech’s Project & Patching • Create specs • Architecture plan • Evaluating landscape & what's available
  • 88. Zivtech’s Project & Patching • Create specs • Architecture plan • Evaluating landscape & what's available • Determine approach
  • 89. Zivtech’s Project & Patching • Create specs • Architecture plan • Evaluating landscape & what's available • Determine approach • Use all community code
  • 90. Zivtech’s Project & Patching • Create specs • Architecture plan • Evaluating landscape & what's available • Determine approach • Use all community code • Create custom module to extend existing contrib modules (preferably)
  • 92. Zivtech’s Project & Patching • Patch existing modules
  • 93. Zivtech’s Project & Patching • Patch existing modules • Tracking the change and posting to d.o
  • 94. Zivtech’s Project & Patching • Patch existing modules • Tracking the change and posting to d.o • Add to patches folder - deployed automatically
  • 95. Zivtech’s Project & Patching • Patch existing modules • Tracking the change and posting to d.o • Add to patches folder - deployed automatically • Code and resolve issue
  • 96. Zivtech’s Project & Patching • Patch existing modules • Tracking the change and posting to d.o • Add to patches folder - deployed automatically • Code and resolve issue • Review and iterate

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n