SlideShare uma empresa Scribd logo
1 de 79
Baixar para ler offline
(open source isn’t just a developers’ thing)
Product Development in the Open
#rackstackatl
• Brian Rosmaita
– @br14nr
– IRC: rosmaita
• Cloud Images Product Manager at
Rackspace
• OpenStack ATC since Folsom
– Mostly Glance and docs
• Glance driver
• Happy to be here, hope you’re
enjoying the summit
About me
#rackstackatl
• Who cares about OpenStack?
• Open source code development vs. product development
• Why product development is important for open source
• Product development in the open
• What you can do
Outline
#rackstackatl
• Who cares about OpenStack?
• Open source code development vs. product development
• Why product development is important for open source
• Product development in the open
• What you can do
• What you should do
Outline
#rackstackatl
• Who cares about OpenStack?
• Open source code development vs. product development
• Why product development is important for open source
• Product development in the open
• What you can do
• What you should do
• What you must do
Outline
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHO CARES
ABOUT OPENSTACK?
#rackstackatl
• Do end-users care about OpenStack?
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open source?
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open source?
– Probably not
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open source?
– Probably not
• Can we just ignore them?
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open source?
– Probably not
• Can we just ignore them?
– Probably not
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open source?
– Probably not
• Can we just ignore them?
– Probably not
– If you’re running a public cloud: definitely not
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open source?
– Probably not
• Can we just ignore them?
– Probably not
– If you’re running a public cloud: definitely not
– If you’re running a private cloud: the “shadow IT” phenomenon
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
• Providers want
– Stability
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
• Providers want
– Stability
– Ongoing improvement
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
• Providers want
– Stability
– Ongoing improvement
– Stability
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
• Providers want
– Stability
– Ongoing improvement
– Stability
– Competitive features for end users
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
• Providers want
– Stability
– Ongoing improvement
– Stability
– Competitive features for end users
– Stability
Who cares about OpenStack?
#rackstackatl
• If your customer base primarily interacts with a control panel, you can swap out
the control plane and customers might not even notice
Who cares about OpenStack?
2
#rackstackatl
• If your customer base primarily interacts with a control panel, you can swap out
the control plane and customers might not even notice
• Or you could switch to different cloud software that has a compatible API and
customers might not even notice
Who cares about OpenStack?
#rackstackatl
• If your customer base primarily interacts with a control panel, you can swap out
the control plane and customers might not even notice
• Or you could switch to different cloud software that has a compatible API and
customers might not even notice
It’s a jungle out there!
Who cares about OpenStack?
#rackstackatl
• (I’m kind of scared to pose this next question)
Who cares about OpenStack?
#rackstackatl
• Are software developers committed to OpenStack?
Who cares about OpenStack?
#rackstackatl
• Are software developers committed to OpenStack?
– It’s pretty scary to even think about this question
Who cares about OpenStack?
#rackstackatl
• Are you committed to OpenStack?
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent open-source
cloud software
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent open-source
cloud software
– OpenStack is the best game in town
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent open-source
cloud software
– OpenStack is the best game in town
• “ongoing shared project” == the community
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent open-source
cloud software
– OpenStack is the best game in town
• “ongoing shared project” == the community
Who cares about OpenStack?
TRUST + CONTRIBUTION
#rackstackatl
• The community isn’t something to observe …
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatl
• The community isn’t something to observe …
• … it’s something to participate in
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatl
• The community isn’t something to observe …
• … it’s something to participate in
• The community requires constant care and nurturing if it’s to remain the vibrant
and exciting entity it is today
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatl
• What am I going to do with OpenStack?
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatl
• What am I going to do with OpenStack?
• What am I going to do with OpenStack?
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
ASK NOT WHAT
OPENSTACK
CAN DO FOR YOU,
BUT WHAT YOU CAN
DO FOR OPENSTACK
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
OPENSOURCE CODE DEVELOPMENT
VS. PRODUCT DEVELOPMENT
#rackstackatl
• Coding is done in the open
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
– Can read the source code
– Can see the peer reviews
– Can see the history of code development
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
– Can read the source code
– Can see the peer reviews
– Can see the history of code development
– Can look up the history of the ideas behind this piece of code
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
– Can read the source code
– Can see the peer reviews
– Can see the history of code development
– Can look up the history of the ideas behind this piece of code
• Mailing list archives
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
– Can read the source code
– Can see the peer reviews
– Can see the history of code development
– Can look up the history of the ideas behind this piece of code
• Mailing list archives
• IRC meeting logs
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
– Can read the source code
– Can see the peer reviews
– Can see the history of code development
– Can look up the history of the ideas behind this piece of code
• Mailing list archives
• IRC meeting logs
–“official” IRC meeting channels
» #openstack-meeting , #openstack-meeting-alt
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
– Can read the source code
– Can see the peer reviews
– Can see the history of code development
– Can look up the history of the ideas behind this piece of code
• Mailing list archives
• IRC meeting logs
–“official” IRC meeting channels
» #openstack-meeting , #openstack-meeting-alt
–Project-specific meeting channels
»E.g., #openstack-glance
Open source code development
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
Open source code archaeology
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
• This code is acceptable because:
– It has no obvious flaws
– It doesn’t break compatibility with other parts of the code
Open source code archaeology
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
• This code is acceptable because:
– It has no obvious flaws
– It doesn’t break compatibility with other parts of the code
– It implements the feature correctly
Open source code archaeology
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
• This code is acceptable because:
– It has no obvious flaws
– It doesn’t break compatibility with other parts of the code
– It implements the feature correctly
– … and if there’s a migration path, it’s well thought-out
Open source code archaeology
#rackstackatl
• It would be good if the archaeology were not so “archaeological”
Open source code archaeology
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHY PRODUCT DEVELOPMENT
IS IMPORTANT FOR OPEN SOURCE
#rackstackatl
• Customer-validated
Modern product development
#rackstackatl
• OpenStack has two customer segments:
– Deployers (consumers of OpenStack software)
– End-users (consumers of cloud services)
Modern product development
#rackstackatl
• Customer-validated
– We’ve got data indicating that a proposed feature will actually be used by real customers
Modern product development
#rackstackatl
• Software development goes better when developers understand:
– The purpose of the feature they’re developing
– How it fits into the Big Picture
– That it will actually be used
Modern software development
#rackstackatl
• Software development goes better when developers understand:
– The purpose of the feature they’re developing
– How it fits into the Big Picture
– That it will actually be used
• And, of course, code reviews can be more meaningful when these things are
understood
Modern software development
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
PRODUCT DEVELOPMENT
IN THE OPEN
#rackstackatl
• Product-type people have a skill set that can contribute to the community
Product development in the open
#rackstackatl
• Product-type people have a skill set that can make a serious contribution to the
community
Product development in the open
#rackstackatl
• Product-type people have a skill set that can make a serious contribution to the
community
• We can decrease the necessary amount of “archaeology” by treating
OpenStack code development as part of product development
Product development in the open
#rackstackatl
• Product-type people have a skill set that can make a serious contribution to the
community
• We can decrease the necessary amount of “archaeology” by treating
OpenStack code development as part of product development
• … rather than as an artifact around which to build a product
Product development in the open
#rackstackatl
• Product-types have a skill set that can make a serious contribution to the
community
• We can decrease the necessary amount of “archaeology” by treating
OpenStack code development as part of product development
• … rather than as an artifact around which to build a product
• Increase
– Developer satisfaction
– Deployer awareness
– Documentation readiness
Product development in the open
#rackstackatl
• Product-types have a skill set that can make a serious contribution to the
community
• We can decrease the necessary amount of “archaeology” by treating
OpenStack code development as part of product development
• … rather than as an artifact around which to build a product
• Increase
– Developer satisfaction
– Deployer awareness
– Documentation readiness
– User delight!
Product development in the open
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHAT YOU CAN DO
#rackstackatl
• Chris Vander Mey, Shipping Greatness (O’Reilly, 2012)
What you can do
#rackstackatl
• Press release before the product is built
What you can do
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
What you can do
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
• Documented use cases
What you can do
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
• Documented use cases
• Customer validation
What you can do
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
• Documented use cases
• Customer validation
• and …
What you can do
#rackstackatl
• Examples
–https://wiki.openstack.org/wiki/Glance-property-protections-product
–http://tinyurl.com/ATL-BR-1
–https://wiki.openstack.org/wiki/Glance-tasks-api-product
–http://tinyurl.com/ATL-BR-E2
–https://wiki.openstack.org/wiki/Glance-v2-community-image-sharing
–http://tinyurl.com/ATL-BR-3
What you can do
#rackstackatl
• OpenStack is more than code
• Community is key
• Product-type people can contribute to OpenStack
Take-aways
#rackstackatl
• OpenStack is more than code
• Community is key
• Product-type people can contribute to OpenStack
• Product-type people should contribute to OpenStack
Take-aways
#rackstackatl
• OpenStack is more than code
• Community is key
• Product-type people can contribute to OpenStack
• Product-type people should contribute to OpenStack
• Product-type people must contribute to OpenStack
Take-aways
#rackstackatl
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COMRACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
#rackstackatl
• I just wanted to address a few questions that came up
– The example docs are in their final state.
• What you don’t see is that there were several revisions as the discussion developed on the mailing list
and in IRC meetings.
• Keep in mind the “archaeology” metaphor—the point of the “product” docs is to record community
consensus, not to impose a particular view or to deliver a pre-designed API.
• You want to document the consensus enough so that a core reviewer can look them over and
understand whether or not the code being reviewed meets the consensus requirements for the feature.
– Have a thick skin
• Expect to see eyes roll (or whatever the IRC equivalent is) when you first start participating in IRC
meetings and design discussions.
• Some developers are more receptive to this kind of help than others. It may take some time to earn
trust, don’t get discouraged.
Postscript
#rackstackatl
•Brian Rosmaita
–@br14nr
–IRC: rosmaita
–brian.rosmaita@rackspace.com
About me

