美文网首页开源工具技巧架构师成长记
不在大厂,该如何从零开始推进开源业务

不在大厂,该如何从零开始推进开源业务

作者: zhanghuicuc | 来源:发表于2019-04-19 20:27 被阅读0次

    越来越多的国内大公司都开始参与到了开源事业中,既是展示公司的实力,又是挖掘优秀人才的一个渠道,更是对社区的反馈。不过,在大公司里,可能都有着成熟的负责开源工作的团队,如果你只是一个小厂里的一线员工或者leader,但是也有着一颗参与开源事业的野心,该如何入手呢?下面是我的一些思路。

    确定开源步骤

    如果是首次参与开源工作,为了降低各种未知风险,需要把这个事情分步来走。

    • 第一步:小范围开源。在公司内部开源,主要开源对象是使用过你们项目的人员,先向他们推广开源,但是我们要限定只供内部使用,不许外传。对应于OpenSource,这个内部开源其实也叫InnerSource,也是这几年很流行的一个概念。 在内部开源过程中我们只是去发现问题,不断完善开源策略,也多听取下相关人员的反应。 在这一步骤的一大难点就是如何调动相关人员的积极性:一方面要调动项目外部人员多多使用、审查我们的代码,另一方面也要调动项目内部人员及时响应外部人员的意见与需求。这考验的就是沟通的艺术了。

    • 第二步:面向社会开源。 经过内部开源的试错与优化后,就可以开始准备真正的OpenSource了。

    注意开源和专利的关系

    无论大厂小厂,都应注意保护自己的专利。开源前,对于已有的代码,务必确保相关的专利已经提交到了专利局;开源后,每次release新代码前,都要确认相关专利已经提出了。

    License

    如何为代码选择开源许可证,这是一个问题。世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。下面这张经典的讲解图一定能帮助你找到答案


    image

    开源代码的细节问题

    目前开源的方式有几种方案可以选择或者组合。

    1. 全部开源。 几乎没有公司能做到把一个内部项目全部开源,毕竟一个商业公司会和一些商业用户有接触,这其中一定会涉及到一些license的问题,或者一些私有化的需求等,都不能直接开源出去。

    2. 将其中的某些模块以库的方式提供。 用库的方式提供出去,无非是不想让别人看到我们的实现,但是呢,这个模块又是一个必备的插件,没有这个模块,整个项目就跑不起来。以库的方式提供可能会让有些人感觉不爽,那么就可以先在内源过程中试试,根据实际情况再做决定。

    3. 部分插件不能向外提供。 如果你的项目中有些模块不能对外,但是在提供给商业用户的sdk中又必须要有这些功能,那么可以这么做:首先把各个模块的注册机制提出来,对外提供接口,在使用开源部分的时候,先把相应的模块注册进去,然后再使用。

    除了开源方式的选择外,还要注意整理确定patch提交的格式\代码风格\命名规则。

    在哪开源

    有两种方式可以选择

    • 主流开源社区的服务器,如github,开源中国等
    • 使用公司内部的服务器进行开源,然后在开源社区中进行clone,这里要注意原有的wiki是否可以迁移,issues是否可以迁移。当然,你也可以考虑要不要做一个项目专属的官网、论坛什么的。

    关注公众号,掌握更多多媒体领域知识与资讯

    image

    相关文章

      网友评论

        本文标题:不在大厂,该如何从零开始推进开源业务

        本文链接:https://www.haomeiwen.com/subject/qeacgqtx.html