1、开源技术发展分析与开源法则技术创新,变革未来101了解开源提供源代码提供源代码自由传播自由传播允许二次创作允许二次创作平等对待所平等对待所 有用户有用户许可证随代许可证随代 码传播码传播技术中立技术中立2开源开源 开开放放开开源源 无限授无限授权权黑客英雄黑客英雄(1950-1950-6060)企业化企业化(1970-20101970-2010)社会化社会化320102010- -创业公司创业公司科技巨头科技巨头1.0 技术支持&订阅服务2.0 基于开源的商业版3.0 SaaS新兴:生态成熟:互通4全球有全球有3535家超过家超过1 1亿亿 美元的开源商业公司美元的开源商业公司羊毛出在猪身上羊
2、毛出在猪身上“开源软件是知识产权的癌症开源软件是知识产权的癌症”- 微软第二任CEO史蒂夫鲍尔默“微软爱开源微软爱开源”- 微软第三任CEO萨提亚纳德拉5中间件中间件数据库数据库操作系统操作系统Web服务器服务器Tomcat市占率第一市占率第一 应用集成应用集成Kafka市占率第一市占率第一开源数据库开源数据库185个个 商业数据库商业数据库175个个,Linux:100%的超级计算机市场的超级计算机市场 82%的智能手机市场的智能手机市场数据来源: enlyft 、W3techs,DB-Engines,Linux基金会官网6人工智能人工智能大数据大数据云计算云计算7HadoopSpark F
3、linkOpenStackKVMKubernetesTensorflowCaffe kerasTensorFlow拥有拥有6万多万多Fork数,数,位位居同居同类类型第型第一一;Caffe和和Keras在在 学术界和工业界得到广泛应用,三学术界和工业界得到广泛应用,三者者稳居稳居深深度学度学习习库的库的前前三名。三名。2025年全球年全球Hadoop市场预计市场预计6708亿美亿美元元;Amazon的的EMR、谷、谷 歌的歌的Dataproc、阿里云的、阿里云的E-MapReduce、Azure的的HDInsight, 均选择基于均选择基于Hadoop构建构建。2019 年年 84 的公司在生
4、产中使用容器的公司在生产中使用容器 ,其中,其中78%的用户使用的用户使用Kubernetes进行进行容容器集器集群群管理。管理。数据来源:market watch ,CNCF调查报告等之前是个人兴趣驱动的之前是个人兴趣驱动的现在多以个人名义的企现在多以个人名义的企业业行为行为82019年,Github托管项目数1.4亿个,比2018年上升44%。预计2026年,将达到3亿个。9我国自发开源项目涵我国自发开源项目涵盖盖全栈技术领全栈技术领域域10个别项目已具有一定国际影响个别项目已具有一定国际影响力力11我国企业对开源的应用,稳定上我国企业对开源的应用,稳定上升升121302开源生存法则贡献者
5、和使用者贡献者和使用者人人机机料料法法环环代码托管平台、开源组成分析工具代码托管平台、开源组成分析工具等等基础物料是源代码基础物料是源代码 社区的管理办法,项目的社区的管理办法,项目的 开源许可证等开源许可证等开源社区开源社区14Community Over Code判断一个公司的开源项判断一个公司的开源项目目,是真开源还是是真开源还是KPI的核的核心心指标指标15开放型许可证是最基本开放型许可证是最基本的的类型类型,用户用户可可以修以修改改代码代码后后闭源。闭源。 常见的开放型许可证主常见的开放型许可证主要要包括包括:MIT、BSD、Apache等等如果一个软件包含该协如果一个软件包含该协议
6、议下部下部分分代码代码,完全完全发发布时布时某某些部些部分分必须必须适适用用 该许可证,其它部分可该许可证,其它部分可在在其它其它协协议下议下发发布。布。常见的弱传染型开源许常见的弱传染型开源许可可证主证主要要包括包括:LGPL、MPL、EPL等等传染型开源许可证明确传染型开源许可证明确修修改版改版本本须以须以同同一许一许可可证发证发布布,如,如果果一个一个软软件件 包含该协议下部分代码包含该协议下部分代码,完全完全发发布时布时必必须作须作为为整体整体适适用该用该协协议。议。常见的传染型许可证主常见的传染型许可证主要要为为GPL开放型开源许可证开放型开源许可证在传染型开源许可证要在传染型开源许
7、可证要求求的基的基础础上,上,强强传染传染型型开源开源许许可证可证要要求使求使用用 开源软件提供云服务时开源软件提供云服务时也也必须必须提提供源供源代代码。码。常见的强传染型开源许常见的强传染型开源许可可证主证主要要为为AGPL弱传染型开源许可证弱传染型开源许可证传染型开源许可证传染型开源许可证强传染型开源许可证强传染型开源许可证16确认使命招募团队划分小组制定社 区内部 流程管理和 跟踪工 作进展建立公 开有效 的沟通处X 理x x x 冲x x 突聚集人气发起活动社区治理企业口号企业招聘确立部门企业规 章制度管理制 度邮箱 电话管理制度市场宣传市场活动开源17企业“三重一大” 制度开源运营
8、的模式开源运营的模式基金会基金会VS企企业业18基金会主导模式基金会主导模式(LiLin nu ux x模式)模式)企业主导模式企业主导模式(AndroidAndroid模式)模式)知识产权托管运营资金赞助专职运营人员管理机制自治企业主导社区成员构成多元单一生态控制力弱强是否以盈利为目的V项目性质开源“伪 开 源 “开源的财务开源的财务Apache基金会收入情况会员会费个人捐赠社区运营基础设施服务宣传品牌管理社区活动法律服务Apache基金会支出情况19自己为什么要开源?自己为什么要开源?在开源前,业务方和项目负责人首先应对自身的项目和所处环境有充分的了解,并根据需要,与相关人进行沟 通,根据
9、实际情况来制定具体的开源 策略。在开源前,应保证所有代码的来源可查,根据引用的第三方资源列表,应 对这些资源或源代码的开源许可证有 足够理解,保证对其的使用符合其开 源许可。泄漏用户隐私和商业秘密的情况;确认已经解决已知的安全漏洞;确认引用的第三方资源和软件;判断软件的使用在开源许可证等方面是否合规;在专利、商标、著作权、用户隐私等方 面,确认项目的开源与使用没有侵犯他 人权益。业务评估业务评估合规审查合规审查技术评估技术评估20影响市场格局?卖更专业的软件? 获得程序员好感?项目开源,要走的流项目开源,要走的流程程开启项目运行维护关闭项目确定托管平台确定名称与logo选择许可证制定行为准则编
10、写项目/贡献说明确立组织架构贡献接受制度代码发布制度 项目辅导制度和激励机制版本更新管理开源社区管理告知社区成员完成项目归档21组建管理团队组建管理团队项目经理工业时代工业时代安全顾问法律顾问宣传人员22引入开源代码时,要注意的风引入开源代码时,要注意的风险险违约风险知识产权风险 商业秘密兼容性风险 安全风险 管制风险开源是风险的转移,没有了中间开源是风险的转移,没有了中间商商赚差价赚差价背锅。背锅。23企业做开源治理,是刚企业做开源治理,是刚需需SAST开源组成分析开源组成分析私密信息识别和泄 漏防护安全测试/渗透测试运维风险度量漏洞管理DAST Scan制品扫描提前制定安全需求242503灵魂拷问让一大批平庸的程序员,可以仅靠优化代码和参数,就貌似很优秀。让一大批不入流的软件公司,仅靠对源码的封装或换 皮肤,闭源后就貌似“完全自主研发”的了。26闭源软件开源社 区版软 件开源服务商可能基于 社区版封装可能复制部分开源社区代码自研软件27现成的开源软件,不香吗?与开源系统,如何兼容互通呢?如果连开放的源代码都无法“学懂、弄通、做实”,无法按自己的意愿维护和升级。你能让我相信,有能力自主开发出类似的软件吗? 这好像,驾车不行,不怪自己,只怪车太狡猾了。28请批评指正!请批评指正!谢谢!谢谢!