Mais conteúdo relacionado

Destaque

Mobile innovation Kenya
Mobile innovation KenyaMobile innovation Kenya
Mobile innovation Kenya
Jim Heil
 

Destaque (10)

Introduction to Open Development
Introduction to Open DevelopmentIntroduction to Open Development
Introduction to Open Development
 
Open Development Cambodia
Open Development CambodiaOpen Development Cambodia
Open Development Cambodia
 
Innovations for Open Development
Innovations for Open DevelopmentInnovations for Open Development
Innovations for Open Development
 
Mobile innovation Kenya
Mobile innovation KenyaMobile innovation Kenya
Mobile innovation Kenya
 
Open Collaboration in the Development of Innovative Online Curriculum
Open Collaboration in the Development of Innovative Online CurriculumOpen Collaboration in the Development of Innovative Online Curriculum
Open Collaboration in the Development of Innovative Online Curriculum
 
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
 
Safaricom
SafaricomSafaricom
Safaricom
 
M pesa
M pesaM pesa
M pesa
 
Open Source & Open Development
Open Source & Open Development Open Source & Open Development
Open Source & Open Development
 
Open Development Analytics, a step beyond in project transparency
Open Development Analytics, a step beyond in project transparencyOpen Development Analytics, a step beyond in project transparency
Open Development Analytics, a step beyond in project transparency
 

