Download - Product Development in the Open - OpenStack Summit May 2014 Atlanta

Transcript
Page 1: Product Development in the Open - OpenStack Summit May 2014 Atlanta

(open source isn’t just a developers’ thing)

Product Development in the Open

Page 2: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 3: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 4: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 5: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 6: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

WHO CARES

ABOUT OPENSTACK?

Page 7: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

Who cares about OpenStack?

Page 8: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

Who cares about OpenStack?

Page 9: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 10: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 11: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 12: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 13: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 14: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 15: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

Who cares about OpenStack?

Page 16: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

Who cares about OpenStack?

Page 17: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

• Providers want

– Stability

Who cares about OpenStack?

Page 18: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 19: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 20: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 21: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 22: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

2

Page 23: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 24: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 25: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• (I’m kind of scared to pose this next question)

Who cares about OpenStack?

Page 26: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Are software developers committed to OpenStack?

Who cares about OpenStack?

Page 27: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Are software developers committed to OpenStack?

– It’s pretty scary to even think about this question

Who cares about OpenStack?

Page 28: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Are you committed to OpenStack?

Who cares about OpenStack?

Page 29: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Am I committed to OpenStack?

Who cares about OpenStack?

Page 30: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 31: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 32: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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?

Page 33: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 34: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The community isn’t something to observe …

The OpenStack community

TRUST + CONTRIBUTION

Page 35: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The community isn’t something to observe …

• … it’s something to participate in

The OpenStack community

TRUST + CONTRIBUTION

Page 36: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 37: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• What am I going to do with OpenStack?

The OpenStack community

TRUST + CONTRIBUTION

Page 38: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• What am I going to do with OpenStack?

• What am I going to do with OpenStack?

The OpenStack community

TRUST + CONTRIBUTION

Page 39: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

ASK NOT WHAT

OPENSTACK

CAN DO FOR YOU,

BUT WHAT YOU CAN

DO FOR OPENSTACK

Page 40: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

OPENSOURCE CODE DEVELOPMENT

VS. PRODUCT DEVELOPMENT

Page 41: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

Open source code development

Page 42: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 43: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 44: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 45: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 46: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 47: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 48: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The history of the ideas behind a piece of code is important when reviewing it

Open source code archaeology

Page 49: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 50: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 51: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 52: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• It would be good if the archaeology were not so “archaeological”

Open source code archaeology

Page 53: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

WHY PRODUCT DEVELOPMENT

IS IMPORTANT FOR OPEN SOURCE

Page 54: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Customer-validated

Modern product development

Page 55: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• OpenStack has two customer segments:

– Deployers (consumers of OpenStack software)

– End-users (consumers of cloud services)

Modern product development

Page 56: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Customer-validated

– We’ve got data indicating that a proposed feature will actually be used by real customers

Modern product development

Page 57: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 58: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 59: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

PRODUCT DEVELOPMENT

IN THE OPEN

Page 60: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-type people have a skill set that can contribute to the community

Product development in the open

Page 61: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-type people have a skill set that can make a serious contribution to the community

Product development in the open

Page 62: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 63: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 64: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 65: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 66: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

WHAT YOU CAN DO

Page 67: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Chris Vander Mey, Shipping Greatness (O’Reilly, 2012)

What you can do

Page 68: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

What you can do

Page 69: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

What you can do

Page 70: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

• Documented use cases

What you can do

Page 71: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

• Documented use cases

• Customer validation

What you can do

Page 72: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

• Documented use cases

• Customer validation

• and …

What you can do

Page 73: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 74: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• OpenStack is more than code

• Community is key

• Product-type people can contribute to OpenStack

Take-aways

Page 75: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 76: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 77: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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.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.COM

Page 78: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#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

Page 79: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

•Brian Rosmaita –@br14nr

–IRC: rosmaita

[email protected]

About me