<p>When I was young and naive, working on open source project was just
writing code to me. Nowadays, it means much more than that. No doubt,
there are many geniuses in the world, who create so many amazing open
source software projects, but to sustain those projects going forward,
I think we can't rely merely on raw talent. To sustain a project going
forward, there are quite a few intertwining factors -- hence the order
I mention them doesn't really matter.</p>
<p>The first factor is acquiring new talents, building a pool of people
that have the skill and willingness to work on a particular
project. When a project is young and exciting, it's probably not too
hard. But when a project becomes mature, it might be perceived as
uncool and harder to get new talents.</p>
<p>The second factor is having good governance. This is easier said than
done. Having any governance is better than no governance, having
bad governance is detrimental to project in the long run. A good
governance is crucial to enlarging community -- hence important to
both acquiring new talents and users. For open source software this
probably means clear document on how the project is run, the path to
reach the top for the ambitious, clear guide on how to contribute etc.</p>
<p>The third factor is commercial interest. It's absolutely not a shame
to make money from open source software. On the contrary, I would be
very happy to see people use open source software to make money in
ethical ways. On individual level, people need to pay their bills
after all. On organisational level, a company needs return for its
investment.</p>
<p>The fourth factor is tooling. That includes communication channels,
review tools, infrastructure and so on and so forth -- anything that
would affect how people cooperate.</p>
<p>The fifth factor is engaging with upstream and downstream. Work with
them, don't suddenly introduce intrusive / controversial changes or
incompatible breakages. Be nice to them and they will be nice to you.</p>
<p>The project I work for used to suffer quite a bit for lacking
everything I mentioned above. Luckily it survived. But it's not yet
all perfect -- there are quite some annoyances waiting to be fixed in
governance and on boarding new talents. The good thing is that the
community is aware of those road blocks and trying actively to remove
them.</p>
Factors for Sustaining an Open Source Project
上一篇: 54chen的程序人生
下一篇: AutoLayout进阶
网友评论已有0条评论, 我也要评论