Mais de Brian Rosmaita

Mais de Brian Rosmaita (9)

Ecosystem Projects for Data Management Challenges: Cinder
Ecosystem Projects for Data Management Challenges: CinderEcosystem Projects for Data Management Challenges: Cinder
Ecosystem Projects for Data Management Challenges: Cinder
 
OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020OpenStack Cinder - Victoria Release Update - 2020
OpenStack Cinder - Victoria Release Update - 2020
 
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
 
OpenShift Commons Briefing: Ask Me Anything about Cinder and Glance
OpenShift Commons Briefing: Ask Me Anything about Cinder and GlanceOpenShift Commons Briefing: Ask Me Anything about Cinder and Glance
OpenShift Commons Briefing: Ask Me Anything about Cinder and Glance
 
OpenStack Cinder Project Update - Shanghai 2019
OpenStack Cinder Project Update - Shanghai 2019OpenStack Cinder Project Update - Shanghai 2019
OpenStack Cinder Project Update - Shanghai 2019
 
You can't make a (Denver) omelette without breaking eggs: Using OpenStack pol...
You can't make a (Denver) omelette without breaking eggs: Using OpenStack pol...You can't make a (Denver) omelette without breaking eggs: Using OpenStack pol...
You can't make a (Denver) omelette without breaking eggs: Using OpenStack pol...
 
OpenStack Glance Project Update
OpenStack Glance Project UpdateOpenStack Glance Project Update
OpenStack Glance Project Update
 
