“开源”是个很大的课题,首先你得确定你是哪一种“开源”。当前的开源,从目的上分为几种:
1. Just for fun 。我觉得这个东西很酷,不管有没有回报,我都希望把这个东西做下去,让有需求或同样欣赏这个东西的人都可以用上这个东西。
2. 赚钱。我希望把在做的开源项目作为自己的部分或全部的收入来源。
3. Star (双关)。像写博客一样,我希望通过开源项目能提高我自身的社会声望,能够实现自我认可,或仅仅是在求职的时候作为自身优势。
4. 工作 KPI 要求。
如果是第 1 种的话,简单来讲就是“道不同不相为谋”,在适当的曝光之后,欣赏的人自然会进入你的社区,不欣赏的人也不必强求。但如果你的项目本身决定了受众群体就很窄,那么也就不要期望能够变得多么火爆,没办法也没必要。
如果是第 2 种,那么这本身就是一个商业行为了,你得像真正的商业项目一样,有盈利模式和营销策略,即便不是直接卖代码或卖程序。举个例子,虽然 Google 开源了 Android,但是深度绑定的 Google framework 是可以赚钱的;虽然 Google 开源了 Chromium,但是伴随的广告业务以及 DRM 技术是封闭且赚钱的。
如果是第 3 种,就和经营艺人差不多了,你得研究大众口味,得寻找合适的曝光机会,要尝试制造时事热点。
第 4 种,我也不清楚该怎么办,找找刷数据的渠道?
国内很多开发者并不真正了解“开源”,以为只要公开了源代码就算是开源,但实际上从上个世纪九十年代的自由软件运动开始,开源社区的发展可行性是有一整套的理论,仅仅公开源代码是不够的,现今的凡是可是续发展的开源社区都有相当专业的团队在进行管理和经营,有些公司和基金会会专门招聘开源项目经理,这也说明开源项目管理已经成为了软件项目管理的一个特定的子领域。