我会将这个问题,转换成另一个问题:什么样的人会被称为开源“大牛”?按照最简单的礼物原则:贡献最大的人,赢得最高的社区声望。这个原则可以分解为以下几个要点:
贡献是什么?
但是,这其实没有回答“技能水平”的问题。因为开源领域是动态的,复杂演化的,大多数人的技能结构,是由大小不同的散点构成的稀疏网络,而且这样的技能点同样也在不断的变化中。传统的,技能等级认证的思路,也许不适合用来评价开源人才与开源技能水平。
我对于当前的教育现状并不太了解,只能泛泛而谈。目前的教育,很少会在计算机人才教育、软件人才教育之外,单独讨论开源人才的教育。在不同的高校,有一些开设了开源通识课程,或者特定的开源操作系统、开源数据库之类的课程,但是缺乏对于“开源人才”教育,有意识的关注和培育。
另一方面,开源人才的培育其实又很简单,“游泳池就在边上”,只要将绝大多数的计算机教育、软件工程教育、以及各种相关学科的教育,都放在社区里进行,基于开源软件进行,使教育过程开源化、教育共同体社区化,就可以了。所以,在国外的相关教育,也并没有特别强调这方面,只是开源的成分很高而已。
至于开源人才的评价,已经如上所述,不再展开。
最大的建议,就是进入社区,在社区中学习,在社区中成长。
对于在校学生,老师的作用非常重要,能够鼓励学生到社区去,能够邀请社区的大牛到学校里来,善莫大焉。
本质上,还是要改变评价机制。学校往往会注重培养系统性的能力,企业往往会注重培育专业的能力,但是在开源社区里,往往培养形成的能力是散点状的。评价单一技能点没有意义,全面综合评价又非常困难。除了上面提到的OpenRank可以做到一部分评价之外,人性化(非量化)的评价,也是必不可少的部分。
比如:社区负责人的推荐信,是否有一定的含金量?
比如:从一个社区的普通贡献者,成长为Committer,是否有含金量?
比如:GSoC、中科院开源之夏这样的比赛,获得优胜奖,是否有含金量?
如果以上这些评价,都有不错的含金量,我们又能够认可更多(10~100倍)的社区、比赛的公信力,那么这些员工、老师、同学,就会更多的投身到社区中去。
另一方面,则是企业的招聘条件中,现在已经有越来越明显的趋势,关注应聘者的开源社区资历,这个趋势也应该继续推动加强。
开源领袖与顶级开源项目,是互相成就的。越是成功的开源项目中的核心贡献者,越是有可能成为整个开源社区的领袖。从顶层设计来说,如何帮助更多的开源项目,取得社区成功+商业成功,可能才是正确的解法。
这就回到了在中国,如何通过开源基金会更好的孵化开源项目的问题了。
另一方面,开源社区就是人与人的连接,让更多优秀的人才,更加方便的聚到一起,才能够产生更好的聚合效应。从这个层面来说:打造开源人才高地,开源人才聚集地,就是另一个正确的解法。
这就回到了在中国,有哪些城市,以及这些城市如何吸引开源人才,聚集开源人才的问题了。
以上的两个问题,都可以看美国的例子。为什么在美国诞生了那么多顶级的开源项目?为什么在美国聚集了那么多顶级的开源人才?甚至原本是其他国家的人,最后都会到美国去定居?
一方面是发展带来的机遇(这个我们也有)
另一方面是宽松带来的吸引力(这个我们要增强)