The Evolution of Glance API: On the Way From v1 to v3
The Evolution of Glance API: On the Way From v1 to v3The Evolution of Glance API: On the Way From v1 to v3
The Evolution of Glance API: On the Way From v1 to v3
 
Making Glance tasks work for you - OpenStack Summit May 2015 Vancouver
Making Glance tasks work for you - OpenStack Summit May 2015 VancouverMaking Glance tasks work for you - OpenStack Summit May 2015 Vancouver
Making Glance tasks work for you - OpenStack Summit May 2015 Vancouver
 

Último

Último (20)

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...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Product Development in the Open - OpenStack Summit May 2014 Atlanta

  • 1. (open source isn’t just a developers’ thing) Product Development in the Open
  • 2. #rackstackatl • Brian Rosmaita – @br14nr – IRC: rosmaita • Cloud Images Product Manager at Rackspace • OpenStack ATC since Folsom – Mostly Glance and docs • Glance driver • Happy to be here, hope you’re enjoying the summit About me
  • 3. #rackstackatl • Who cares about OpenStack? • Open source code development vs. product development • Why product development is important for open source • Product development in the open • What you can do Outline
  • 4. #rackstackatl • Who cares about OpenStack? • Open source code development vs. product development • Why product development is important for open source • Product development in the open • What you can do • What you should do Outline
  • 5. #rackstackatl • Who cares about OpenStack? • Open source code development vs. product development • Why product development is important for open source • Product development in the open • What you can do • What you should do • What you must do Outline
  • 6. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM WHO CARES ABOUT OPENSTACK?
  • 7. #rackstackatl • Do end-users care about OpenStack? Who cares about OpenStack?
  • 8. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not Who cares about OpenStack?
  • 9. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not • Do end-users care about open source? Who cares about OpenStack?
  • 10. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not • Do end-users care about open source? – Probably not Who cares about OpenStack?
  • 11. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not • Do end-users care about open source? – Probably not • Can we just ignore them? Who cares about OpenStack?
  • 12. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not • Do end-users care about open source? – Probably not • Can we just ignore them? – Probably not Who cares about OpenStack?
  • 13. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not • Do end-users care about open source? – Probably not • Can we just ignore them? – Probably not – If you’re running a public cloud: definitely not Who cares about OpenStack?
  • 14. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not • Do end-users care about open source? – Probably not • Can we just ignore them? – Probably not – If you’re running a public cloud: definitely not – If you’re running a private cloud: the “shadow IT” phenomenon Who cares about OpenStack?
  • 15. #rackstackatl • Do providers care about OpenStack? Who cares about OpenStack?
  • 16. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source Who cares about OpenStack?
  • 17. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source • Providers want – Stability Who cares about OpenStack?
  • 18. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source • Providers want – Stability – Ongoing improvement Who cares about OpenStack?
  • 19. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source • Providers want – Stability – Ongoing improvement – Stability Who cares about OpenStack?
  • 20. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source • Providers want – Stability – Ongoing improvement – Stability – Competitive features for end users Who cares about OpenStack?
  • 21. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source • Providers want – Stability – Ongoing improvement – Stability – Competitive features for end users – Stability Who cares about OpenStack?
  • 22. #rackstackatl • If your customer base primarily interacts with a control panel, you can swap out the control plane and customers might not even notice Who cares about OpenStack? 2
  • 23. #rackstackatl • If your customer base primarily interacts with a control panel, you can swap out the control plane and customers might not even notice • Or you could switch to different cloud software that has a compatible API and customers might not even notice Who cares about OpenStack?
  • 24. #rackstackatl • If your customer base primarily interacts with a control panel, you can swap out the control plane and customers might not even notice • Or you could switch to different cloud software that has a compatible API and customers might not even notice It’s a jungle out there! Who cares about OpenStack?
  • 25. #rackstackatl • (I’m kind of scared to pose this next question) Who cares about OpenStack?
  • 26. #rackstackatl • Are software developers committed to OpenStack? Who cares about OpenStack?
  • 27. #rackstackatl • Are software developers committed to OpenStack? – It’s pretty scary to even think about this question Who cares about OpenStack?
  • 28. #rackstackatl • Are you committed to OpenStack? Who cares about OpenStack?
  • 29. #rackstackatl • Am I committed to OpenStack? Who cares about OpenStack?
  • 30. #rackstackatl • Am I committed to OpenStack? – What I’m committed to is the ongoing shared project of developing excellent open-source cloud software Who cares about OpenStack?
  • 31. #rackstackatl • Am I committed to OpenStack? – What I’m committed to is the ongoing shared project of developing excellent open-source cloud software – OpenStack is the best game in town Who cares about OpenStack?
  • 32. #rackstackatl • Am I committed to OpenStack? – What I’m committed to is the ongoing shared project of developing excellent open-source cloud software – OpenStack is the best game in town • “ongoing shared project” == the community Who cares about OpenStack?
  • 33. #rackstackatl • Am I committed to OpenStack? – What I’m committed to is the ongoing shared project of developing excellent open-source cloud software – OpenStack is the best game in town • “ongoing shared project” == the community Who cares about OpenStack? TRUST + CONTRIBUTION
  • 34. #rackstackatl • The community isn’t something to observe … The OpenStack community TRUST + CONTRIBUTION
  • 35. #rackstackatl • The community isn’t something to observe … • … it’s something to participate in The OpenStack community TRUST + CONTRIBUTION
  • 36. #rackstackatl • The community isn’t something to observe … • … it’s something to participate in • The community requires constant care and nurturing if it’s to remain the vibrant and exciting entity it is today The OpenStack community TRUST + CONTRIBUTION
  • 37. #rackstackatl • What am I going to do with OpenStack? The OpenStack community TRUST + CONTRIBUTION
  • 38. #rackstackatl • What am I going to do with OpenStack? • What am I going to do with OpenStack? The OpenStack community TRUST + CONTRIBUTION
  • 39. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM ASK NOT WHAT OPENSTACK CAN DO FOR YOU, BUT WHAT YOU CAN DO FOR OPENSTACK
  • 40. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM OPENSOURCE CODE DEVELOPMENT VS. PRODUCT DEVELOPMENT
  • 41. #rackstackatl • Coding is done in the open Open source code development
  • 42. #rackstackatl • Coding is done in the open • Anyone – cloud provider, ops team, developers, end-users, random passers-by – Can read the source code – Can see the peer reviews – Can see the history of code development Open source code development
  • 43. #rackstackatl • Coding is done in the open • Anyone – cloud provider, ops team, developers, end-users, random passers-by – Can read the source code – Can see the peer reviews – Can see the history of code development – Can look up the history of the ideas behind this piece of code Open source code development
  • 44. #rackstackatl • Coding is done in the open • Anyone – cloud provider, ops team, developers, end-users, random passers-by – Can read the source code – Can see the peer reviews – Can see the history of code development – Can look up the history of the ideas behind this piece of code • Mailing list archives Open source code development
  • 45. #rackstackatl • Coding is done in the open • Anyone – cloud provider, ops team, developers, end-users, random passers-by – Can read the source code – Can see the peer reviews – Can see the history of code development – Can look up the history of the ideas behind this piece of code • Mailing list archives • IRC meeting logs Open source code development
  • 46. #rackstackatl • Coding is done in the open • Anyone – cloud provider, ops team, developers, end-users, random passers-by – Can read the source code – Can see the peer reviews – Can see the history of code development – Can look up the history of the ideas behind this piece of code • Mailing list archives • IRC meeting logs –“official” IRC meeting channels » #openstack-meeting , #openstack-meeting-alt Open source code development
  • 47. #rackstackatl • Coding is done in the open • Anyone – cloud provider, ops team, developers, end-users, random passers-by – Can read the source code – Can see the peer reviews – Can see the history of code development – Can look up the history of the ideas behind this piece of code • Mailing list archives • IRC meeting logs –“official” IRC meeting channels » #openstack-meeting , #openstack-meeting-alt –Project-specific meeting channels »E.g., #openstack-glance Open source code development
  • 48. #rackstackatl • The history of the ideas behind a piece of code is important when reviewing it Open source code archaeology
  • 49. #rackstackatl • The history of the ideas behind a piece of code is important when reviewing it • This code is acceptable because: – It has no obvious flaws – It doesn’t break compatibility with other parts of the code Open source code archaeology
  • 50. #rackstackatl • The history of the ideas behind a piece of code is important when reviewing it • This code is acceptable because: – It has no obvious flaws – It doesn’t break compatibility with other parts of the code – It implements the feature correctly Open source code archaeology
  • 51. #rackstackatl • The history of the ideas behind a piece of code is important when reviewing it • This code is acceptable because: – It has no obvious flaws – It doesn’t break compatibility with other parts of the code – It implements the feature correctly – … and if there’s a migration path, it’s well thought-out Open source code archaeology
  • 52. #rackstackatl • It would be good if the archaeology were not so “archaeological” Open source code archaeology
  • 53. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM WHY PRODUCT DEVELOPMENT IS IMPORTANT FOR OPEN SOURCE
  • 55. #rackstackatl • OpenStack has two customer segments: – Deployers (consumers of OpenStack software) – End-users (consumers of cloud services) Modern product development
  • 56. #rackstackatl • Customer-validated – We’ve got data indicating that a proposed feature will actually be used by real customers Modern product development
  • 57. #rackstackatl • Software development goes better when developers understand: – The purpose of the feature they’re developing – How it fits into the Big Picture – That it will actually be used Modern software development
  • 58. #rackstackatl • Software development goes better when developers understand: – The purpose of the feature they’re developing – How it fits into the Big Picture – That it will actually be used • And, of course, code reviews can be more meaningful when these things are understood Modern software development
  • 59. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM PRODUCT DEVELOPMENT IN THE OPEN
  • 60. #rackstackatl • Product-type people have a skill set that can contribute to the community Product development in the open
  • 61. #rackstackatl • Product-type people have a skill set that can make a serious contribution to the community Product development in the open
  • 62. #rackstackatl • Product-type people have a skill set that can make a serious contribution to the community • We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development Product development in the open
  • 63. #rackstackatl • Product-type people have a skill set that can make a serious contribution to the community • We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development • … rather than as an artifact around which to build a product Product development in the open
  • 64. #rackstackatl • Product-types have a skill set that can make a serious contribution to the community • We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development • … rather than as an artifact around which to build a product • Increase – Developer satisfaction – Deployer awareness – Documentation readiness Product development in the open
  • 65. #rackstackatl • Product-types have a skill set that can make a serious contribution to the community • We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development • … rather than as an artifact around which to build a product • Increase – Developer satisfaction – Deployer awareness – Documentation readiness – User delight! Product development in the open
  • 66. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM WHAT YOU CAN DO
  • 67. #rackstackatl • Chris Vander Mey, Shipping Greatness (O’Reilly, 2012) What you can do
  • 68. #rackstackatl • Press release before the product is built What you can do
  • 69. #rackstackatl • Press release before the product is built • FAQ before the product is built What you can do
  • 70. #rackstackatl • Press release before the product is built • FAQ before the product is built • Documented use cases What you can do
  • 71. #rackstackatl • Press release before the product is built • FAQ before the product is built • Documented use cases • Customer validation What you can do
  • 72. #rackstackatl • Press release before the product is built • FAQ before the product is built • Documented use cases • Customer validation • and … What you can do
  • 74. #rackstackatl • OpenStack is more than code • Community is key • Product-type people can contribute to OpenStack Take-aways
  • 75. #rackstackatl • OpenStack is more than code • Community is key • Product-type people can contribute to OpenStack • Product-type people should contribute to OpenStack Take-aways
  • 76. #rackstackatl • OpenStack is more than code • Community is key • Product-type people can contribute to OpenStack • Product-type people should contribute to OpenStack • Product-type people must contribute to OpenStack Take-aways
  • 77. #rackstackatl RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COMRACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
  • 78. #rackstackatl • I just wanted to address a few questions that came up – The example docs are in their final state. • What you don’t see is that there were several revisions as the discussion developed on the mailing list and in IRC meetings. • Keep in mind the “archaeology” metaphor—the point of the “product” docs is to record community consensus, not to impose a particular view or to deliver a pre-designed API. • You want to document the consensus enough so that a core reviewer can look them over and understand whether or not the code being reviewed meets the consensus requirements for the feature. – Have a thick skin • Expect to see eyes roll (or whatever the IRC equivalent is) when you first start participating in IRC meetings and design discussions. • Some developers are more receptive to this kind of help than others. It may take some time to earn trust, don’t get discouraged. Postscript