上周,Facebook发布了Create React App,这个新项目旨在帮助React开发者快速上手其新项目。Create React App这个新项目只是一个开始,它也成为了Facebook在GitHub上的孵化器的首个项目。
Facebook孵化器是Facebook用于发布开源项目的新流程,用于确保这些开源项目能够长久平稳地运行。我们可以将其看作是Facebook新的开源项目的Beta阶段或是试验场。
Facebook开源负责人James Pearce说,Facebook孵化器的想法在于更好地管理这些项目的生命周期。Facebook目前拥有将近400个开源项目,在GitHub上有数 以万计的粉丝。他说到:“我们希望通过这一计划能够以最具效率的方式管理这些项目”。为了实现这一目标,Facebook决定将大多数新项目加到这个计划 当中,看看社区的反响以及使用率如何。
Pearce强调说,孵化器中的所有项目(就像Facebook顶级仓库中的那些)也在公司内部使用,并且有团队在积极地维护。不要认为孵化器中的这些项目就是质量比较差的项目。
要想从孵化器中顺利孵化出来,项目需要证明自己在社区中的影响力,不过Pearce说到,公司也会考察其他方面。比如说项目有没有人在用?项目文档 质量好不好?将项目集成到其他工具中的难度如何?Facebook与社区的参与度如何?“如果业界对项目产生了共鸣,那就是项目将要孵化出来的一个很好的 信号”,Pearce补充到。
Pearce不止一次强调说文档是非常重要的一个方面,而文档恰恰也是很多开源项目经常忽略的一点。他说,Facebook有一个专门的技术作者团队在从事着这件事(工程师也会一同参与),公司也在考察新的StackOverflow文档服务,用于托管一些文档项目。
虽然孵化器旨在帮助项目沿着正确的轨道前进,但Pearce也强调说孵化器并不仅仅在于优化项目的启动与增长阶段,而是从长远来看要管理项目的完整生命周期。
并不是每个项目最终都会取得成功,Facebook有时也会终止自己曾经开源的项目。虽然我们现在有了孵化器,但这种事情依然还会发生,不过团队显然希望项目在进入到主仓库之前能够纠正存在的种种问题。
Pearce说Create React App是孵化器项目的一个很好的榜样,因为Facebook并不确定社区会怎样看待这个项目,不过他也提到依然会有一些项目会跳过孵化器这一过程。
Pearce说到,“虽然我们发布了React Native,不过我们可能会跳过孵化器这一阶段”。对于Facebook捐献给一些大型组织的项目来说亦如此,比如说Open Compute项目。孵化器本身是没有孵化阶段的,我们希望Facebook这个用于发布开源软件的新系统能够在可预期的未来大展拳脚。