Re-work the content under Practical Examples
The previous patch moved out the action and examples from under the Open Community chapter. This patch updates the text to adjust to the content and flow of the book. Change-Id: Ib4918697427c20c34a01c699e1741158b83bc7ec Signed-off-by: Ildiko Vancsa <ildiko.vancsa@gmail.com>
This commit is contained in:
parent
5db7e933c2
commit
25034fbf95
@ -2,337 +2,306 @@
|
|||||||
Practical Examples
|
Practical Examples
|
||||||
==================
|
==================
|
||||||
|
|
||||||
NOTE: This section still needs editing
|
The Four Opens is a set of principles to guide you when you build, support or
|
||||||
|
participate in an open source community to ensure a healthy and balanced
|
||||||
|
environment.
|
||||||
|
|
||||||
|
While there is no magic formula that would apply to all communities, there
|
||||||
|
are practices you can follow and steps you can take regardless of you being one
|
||||||
|
of the contributors, or if you work for an organization that supports the
|
||||||
|
project.
|
||||||
|
|
||||||
|
This chapter will give you examples and recommendations to build on based on
|
||||||
|
the experiences of the OpenInfra communities and the ecosystems around them. We
|
||||||
|
will cover the following areas:
|
||||||
|
|
||||||
- Common mission & goals.
|
- Common mission & goals
|
||||||
- Effective governance & leadership.
|
- Effective governance & leadership
|
||||||
- Diversity & Inclusiveness.
|
- Diversity & Inclusiveness
|
||||||
- Contributor recognition & motivation.
|
|
||||||
- Open & Transparent Communication.
|
|
||||||
- Branding & positioning (example of collaboration across forces, product
|
|
||||||
definition).
|
|
||||||
- Education & On-boarding.
|
|
||||||
- Marketing & events.
|
|
||||||
- Ambassadors & meet-ups.
|
|
||||||
- Cross-community collaboration (NIH).
|
|
||||||
|
|
||||||
Common Mission & Goals
|
Common Mission & Goals
|
||||||
----------------------
|
----------------------
|
||||||
A strong mission statement is one of the most critical elements to achieve
|
The idea behind openly-developed open source software is to share and work
|
||||||
a healthy open source community. It's imperative to outline a long term vision
|
together on tools and projects that provide solutions to common problems. While
|
||||||
that is focused, but not overly constrained. A strong mission statement helps
|
having a shared challenge is a good start for collaboration, it cannot
|
||||||
define the community values and provides a guide to make decisions and
|
guarantee a stable direction for the community in itself. This is why it is
|
||||||
prioritize activities. It also helps new contributors and adjacent communities
|
crucial to define the common goals for the community and summarize them in a
|
||||||
quickly understand the goals of the project.
|
strong mission statement.
|
||||||
|
|
||||||
Getting the current stake-holders input and buy-in is key to the success.
|
A clear mission statement and goals are essential to create and maintain
|
||||||
Typically a mission statement is developed in the early days of the project
|
balance between contributors, users and the ecosystem around a community. They
|
||||||
when there are fewer contributors, which makes it critical and as a bonus, a
|
should be easy to discover to give a clear view of the community values and
|
||||||
bit easier to have an open discussion and process. Similarly, changing the
|
direction to everyone - established and new contributors, adjacent communities,
|
||||||
mission statement should not be taken lightly, and can be a challenging process
|
users, and so forth.
|
||||||
as the community grows and there are a broader range of perspectives. A good
|
|
||||||
example of this process came from the Zuul project. Project leaders first
|
It is important to spend time on making the mission statement and goals as
|
||||||
drafted example mission statements in an etherpad [#f1]_, which was circulated
|
clear and simple as possible. In addition, the community can also define a long
|
||||||
to the public mailing list for feedback and new ideas [#f2]_. The list of
|
term vision which describes the target they would like to reach. The vision can
|
||||||
ideas from the etherpad was then put to a Condorcet vote [#f3]_ for the same
|
serve as big picture to provide guidance for actions and decisions. However, as
|
||||||
group of contributors, and the result was: "To provide software and processes
|
both technology and the challenges are changing rapidly, it is worthwhile to
|
||||||
|
revisit the mission, goals and vision periodically to ensure they are still
|
||||||
|
accurate and update them if necessary.
|
||||||
|
|
||||||
|
This step should be completed while the community is in the forming phase, as
|
||||||
|
getting input and buy-in from everyone who is motivated to participate is key
|
||||||
|
to long term success. The advantage of developing the mission statement in the
|
||||||
|
early days is having fewer contributors who need to reach consensus through an
|
||||||
|
open discussion and process. As the community grows and evolves the process of
|
||||||
|
updating the mission statement and goals should also follow the same open
|
||||||
|
procedures, even if it seems harder at first.
|
||||||
|
|
||||||
|
A good example to explore is how the Zuul community worked and agreed on their
|
||||||
|
goals and mission. Project leaders first drafted example mission statements in
|
||||||
|
an etherpad [#f1]_, which was circulated to the public mailing list for
|
||||||
|
feedback and new ideas [#f2]_. The list of ideas from the etherpad was then put
|
||||||
|
to a Condorcet vote [#f3]_ for the same group of contributors to choose the
|
||||||
|
variant that resonated with most, which was: "To provide software and processes
|
||||||
to automate continuous integration, delivery, and deployment of interrelated
|
to automate continuous integration, delivery, and deployment of interrelated
|
||||||
software projects in a secure manner using project gating."
|
software projects in a secure manner using project gating."
|
||||||
|
|
||||||
Effective Governance & Leadership
|
Effective Governance & Leadership
|
||||||
---------------------------------
|
---------------------------------
|
||||||
Any group needs some form of governance. Governance is the set of rules that
|
When you are working together with a group of people you will soon need
|
||||||
the group follows in order to address issues and make decisions. Open source
|
processes and governance to ensure smooth collaboration and operation.
|
||||||
projects are just another group, so they need governance in order to avoid
|
|
||||||
decision apathy. There needs to be a place where the buck stops, with a clear
|
|
||||||
strategy in place to how to solve problems before they arise.
|
|
||||||
|
|
||||||
It is tempting, especially amongst tech people, to start with no rules and to
|
Governance is the set of rules that the group follows in order to address
|
||||||
make them up as you go along. This is anarchy as a form of governance, and a
|
issues and make decisions that affect the whole community or some of the
|
||||||
community formed under the absence of rules will naturally resist later
|
sub-groups and to avoid decision apathy. Governance can also help to resolve
|
||||||
organization, as something they did not sign up for and resent.
|
any conflicts and help reaching consensus where needed. In addition, having
|
||||||
|
formal bodies in a community to guide and deal with technical and community
|
||||||
|
related issues these bodies can also help with coordinating cross-community
|
||||||
|
outreach and interactions.
|
||||||
|
|
||||||
It is also tempting to crown the project's initial creator as the "benevolent
|
While you cannot anticipate all challenges that the community will need to
|
||||||
dictator for life". That can work well, until the dictator becomes less
|
overcome and every governance body that they will need over time, you should
|
||||||
interested in the project or sadly disappears, at which point the project
|
still encourage your community - that you are a part of or supporting - to put
|
||||||
enters governance limbo (as evidenced by the Gentoo and Python examples) with
|
a basic structure in place. This can help to avoid anarchy where you can hit
|
||||||
no clear way forward. Or worse, engages in unchecked toxic and abusive behavior
|
big road blocks and obstacles if you try to create an organizational structure
|
||||||
that drives away contributors who aren't "tough enough" to handle the it.
|
later as the community is starting to grow. The governance bodies should evolve
|
||||||
|
and grow with your community over time.
|
||||||
|
|
||||||
A base framework for an Open Community governance would balance 4 basic rules:
|
There are multiple models to choose from and you can find examples to these
|
||||||
|
within existing communities.
|
||||||
|
|
||||||
|
Projects often start as a one-person endeavor with no need of governance, and
|
||||||
|
from there can naturally evolve into a collaboration on which the initial
|
||||||
|
project creator retains full authority and become "benevolent
|
||||||
|
dictator for life" (BDFL) [#f5]_. You can look into the Linux kernel, as an
|
||||||
|
example to the BDFL model. Even though the Linux kernel became very successful,
|
||||||
|
this model has many risks that you need to take into account. If the project
|
||||||
|
leader loses interest or has another reason to leave the community, it can
|
||||||
|
enter governance limbo with no clear way forward and challenges to make
|
||||||
|
decisions the community agrees with (you can see the Gentoo or Python projects
|
||||||
|
as examples). The leader can also engage in toxic and in some cases abusive
|
||||||
|
behaviors that is hard to control and will affect existing contributors and
|
||||||
|
make it hard to on-board newcomers.
|
||||||
|
|
||||||
|
The solution to avoid the drawbacks of a BDFL model is to create governance
|
||||||
|
bodies, which are diverse groups within the community, that are responsible to
|
||||||
|
help and guide the community to work towards its mission to achieve its goals.
|
||||||
|
|
||||||
|
To build such framework, you should consider the following four rules:
|
||||||
|
|
||||||
Contributor-driven bodies
|
Contributor-driven bodies
|
||||||
It is critical that the people contributing code, documentation,
|
People who are active participants of the community are the best skilled and
|
||||||
usage experience, mentoring time or any other form of contribution to
|
positioned to become stewards. By building the governance bodies from the
|
||||||
the project are aligned with the leadership of the project.
|
project contributors, you can ensure that they are representing the community
|
||||||
|
that remains aligned with the leadership of the project.
|
||||||
|
|
||||||
Without contributor-driven bodies, leadership and contributors
|
Without contributor-driven bodies and leadership, contributors will most
|
||||||
gradually drift apart, to the point where the contributors no longer
|
likely gradually drift apart, to the point where they no longer feel like
|
||||||
feel like their leadership represents them, making the disruptive
|
their leadership represents them. This can lead to making the disruptive
|
||||||
decision to fork the project under a new, contributor-aligned
|
decision to fork the project under a new, contributor-aligned governance,
|
||||||
governance, generally leaving the old governance body with a
|
generally leaving the old governance body with a trademark and an empty shell
|
||||||
trademark and an empty shell to govern.
|
to govern.
|
||||||
|
|
||||||
Allowing for replacement
|
Allowing for replacement
|
||||||
Nobody should be appointed for life, as life will change people.
|
Nobody should be appointed for life. Processes should allow to revisit the
|
||||||
Contributors should regularly be consulted, and the governance should
|
governance bodies and elect new leaders and group members from the community
|
||||||
generally encourage turnover.
|
by the community on a regular basis that is well publicized. This ensures that
|
||||||
|
new views and ideas are brought into the project leadership.
|
||||||
|
|
||||||
|
It can also help to avoid the burning out established leaders as well as
|
||||||
|
encouraging new contributors to join and maintain the project if they have the
|
||||||
|
opportunity to become one of the leaders over time.
|
||||||
|
|
||||||
Distinct groups call for distinct governance bodies
|
Distinct groups call for distinct governance bodies
|
||||||
If a community is made of disjoint groups with little to no overlap
|
As a community grows it often ends up having disjoint groups with little or
|
||||||
in membership, and those groups all need decisions to be made, then
|
no overlap between them. For example, these groups can be project teams, who
|
||||||
they probably need to each have their own governance body at that level.
|
work on different services that make the end product of the community. These
|
||||||
|
project teams usually need a project leader and a stable group of people who
|
||||||
|
ensure quality work and efficient processes around that team and service.
|
||||||
|
|
||||||
|
Every group that is mainly standalone within a community needs to have its own
|
||||||
|
governance body at that level.
|
||||||
|
|
||||||
Avoid vanity governance bodies
|
Avoid vanity governance bodies
|
||||||
There is no point in having a governance body where there is nothing
|
In order to keep balance, the opposite of the former rule also applies. You
|
||||||
to govern and no decision needed. Not every group of people in a
|
should avoid overloading a community with governance bodies which typically
|
||||||
community needs a governance body.
|
results in making the community slower and less efficient. Once a community
|
||||||
|
has an initial framework it needs to be carefully revisited if all the
|
||||||
|
governing bodies are useful and necessary or if there is a need for a new
|
||||||
|
group for an area that is yet uncovered and therefore not operating
|
||||||
|
efficiently. The opposite is also true as there is no point in having a
|
||||||
|
governance body where there is nothing to govern and no decision is needed. It
|
||||||
|
is crucial to keep balance to focus on helping the community to operate as
|
||||||
|
opposed to drown in heavy and complicated processes or have a governance body
|
||||||
|
just for people to hold power.
|
||||||
|
|
||||||
There is no one-size-fits-all implementation of these basic rules that would
|
There is no one-size-fits-all implementation of these basic rules that would
|
||||||
work for any project. The size of the project is a critical difference.
|
work for every project. The size of the project is a critical factor to take
|
||||||
Sometimes a multiple-level structure to properly balance autonomy and
|
into consideration, where larger communities may call for a multiple-level
|
||||||
consistency.
|
structure to properly balance autonomy and consistency.
|
||||||
|
|
||||||
We generally recommend using regular elections using a ranking vote mechanism
|
Choosing the project stewards could also be a challenging task, but there are
|
||||||
(Condorcet, STV...). Condorcet is known to favor consensual candidates over
|
popular ways to build the governing bodies. When a community is forming and
|
||||||
faction candidates. Staggered elections (replacing half the seats at each
|
people don't necessarily know each other yet, it can be hard to make a decision
|
||||||
election) ensures some leadership continuity. Limits in the number of seats
|
that involves the whole community. A common practice is to appoint the first
|
||||||
potentially held by employees from a single organization are usually a good way
|
group or groups of leaders from the people who launched the project.
|
||||||
to sidestep governance gaming.
|
|
||||||
|
After a first term -that often spans from 6-month to a year- when the community
|
||||||
|
is operational they are most often switch to an election-based process to find
|
||||||
|
new members to the governance bodies. Popular choices to make:
|
||||||
|
|
||||||
|
- Use a ranking vote mechanism (Condorcet, STV...)
|
||||||
|
- Condorcet is known to favor consensual candidates over faction candidates
|
||||||
|
- Staggered elections (replacing half the seats at each election) ensures some
|
||||||
|
leadership continuity with the opportunity to introduce new members and
|
||||||
|
refresh the group
|
||||||
|
- Limits in the number of seats potentially held by employees from a single
|
||||||
|
organization are usually a good way to sidestep governance gaming
|
||||||
|
|
||||||
Governance bodies should ideally only make consensual decisions, but when that
|
Governance bodies should ideally only make consensual decisions, but when that
|
||||||
proves impossible and a decision needs to be made, a formal vote should be
|
proves impossible and a decision needs to be made, this can be resolved by
|
||||||
held. It's useful that the body has an odd number of members to avoid having to
|
holding a formal vote. You can also consider having odd numbers of members in
|
||||||
give anyone a tie-breaking specific power.
|
the governance bodies to avoid having to give anyone a tie-breaking specific
|
||||||
|
power.
|
||||||
|
|
||||||
Some of the things that indicate a healthy community are:
|
Diversity & Inclusiveness
|
||||||
|
-------------------------
|
||||||
|
Open source practices are all about open collaboration without limits and
|
||||||
|
boundaries, but it's much easier said than done.
|
||||||
|
|
||||||
Diversity & inclusiveness
|
A community has to be an inclusive and safe environment to participate in for
|
||||||
Nowhere are the three forces (developers, users, ecosystem) more
|
everyone, regardless of their circumstances and characteristics, such as
|
||||||
important than when dealing with diversity and inclusiveness.
|
gender, sexual orientation, disability, physical appearance, body size, race,
|
||||||
|
nationality or religion. In order to create such environment, you need to
|
||||||
|
create and maintain a culture within the community, which requires work and
|
||||||
|
conscious effort from the very beginning. And along with culture and human
|
||||||
|
behavior, the community also needs inclusive processes.
|
||||||
|
|
||||||
Providing an inclusive and safe experience for everyone, regardless
|
There are several steps that you can take to create a friendly, welcoming and
|
||||||
of gender, sexual orientation, disability, physical appearance, body
|
accessible environment for everybody no matter who and where they are. This
|
||||||
size, race, nationality or religion is not only critical to the
|
section mentions a handful of these for you to consider to apply in the
|
||||||
health of the entire open source community, it's something that must
|
community you support or participate in.
|
||||||
be considered at the beginning of a project.
|
|
||||||
|
|
||||||
Code of Conduct
|
Code of Conduct
|
||||||
A code of conduct may not seem necessary as your community is getting
|
+++++++++++++++
|
||||||
its start. However, creating a path for conflict identification and
|
While we all expect people to bring their best behavior and intentions, there
|
||||||
resolution at the start can head off issues before they balloon out
|
are cases when people's actions and interactions go beyond a limit and become
|
||||||
of control and alienate valuable contributors and community members.
|
harmful. The community needs to be able to define their standards to state
|
||||||
Make the code of conduct a carefully crafted, but also prominent, part
|
their values, rules and expectations with regards to how people are expected to
|
||||||
of the larger strategy to be inclusive and diverse. The OpenStack
|
behave and treat each other. The document that describes these items is called
|
||||||
Foundation initially adopted the Ubuntu Code of Conduct when
|
a Code of Conduct.
|
||||||
establishing its own.
|
|
||||||
|
|
||||||
The first lesson learned is the enforcement policy is equally as important
|
While it may seem self explanatory, and, with that, unnecessary to have from
|
||||||
as the code of conduct. We did not put enough thought into how it was
|
the launch of the project, it is a crucial step and serves as the foundation to
|
||||||
applied or enforced across our various community events and activities.
|
create the open and inclusive culture and environment that is desired for every
|
||||||
Delaying the resolution process while your leadership consults legal
|
open source community.
|
||||||
experts and attempts to come to a solution can be more damaging than the
|
|
||||||
violation itself. Having a clear path to enforcement and resolution sends
|
|
||||||
a strong message to the community that you have thought through the process
|
|
||||||
and are looking out for their best interest.
|
|
||||||
|
|
||||||
Representation? A few years into the project, we worked with the
|
There are several well-crafted Code of Conduct documents that you and your
|
||||||
community, including the Diversity Working Group, to publicly
|
community can use as a basis to create your own with giving recognition to the
|
||||||
document an enforcement policy. Again, we looked to another
|
original document. As an example, portions of the Open Infrastructure
|
||||||
successful open source community, Python and PyCon, as a basis for
|
Foundation's Code of Conduct were derived from the PyCon Conference Code of
|
||||||
our policy. This policy gives anyone who wants to report an issue a
|
Conduct.
|
||||||
clear call to action and sets expectations for how it will be handled
|
|
||||||
and gives the Foundation staff a clear process to follow and removes
|
|
||||||
the emotion from the process.
|
|
||||||
|
|
||||||
Check the health of your community as you go. Do you have something
|
To take this a step further, defining your values and expectations is not
|
||||||
similar to the following?
|
enough without a process to be able to enforce it and report violations. It is
|
||||||
|
very important to address the creation of such process along with the Code of
|
||||||
|
Conduct document. Having a process to report violations in a clear and
|
||||||
|
anonymous way and having a similarly clear resolution path are key to make your
|
||||||
|
community a safe environment for everyone in it. Violating the code of conduct
|
||||||
|
always have emotional implications and therefore being able to resolve the
|
||||||
|
conflict as soon as possible is in the best interest of both the community as
|
||||||
|
well as the individuals involved in the incident.
|
||||||
|
|
||||||
Groups that advocate for minorities: A working group to help ensure
|
Advocacy and Support
|
||||||
projects and teams within the community are following the code of conduct
|
++++++++++++++++++++
|
||||||
and properly representing diverse voices.
|
Having a Code of Conduct and continuously putting effort into creating a
|
||||||
|
friendly and welcoming culture for the project are just the first steps, but
|
||||||
|
they are not necessarily enough to build a truly diverse community. People,
|
||||||
|
especially in under represented groups, can have a hard time when they start to
|
||||||
|
participate in a community that is new to them because of bad experiences
|
||||||
|
elsewhere or just because of being intimidated to join a larger group of people
|
||||||
|
who they don't know.
|
||||||
|
|
||||||
Visible documentation of policies and enforcement
|
Many communities recognized these challenges and contributors are forming
|
||||||
|
groups to put more focused efforts into helping newcomers to join a project as
|
||||||
|
well as to ensure that the community is a safe and friendly environment for
|
||||||
|
everyone.
|
||||||
|
|
||||||
Regular surveys and check-ins with your community
|
The OpenStack community recognized this need early on and formed a group called
|
||||||
|
Women of OpenStack (WOO), where they set it to their mission to help women in
|
||||||
|
technology to become part of this project. The group had a mailing list and a
|
||||||
|
channel on IRC in order to be reachable for anyone in need and they were also
|
||||||
|
meeting on a regular basis to find ways to advocate for women, and help them
|
||||||
|
with their first steps and contributions. While the name might suggests, the
|
||||||
|
group was open for anyone to join, regardless of their gender, who was wanted
|
||||||
|
to participate in reaching the group's mission and goals. The WOO group also
|
||||||
|
organized gatherings at OpenStack and some other events as well to reach out to
|
||||||
|
more and more people in need of their help and support.
|
||||||
|
|
||||||
The strength of the community can be enhanced through education, culture,
|
Over time the WOO group transformed into the Diversity and Inclusion Working
|
||||||
pro-active recruitment, in addition to the processes mentioned above.
|
Group to broaden the group of people to reach out to, as there are many under
|
||||||
|
represented groups in tech who need to find their voices and freedom to be able
|
||||||
|
to do what they are passionate about.
|
||||||
|
|
||||||
Consider that the needs for diversity and inclusiveness extend beyond the
|
Inclusive Processes
|
||||||
normal development community and must be shared with your users and the
|
+++++++++++++++++++
|
||||||
ecosystem at large. Don't assume that you know all of the barriers that your
|
When we talk about diversity it is easy to focus on the bigger movements that
|
||||||
community members may face. Take the extra steps to pro-actively ask them to
|
consider factors like gender, race, religion, and so forth. But being inclusive
|
||||||
identify the challenges they face in trying to contribute and then break down
|
is even broader than that.
|
||||||
barriers to participation whether those barriers are time zones, culture,
|
|
||||||
gender, age, education, etc. Supporting a diverse set of leaders, both
|
|
||||||
geographical and by organization, can help reinforce this participation and
|
|
||||||
will ultimately make for a stronger community.
|
|
||||||
|
|
||||||
Contributor Recognition & Motivation
|
Especially in case of larger global communities, simple things like time zones
|
||||||
------------------------------------
|
and spoken language can prevent someone from participating. It is very
|
||||||
|
important that both the community as a whole as well as individuals in it are
|
||||||
|
conscious about these factors when they build their processes and define their
|
||||||
|
ways to collaborate.
|
||||||
|
|
||||||
An open source project cannot survive without contributors, so it is important
|
To give a simple example, if your community relies on meetings for strategic
|
||||||
for project leaders to motivate developers and find chances to encourage
|
discussions and to make decisions that means that you are excluding all the
|
||||||
them. It could be a mention in the project newsletters or an email sent to
|
people from the decisions making process who are unable to attend these
|
||||||
public mailing lists or blog posts. Another good example could be the Open
|
gatherings for any reason. This violates many pillars of the Four Opens, as the
|
||||||
Infrastructure Community Contributor Awards [#f4]_ which offer recognition to
|
people who are unable to participate in these discussions cannot make their
|
||||||
behind-the-scenes heroes and are nominated at every Summit by other community
|
voices heard and participate and have much less chance to ever rise to
|
||||||
members.
|
leadership positions, even if they are still motivated to do so.
|
||||||
|
|
||||||
Open & Transparent Communication
|
The OpenInfra communities rely a lot on their mailing lists to ensure that the
|
||||||
--------------------------------
|
discussions that concern project teams or the whole community can reach
|
||||||
|
everyone before decisions need to be made. It is a conscious decision to
|
||||||
|
provide enough time and accessible channels for everyone to weigh in regardless
|
||||||
|
of where they are and what is their native language. On top of mailing lists
|
||||||
|
you can also use review tools like Gerrit or GitHub to publish items like
|
||||||
|
design documents or resolutions that you need a decision on. These tools
|
||||||
|
provide the possibility for everyone to read the problem statement, even
|
||||||
|
without creating a user and sign in, and to join the discussion which is also
|
||||||
|
logged to keep a conversation history.
|
||||||
|
|
||||||
Is there anything more emblematic of the modern work-force than attempting to
|
Diversity is also represented in the ways how people can contribute. Even when
|
||||||
solve the problem of day-to-day communication? Open source communities face
|
we talk about software development communities, not everyone is a software
|
||||||
standard issues of isolation due to remote work, time zone variations, travel,
|
developer who participates. You need documentation for the project, a website
|
||||||
and so on. There is typically no home office for teams to meet face-to-face in.
|
where you can share information, people who report issues with the software,
|
||||||
Conversely, remote tribes of team members can work together on a project, but
|
speak at or organize events and many other things that are not about code
|
||||||
in the same physical office space, creating friction amongst other team
|
development, but essential for the long term success of your project. If you
|
||||||
members.
|
only focus on and favor the technical contributors, the community will not be
|
||||||
|
an inclusive place anymore to a lot of people whose knowledge and experience
|
||||||
Highly transparent communication is imperative to help bridge these barriers to
|
are key.
|
||||||
a healthy community. Open communication channels (mailing list, IRC or slack,
|
|
||||||
web-site) not only help to document decisions, but enable new contributors to
|
|
||||||
catch up and get involved with the community. Providing a set of open source,
|
|
||||||
and internationally available, tools will aid collaboration and help build
|
|
||||||
community. OpenStack initially started collaborating with Google Docs, but
|
|
||||||
ultimately realized that we excluded a large portion of the world where Google
|
|
||||||
products were inaccessible/unavailable.
|
|
||||||
|
|
||||||
Host meetings in a way that can be archived and searched, so that the
|
|
||||||
conversations are accessible to all time-zones and participants who do
|
|
||||||
not speak English as their first language. Internationalization
|
|
||||||
(translation, tool choices like google docs, time-zones), in general,
|
|
||||||
helps foster a more diverse group of contributors.
|
|
||||||
|
|
||||||
Board meetings in particular should be open so that anyone can dial in.
|
|
||||||
Notes/re-cap should be sent out to the community at large via mailing lists
|
|
||||||
within 48 hours of the meeting. At the OpenStack Foundation, the transparency
|
|
||||||
policy for the board developed within the first year.
|
|
||||||
|
|
||||||
In person communication is as important as online. Identify the most
|
|
||||||
accessible way to leverage the community and their channels to share your
|
|
||||||
messaging. This can include local user groups, regional meet-ups,
|
|
||||||
international/national summits, developer mid-cycles. All can be used to
|
|
||||||
further educate and engage your open source community.
|
|
||||||
|
|
||||||
Branding & positioning
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Branding and positioning is an example of collaboration across forces
|
|
||||||
and product definition which includes tools and processes.
|
|
||||||
|
|
||||||
Develop with stake-holders, open to community Some degree of
|
|
||||||
collaboration is useful and necessary, but only to an extent. This is
|
|
||||||
especially true in regards to visual identity since it can be
|
|
||||||
subjective and contentious. Design rationale should be provided to the
|
|
||||||
community to build consensus, but there should be key decision makers
|
|
||||||
to prevent the ideation process from continuing to infinity. Lessons
|
|
||||||
learned with project mascots In an attempt to provide consistency we
|
|
||||||
discovered removed individuality with some projects Slippery slope -
|
|
||||||
Once the projects got them, every small group also wanted their own
|
|
||||||
mascot Upside - These are actually picked up and used regularly by the
|
|
||||||
press and in group events. Critical to develop brand guidelines, to
|
|
||||||
give community guidelines to extend brand beyond internal resources
|
|
||||||
Development of consistent UX to be applied to web-sites,
|
|
||||||
documentation, etc.... This can be tough b/c the needs of the design
|
|
||||||
team don't always mesh with the needs/methods of developers managing
|
|
||||||
properties like documentation. Design must be available as an easy
|
|
||||||
plug in (HTML or javascript snippet) for headers and footers of sites.
|
|
||||||
|
|
||||||
Marketing & Strategy
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Once the initial branding and positioning has been finalized, share
|
|
||||||
with all key stake-holders. The challenge is often identifying the
|
|
||||||
correct channel to ensure everyone is apprised of updates and changes.
|
|
||||||
This may take time, but trying different options and even a
|
|
||||||
combination of a few often helps reinforce the messaging and branding
|
|
||||||
for the maximum impact. Ahead of the start of the year, identify the
|
|
||||||
largest areas of opportunity to increase brand visibility and
|
|
||||||
favorability to create a strategy. After identifying programs, events
|
|
||||||
and projects that can support the strategy, communicate this back to
|
|
||||||
the community, reaching out to the marketing teams at the ecosystem
|
|
||||||
companies directly to participate and provide feedback. This is your
|
|
||||||
biggest opportunity for a ripple effect. Stay apprised of market share
|
|
||||||
and user adoption metrics. Share these metrics openly and broadly,
|
|
||||||
particularly with the ecosystem companies and elected officials who
|
|
||||||
represent the three forces. This can be done in joint leadership
|
|
||||||
meetings, both remote and in person, as well as mailing list
|
|
||||||
newsletters. If the information could be perceived negatively, come
|
|
||||||
prepared with a solution or action plan to increase confidence of key
|
|
||||||
stake-holders. It's important to pro-actively share the negative
|
|
||||||
information when possible to prevent reactionary fear, uncertainty and
|
|
||||||
doubt. Identify key dates and milestones that celebrate the successes
|
|
||||||
of the community. Whether it's specific to a force, like a software
|
|
||||||
release or new case study or specific to the software or community
|
|
||||||
itself, like results in a market report or participation in a
|
|
||||||
supported event. This helps create momentum and rewards the positive
|
|
||||||
community efforts that are impacting another force or even the broader
|
|
||||||
industry. Leverage collaborative opportunities when possible. If the
|
|
||||||
broader market perceptions indicate a confusion around facts that
|
|
||||||
affect one of the three forces, collect the people most affected to
|
|
||||||
identify a way to pro-actively address the problem. An example would
|
|
||||||
be that OpenStack is seen as only a private cloud solution. A Public
|
|
||||||
Cloud Working Group that collaborates to create programs and most
|
|
||||||
recently messaging that will help alleviate the confusion is a
|
|
||||||
response that helps leverage the affected parties to address the
|
|
||||||
overarching issue.
|
|
||||||
|
|
||||||
Events
|
|
||||||
------
|
|
||||||
|
|
||||||
Support upstream developers with dedicated space and events to
|
|
||||||
collaborate and get work done. This includes collaboration within a
|
|
||||||
project and cross-project collaboration. Create a productive event
|
|
||||||
that combines upstream developers with operators so that production
|
|
||||||
challenges and successes can be combined with software road-maps and
|
|
||||||
bug tracking. Create an opportunity for ecosystem companies to
|
|
||||||
interact with operators and developers to educate around available
|
|
||||||
products, gain insights from the market and participate in road-map
|
|
||||||
discussions. Identify gaps in both the community and the overall
|
|
||||||
market and use events as an opportunity to gather content, subject
|
|
||||||
matter experts and adjacent communities to share knowledge and solve
|
|
||||||
problems. OpenStack Days Industry events
|
|
||||||
|
|
||||||
Education & On-boarding
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
The goal is to make the barrier to entry as low as possible. Clear,
|
|
||||||
discoverable and digestible documentation Recorded and real time
|
|
||||||
on-boarding sessions - webinars, f2f sessions at events Suggest
|
|
||||||
training the trainer - creating a toolbox and guidelines to provide
|
|
||||||
to regional community members so they can lead their own on-boarding
|
|
||||||
sessions Documented ways to communicate with seasoned experts / join
|
|
||||||
meetings to accelerate on-boarding. Mentorship programs
|
|
||||||
|
|
||||||
Ambassadors & Meet-ups
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Supporting global communities through user groups, ambassador
|
|
||||||
program, Providing resources & content for events and meet-ups, and
|
|
||||||
setting precedents for those events (branding, content, etc.), while
|
|
||||||
still giving them creative freedom building the relationships first;
|
|
||||||
find leaders outside of the Foundation to foster new user groups
|
|
||||||
leaders; collab sessions at Summits using tools available to all
|
|
||||||
regions community of 90,000; team of 23 (XX ambassadors, 100+ user
|
|
||||||
groups) Collaborating with local leaders to better understand
|
|
||||||
regional differences in the technology choices, use cases and
|
|
||||||
community involvement. Create a way to co-own user group contacts to
|
|
||||||
ease the transfer of ownership if people leave the community or if
|
|
||||||
there are any bad actors.
|
|
||||||
|
|
||||||
Cross-community collaboration (NIH)
|
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
From the very beginning invite other communities and projects to
|
|
||||||
collaborate and participate. In turn actively reach out to engage and
|
|
||||||
participate in other communities to enhance integration efforts. Need
|
|
||||||
examples here
|
|
||||||
|
|
||||||
|
Being inclusive can be very challenging due to a lot of circumstances that a
|
||||||
|
community has to overcome. But it has to be a choice from the first day to
|
||||||
|
create a culture, where inclusivity is a principle that turns into action every
|
||||||
|
day, which includes the processes that the community creates to help them to
|
||||||
|
collaborate without boundaries.
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
|
|
||||||
@ -340,4 +309,4 @@ examples here
|
|||||||
.. [#f2] http://lists.zuul-ci.org/pipermail/zuul-discuss/2018-May/000394.html
|
.. [#f2] http://lists.zuul-ci.org/pipermail/zuul-discuss/2018-May/000394.html
|
||||||
.. [#f3] https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_708e8e18e160cdcf
|
.. [#f3] https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_708e8e18e160cdcf
|
||||||
.. [#f4] https://superuser.openstack.org/articles/open-infrastructure-community-contributor-awards-denver-summit-edition/
|
.. [#f4] https://superuser.openstack.org/articles/open-infrastructure-community-contributor-awards-denver-summit-edition/
|
||||||
|
.. [#f5] https://en.wikipedia.org/wiki/Benevolent_dictator_for_life
|
||||||
|
Loading…
Reference in New Issue
Block a user