TranslateProject/sources/tech/20171115 Why and How to Set an Open Source Strategy.md

121 lines
9.1 KiB
Markdown
Raw Normal View History

2017-12-03 19:36:22 +08:00
Why and How to Set an Open Source Strategy
============================================================
![](https://www.linuxfoundation.org/wp-content/uploads/2017/11/open-source-strategy-1024x576.jpg)
This article explains how to walk through, measure, and define strategies collaboratively in an open source community.
_“If you dont know where you are going, youll end up someplace else.” _ _—_  Yogi Berra
Open source projects are generally started as a way to scratch ones itch  and frankly thats one of its greatest attributes. Getting code down provides a tangible method to express an idea, showcase a need, and solve a problem. It avoids over thinking and getting a project stuck in analysis-paralysis, letting the project pragmatically solve the problem at hand.
Next, a project starts to scale up and gets many varied users and contributions, with plenty of opinions along the way. That leads to the next big challenge  how does a project start to build a strategic vision? In this article, Ill describe how to walk through, measure, and define strategies collaboratively, in a community.
Strategy may seem like a buzzword of the corporate world rather something that an open source community would embrace, so I suggest stripping away the negative actions that are sometimes associated with this word (e.g., staff reductions, discontinuations, office closures). Strategy done right isnt a tool to justify unfortunate actions but to help show focus and where each community member can contribute.
A good application of strategy achieves the following:
* Why the project exists?
* What the project looks to achieve?
* What is the ideal end state for a project is.
The key to success is answering these questions as simply as possible, with consensus from your community. Lets look at some ways to do this.
### Setting a mission and vision
_“_ _Efforts and courage are not enough without purpose and direction.”_   John F. Kennedy
All strategic planning starts off with setting a course for where the project wants to go. The two tools used here are  _Mission_  and  _Vision_ . They are complementary terms, describing both the reason a project exists (mission) and the ideal end state for a project (vision).
A great way to start this exercise with the intent of driving consensus is by asking each key community member the following questions:
* What drove you to join and/or contribute the project?
* How do you define success for your participation?
In a company, youd ask your customers these questions usually. But in open source projects, the customers are the project participants  and their time investment is what makes the project a success.
Driving consensus means capturing the answers to these questions and looking for themes across them. At R Consortium, for example, I created a shared doc for the board to review each members answers to the above questions, and followed up with a meeting to review for specific themes that came from those insights.
Building a mission flows really well from this exercise. The key thing is to keep the wording of your mission short and concise. Open Mainframe Project has done this really well. Heres their mission:
_Build community and adoption of Open Source on the mainframe by:_
* _Eliminating barriers to Open Source adoption on the mainframe_
* _Demonstrating value of the mainframe on technical and business levels_
* _Strengthening collaboration points and resources for the community to thrive_
At 40 words, it passes the key eye tests of a good mission statement; its clear, concise, and demonstrates the useful value the project aims for.
The next stage is to reflect on the mission statement and ask yourself this question: What is the ideal outcome if the project accomplishes its mission? That can be a tough one to tackle. Open Mainframe Project put together its vision really well:
_Linux on the Mainframe as the standard for enterprise class systems and applications._
You could read that as a [BHAG][1], but its really more of a vision, because it describes a future state that is what would be created by the mission being fully accomplished. It also hits the key pieces to an effective vision  its only 13 words, inspirational, clear, memorable, and concise.
Mission and vision add clarity on the who, what, why, and how for your project. But, how do you set a course for getting there?
### Goals, Objectives, Actions, and Results
_“I dont focus on what Im up against. I focus on my goals and I try to ignore the rest.”_   Venus Williams
Looking at a mission and vision can get overwhelming, so breaking them down into smaller chunks can help the project determine how to get started. This also helps prioritize actions, either by importance or by opportunity. Most importantly, this step gives you guidance on what things to focus on for a period of time, and which to put off.
There are lots of methods of time bound planning, but the method I think works the best for projects is what Ive dubbed the GOAR method. Its an acronym that stands for:
* Goals define what the project is striving for and likely would align and support the mission. Examples might be “Grow a diverse contributor base” or “Become the leading project for X.” Goals are aspirational and set direction.
* Objectives show how you measure a goals completion, and should be clear and measurable. You might also have multiple objectives to measure the completion of a goal. For example, the goal “Grow a diverse contributor base” might have objectives such as “Have X total contributors monthly” and “Have contributors representing Y different organizations.”
* Actions are what the project plans to do to complete an objective. This is where you get tactical on exactly what needs done. For example, the objective “Have contributors representing Y different organizations” would like have actions of reaching out to interested organizations using the project, having existing contributors mentor new mentors, and providing incentives for first time contributors.
* Results come along the way, showing progress both positive and negative from the actions.
You can put these into a table like this:
| Goals | Objectives | Actions | Results |
|:--|:--|:--|:--|
| Grow a diverse contributor base     | Have X total contributors monthly | Existing contributors mentor new mentors Providing incentives for first time contributors | |
| | Have contributors representing Y different organizations | Reach out to interested organizations using the project | |
In large organizations, monthly or quarterly goals and objectives often make sense; however, on open source projects, these time frames are unrealistic. Six- even 12-month tracking allows the project leadership to focus on driving efforts at a high level by nurturing the community along.
The end result is a rubric that provides clear vision on where the project is going. It also lets community members more easily find ways to contribute. For example, your project may include someone who knows a few organizations using the project  this person could help introduce those developers to the codebase and guide them through their first commit.
### What happens if the project doesnt hit the goals?
_“I have not failed. Ive just found 10,000 ways that wont work.”_  — Thomas A. Edison
Figuring out what is within the capability of an organization — whether Fortune 500 or a small open source project — is hard. And, sometimes the expectations or market conditions change along the way. Does that make the strategy planning process a failure? Absolutely not!
Instead, you can use this experience as a way to better understand your projects velocity, its impact, and its community, and perhaps as a way to prioritize what is important and whats not.
--------------------------------------------------------------------------------
via: https://www.linuxfoundation.org/blog/set-open-source-strategy/
作者:[ John Mertic][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://www.linuxfoundation.org/author/jmertic/
[1]:https://en.wikipedia.org/wiki/Big_Hairy_Audacious_Goal
[2]:https://www.linuxfoundation.org/author/jmertic/
[3]:https://www.linuxfoundation.org/category/blog/
[4]:https://www.linuxfoundation.org/category/audience/c-level/
[5]:https://www.linuxfoundation.org/category/audience/developer-influencers/
[6]:https://www.linuxfoundation.org/category/audience/entrepreneurs/
[7]:https://www.linuxfoundation.org/category/campaigns/membership/how-to/
[8]:https://www.linuxfoundation.org/category/campaigns/events-campaigns/linux-foundation/
[9]:https://www.linuxfoundation.org/category/audience/open-source-developers/
[10]:https://www.linuxfoundation.org/category/audience/open-source-professionals/
[11]:https://www.linuxfoundation.org/category/audience/open-source-users/
[12]:https://www.linuxfoundation.org/category/blog/thought-leadership/