开源项目怎么变成自己的
偶尔会遇到一家公司,试图用现有产品构建一个开源项目。 这是一个细微的问题。 这不是一家拥有以开源许可证发布的项目的公司,该项目试图也要发布相同名称的产品(例如Docker,MySQL),但是这种情况也存在许多相同的问题。 这家公司也不是从开源项目中制造产品,而这些产品是他们贡献但不受控制的(例如Red Hat的RHEL)。 这是一家拥有现有产品收入来源的公司,试图从产品中创建项目。
一方面,这与成功运行良好的开源项目周围的生态系统的正常演化是相反的问题。 早期的项目从工作代码和一小部分提交者开始,目前还没有企业参与者。 如果项目构建良好,则使用量会增加。 如果开发人员可以根据自己的需要使用和修改它,那么贡献就会回流。 这假定该项目的组织和纪律性良好并且执行良好。 然后,在项目的成长和演变中,其他公司希望参与其中。 该项目已经证明自己足够强大,可以发展到一个新的领域。 企业使用是指产品和服务,客户期望以及投入到项目中的专用资源作为回报。 基金会可以解决公司希望解决的IP(知识产权)风险缓解问题,当然前提是项目提交者希望以此方式发展。
Linux是这种增长的典型代表,但是Apache项目显示出类似的增长(例如,httpd,Hadoop),Perl社区,Eclipse和Drupal也是如此。
创建开源项目的价值
将产品带入开源世界需要一种不同的心态,尤其是因为这是一种更加刻意且有机的做法。 通常,创建一个开源项目会为软件本身创造价值。 对于参与者而言,这超出了磨练软硬技能,学习新的工具和问题思考方式的价值。
- 随着经验的增长和新思想的贡献,它可以围绕软件进行创新。
- 如果在这个方向上启用了社区,那么一种审查文化已发现比正式测试发现更多的错误,因此可以提高质量。
- 它使软件可以更快地发展到其他领域,而不会出现中央计划或集中投资的瓶颈(即,一家公司在艰难地选择要发展的市场方面做出了艰难的选择)。
- 通过在新环境中使用对软件进行加固。
- 它为那