[openstack-dev] [all][tc] TC Candidates: what does an OpenStack user look like?

James Bottomley James.Bottomley at HansenPartnership.com
Sun Oct 15 15:53:12 UTC 2017


On Thu, 2017-10-12 at 12:51 -0400, Zane Bitter wrote:
> So my question to the TC candidates (and incumbent TC members, or
> anyone else, if they want to answer) is: what does the hypothetical
> OpenStack user that is top-of-mind in your head look like? Who are
> _you_ building OpenStack for?

There's a fundamental misconception in the way you just asked the
question: in any open source project the question "who am I building
this for?" and "who is my target end user?" aren't necessarily the
same.

The honest answer to "who am I building this open source project for?"
should always be "me".  There's nothing magical about this: all open
source/free software projects are driven by developer enthusiasm.  If
the reason you're in the project isn't something inside yourself (like
fascination with some aspect of the code or need to use it personally)
then you're unlikely to be a good contributor.  The principle is
actually universal: having been an engineering manager in industry I
know that if someone is only in the project for the paycheque then I
need to replace them ASAP with someone who's actually fascinated by
some aspect of the project because the productivity of the latter will
be way higher.  It's the most annoying aspect of Engineering Project
Management: engineers aren't fungible resources, they have enthusiasms
that have to be engaged.

There's a corollary to this that allows you to test the health of your
project: "If I weren't being paid to do this, would I still do it?".
 The majority answer for a healthy project should be "yes".  There's no
industrial counterpart here because if they don't pay you, you don't
get access to the code base.

The question of who is the end user is usually either "me" because you
have a use for the project or more likely "I don't know" because you
care mostly about the engineering aspects.  That's not to say that some
contributors can't get fascinated by user problems because it does
happen; however, it's not usually the majority.

User base tends to come about because of goal alignment: once a project
has a reasonable number of committers, feature addition becomes more a
matter of negotiation, but these negotiations tend to produce better
code and a set of common goals (the aligned goals of the contributors).
 Industrial contributors are attracted if some of the project goals
align reasonably with business goals and it looks like contribution
from the industry partner could achieve further alignment.  One of the
key goals of Industry is to get paid by consumers, so the Industrial
contributors tend to bring along the users (Again Industry does this by
canvassing end user requirements and seeing what the alignment with the
project is and whether it could be improved.  They don't do this for
"community" they do it because they make more money if the alignment is
better).  By the way, this pragmatic goal alignment without necessarily
sharing any philosophical belief in "code freedom" is the main
difference between open source and free software.

That's not to say every successful open source/free software project
has to have a large user base.  The Linux Desktop would be a classic
example here: excluding mobile, it's a complete failure in terms of
world domination of user base.  However, in terms of "built by geeks
for geeks" it's very much alive and healthy ... just look at the OS
running on laptops at any Linux conference, for instance.

James




More information about the OpenStack-dev mailing list