THIS POST IS #2 IN A SERIES ABOUT “WHAT IS CORE.”
What gives a project a strong core?
A strong project has utility, community, and longevity.
Utility, community and longevity are the fundamental objectives of any project or product. It must do something that people find useful (utility). It’s not enough for one person to like the project, there must be a market (community). And that useful and popular work must be sustainable over multiple “generations” (longevity).
These goals are basic. The challenge is finding the right rules to keep OpenStack in the sustainable project zone. Unfortunately, as an open source project, the OpenStack Foundation ultimately has very little real power (like hiring flocks of developers) to enforce use or maintenance of the code base.
The Foundation’s tools are velocity, culture, and brand. Understanding “what is core” hones these tools to ensure they are effective.
Velocity – the rate of progress and quality of the code base. A project at sufficient velocity is not worth forking or duplicating. The fact that >1000 developers companies are contributing and 100s of companies are deploying OpenStack makes it profitable to remain in our community. Make no mistake: being part of a community takes effort so there must be a return on that investment. The foundation must ensure that commercial entities find an ROI from their participation.
Culture – open source culture strongly encourages sharing and collaboration. I have seen that culture as a more potent force than the legalese and licenses. While a strong culture reinforces itself, a toxic culture will rot a project like ice cream in the summer. Culture maintenance is a chief foundation objective and includes fostering new users, documentation, orderly interactions and co-opetitive collaboration.
Brand – when all else fails, OpenStack can use legal means to define our brand. This is the weakest of all the tools because the strength of the defense is only as good as the brand. If we allow the OpenStack brand (sometimes we say it’s mark) to become weak or diluted then people have little reason to support velocity or culture.
An important insight when looking at these three control levers is that they are very different between individuals and corporations. While individuals may highly motivated by culture they are not as motivated by brand; conversely, corporations are highly motivated by brand and compliance and minimally by culture.
As the OpenStack Foundation Board takes up the “what is core” question, we must be cognizant of the duality between individual and corporate interests. OpenStack must be both meaningful culturally to individuals and strong brand-wise to corporations. Both are needed to sustain OpenStack’s velocity.
READ POST IS #2: SPIDER CHART
Pingback: Kicking off discussion about OpenStack Core | Rob Hirschfeld
“Utility” is too nebulous. A strong project has clarity and focus: there must be an unambiguous objective that is shared by the community. Ideally the objective is expressed in terms of constraints that make it clear what is core: think of Linux (constraints: POSIX, x86, open source) and MySQL (constraints: SQL, open source).
Great comment! Thanks – that’s a good point and a place where we need alignment. Some want to make OpenStack do everything while others want to keep to more narrow. I will try to address this as the series progresses.
Usability is missing from that list and something I believe the community needs to focus on.
Agreed that it’s needed. I would include that in utility tho.
Pingback: Introducing the OpenStack Spider Graph: untangling our web of interdependencies | Rob Hirschfeld
Pingback: My insights from OpenStack “what is core” Spider > we need pluggable architectures | Rob Hirschfeld
Pingback: OpenStack and AWS APIs: Getting to the core of the matter | Speaking of Clouds - Distributed applications and virtual infrastructures
Pingback: Twelve straw man positions to frame OpenStack “what is core” discussion | Rob Hirschfeld
“Brand” and “mark” are synonyms only to people who understand neither. There is no such construct as “legal means to define a brand.” You can legally establish right of first use of a trademark, service mark or fictitious name; you can protect IP through copyright, patent or even via trade secret.
However, a brand is a promise (more accurately a set of promises), a de facto pact offered to all comers who voluntarily show up to the party, so to speak (e.g. a consumer comes to purchase a burger from a McDonald’s).
“Objective” and “goal” are synonyms only to people who understand neither. Goal is the means by which progress to the objective is measured. Put another way, objective is what you are trying to accomplish and goal is how you know you’ve gotten there. A simple way to remember this important nuance is this: Jerry Lewis hosted annual Labor day telethons to raise money to cure MS. Each telethon’s goal was $X millions of dollars. Sometimes the goal was met, sometimes it wasn’t, but the objective has not been accomplished, because a cure has not been found, yet.
In the case of MS, as is often the case, there is no real measure toward the accomplishment of the objective. Science often doesn’t know how close it is to accomplishing something until after the breakthrough delivers the result. Let not this be an excuse to call all objectives goals, lest ye fall into the trap of concluding progress ( or success ) has been accomplished without any real objective measure that anything valuable was done at all.
(Hint: if your “objectives” have no meaningful, reproducible, objective measuring stick, they are probably principles by which decisions and actions can be judged, but not really objectives at all).
OpenStack hosting multiple parties (pun intended) adds enough complexity without the confusion brought by disregarding well established constructs and language.
Dan, thanks for the great comments and clarifications. OpenStack control the use of our mark. Hopefully, exercising it correctly will build a strong brand.
I hope that my choice of wording does not obscure my points. Considering you seem to have read in detail, I’d be interested in your opinion on the broader topic too.
Pingback: OpenStack’s Test Driven Core > it’s where I think “what is core” discussions are heading | Rob Hirschfeld
Pingback: What makes OpenStack meaningful and suceed ? What gives a project a strong core? A strong project has… | Server Management 24x7 !