大教堂与集市

开源是人类合作、推进开放式创新的重要方式。

公元前 5、6 百年建造古巴比伦塔,可以说是人类第一次有记录的全球性合作尝试。 几千年后的今天,开源正在促进更大规模、更开放创新的全球性合作。

先说说是怎么来的,再说说是怎么没的。– 范伟

image

Unix 之父 Ken Thompson。发明了 B 语言、C 语言。 1969 年,贝尔实验室工程师。Multics, 分时操作系统。又写了一个"star travel"游戏可运行于 Multics 之上。 利用在海边度假的时间,重构了 Multics,这就是著名的 Unix 。

image

image

Unix 最初的几个实现版本都是有版权的,不是开放源代码软件。这让一个当时还在哈佛读书的年轻人看着很不爽,这个人叫 Richard Stallman,大胡子老爹。 Richard Stallman 的黑客名是 RMS,被称为自由软件之父,最后一个真正的黑客。 他是人类历史上写代码最多的几个人之一,是大名鼎鼎的 GCC 编译器之父。 20 世纪 70 年代,软件复制来复制去,很平常。分享打印机解决问题的方案,比如 RMS。 作为比尔盖茨的校友和同龄人,RMS 的梦想是创造一个人人都可以免费使用的操作系统。 他把自己的年轻时光全部都用在了创造一个人人皆可自由获取的操作系统上了,这个系统叫做 GNU,GNU 的目标是做出一个 Unix 的克隆版。 基于 GNU 项目,RMS 创建了自由软件基金会。

image

ERS,埃里克·史蒂文·雷蒙德。

  • 大教堂与集市
  • 如何成为一名黑客

GNU 项目发展了十几年,一个相对完整的操作系统已经有了,只缺少一个组件,也就是操作系统内核,术语叫做 Kernel。而 Linux 就是这个 Kernel。

image

1991年,Linus 还在芬兰上大二的时候,以 GPL 协议发布了 Linux 源码。 严格来说 Linux 只是操作系统的 Kernel,今天我们所说的 Linux 系统,其实绝大部分代码都是来自 GNU 项目的。 Linus 的直男程度,不下于 RMS。他认为看不懂他代码的都是臭傻逼。

Linux 诞生后,围绕 Linux 项目形成了一个大大的社区,基本共识是要为正在腾飞的互联网提供基础设施。 社区里最重要的是两个项目,一个是 Linux 项目本身,另外一个是 Apache Web 服务器。不久 Linux 就成为市场占有率第一的服务器操作系统平台,Apache 则是排名第一的 Web 服务器。

image

徐继哲。 好乐买 CTO。 推动自由软件在中国落地,中国的早期的 Python 布道师。

在自由软件的定义中,维护软件用户的自由是正义的,限制软件用户的自由是非正义的。 自由软件用户的四项自由:

  • 无论用户出于何种目的,必须按照用户意愿,随时随处自由地运行该软件。
  • 用户可以自由地学习并修改该软件,以此来帮助用户完成自己的计算。
  • 用户可以自由地分发该软件的拷贝。fork 一份,就有了分支。
  • 用户可以自由地分发该软件修改后的拷贝。借此,用户可以把改进后的软件分享给整个社区,令他人也从中受益。

开源的本质。是一种具有理想主义色彩的社会运动。 理想主义色彩、都不注重物质生活。

自由软件基金会的确有着相对激进一些的思想,核心体现就是 RMS 提出的 GPL 协议。 GPL 协议的规定是,如果一个人基于 GPL 协议下的软件做了改进,那他也必须把他的代码分享出来。 GPL v3 更激进,增加了更多软件商用的限制,导致自由软件思想的确推广很困难。

自由软件基金会分裂,以 RSR 为代表的这些人出来,想要表达一个对商业世界相对温和的态度,所以他们需要找一个词和自由软件区分开来,Open Source,也就是"开源软件"。

自由软件是开源软件的前身,但这不仅仅是因为自由软件基金会里面有一部分人出来参加到了开源运动中,而是更是因为开源软件社区对 GNU 和 GPL 的继承。

商业软件公司,大教堂。虔诚,安静。 Linux,集市。混沌与分形,不同的计划和方法。

先烈

  • Aaron Swartz。开发了 web.py,一生为了知识共享奋斗,试图让学术论文不再局限于学术圈内,被 FBI 钓鱼,自杀,年仅 26 岁。
  • Adrian Hands。ALS 患者,在去世前 fix 了 GNOME 里存活了 9 年的 bug。
  • Malcolm Tredinnick。Django 核心开发者,2013 年去世。
  • Ian Murdock。Debian 创始人,曾 Twitter 上发布了一系列愤怒的推文,扬言要自杀,在众人的安慰之下,暂时放弃了自杀的念头。

协议、版权 & 法律

较之自由软件,“开源"是道德中立的

开放源代码由 Bruce Perens(Debian 的创始人之一)定义如下:

  • 自由再散布(Free Distribution)。允许获得源代码的人可自由再将此源代码散布。
  • 散布许可协议(Distribution of License)。若软件再散布,必须也使用同一条款。
  • 源代码形态(Source Code)。程序在散布时,必须以随附完整源代码或是可让人获取源代码的形式。
  • 派生著作(Derived Works)。让人可依此源代码修改后,再依照同一许可协议的情形下再散布。
  • 原创作者程序源代码的完整性(Integrity of The Author’s Source Code)。修改后的版本,须以不同的版本号码以与原始的代码做分别,保障原始的代码完整性。 不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups)。开放源代码软件不得因性别、团体、国家、族群等设置限制,但若是因为法律规定的情形则为例外(美国政府限制高加密软件的出口)。
  • 对程序在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor)。不得限制商业使用。
  • 许可协议不得限制其他软件(License Must Not Restrict Other Software)。当某一开放源代码软件与其他非开放源代码软件一起散布时,不得限制其他软件的授权条件,也要遵照开放源代码的授权。
  • 许可协议不得专属于特定产品(License Must Not Be Specific to a Product)。若多个程序组合成一套软件,则当某一开放源代码的程序单独散布时,也必须要匹配开放源代码的条件。
  • 许可协议必须技术中立(License Must Be Technology-Neutral)。不得限制为电子格式才有效,若是纸本的许可协议也应视为有效。

从严格意义上来说,当判断软件是否开源时,首先需要检查的,是它的授权协议,是否符合 OSI 对于开源的定义。 如果看到一个软件,不含任何授权协议的文本,可以确定"这只是一堆代码,虽然可以获得代码,但是不是可以任意使用,都无法明确,更不要说算是开源软件了”。

将 GitHub 上的项目设置为公开并不意味着申明了项目的许可协议。 公开的项目涵盖了 GitHub 的服务条款,它允许 GitHub 的其它用户查看和 fork 项目,但是没有权限参与到项目中来。

使用开源软件和修改开源软件都要遵守游戏规则。 开源软件最基本的游戏规则就是版权和协议。

  • 宽松型 BSD、Apache、MIT
  • 严格型 GPL

协议的选择:

公司角度的开源

做开源,首先需要做的就是开放源代码,提供给公众分享。 这种分享往往是不收取知识产权税的,而且还允许其它程序员、公司、高校或者机构一起来做源代码的改进、分发。 因此,将在开源许可证下开放分享、改进、分发的程序代码,叫做"贡献"比较形象化。而提交贡献的企业、程序员、机构等主体,则称之为"贡献者"。

当人们进行创造性的工作时,默认情况下该作品属于专有版权(copyright)。 也就是说,法律承认人们是其作品的作者,他人在没有经得作者本人同意的情况下,是不能使用作者的成果的。 这意味着没有人可以在没有作者本人授权的情况下使用、复制、分发或者修改作者的成果。

  • 代码"贡献"后仍然有版权。“贡献”(Contribution)是开源软件领域特有的法律概念。

    如果企业不许可,其他人擅自商业使用、修改、分发的,一般情形下仍然会构成侵权,依法应承担法律责任。

    例如,小明写了个小程序。如果小明不开源,其他人不能拿到网络上发布。 因为小明对其开发的计算机程序享有版权,未经其许可,在网络上发布就属于侵权行为,应当承担法律责任。

    需要指出的是,因"贡献"而许可出去的权利,是企业作为贡献者对开源的计算机程序所享有的版权。即开源许可证的权利基础是版权法,包括复制权、发行权、改编权、信息网络传播权等。

  • “贡献"前可以申请软件专利。

    版权法上的"思想”,与人们通常理解的"思想"在内涵上并不等同。 根据法律规定,开发软件所用的思想、处理过程、操作方法或者数学概念等都属于版权法上"思想"的范畴,版权法不提供保护。

    例如,小明为了改进移动计算机设备存储容量,发明了一种利用虚拟设备文件系统扩充移动计算设备存储容量的方法,并写了一个计算机程序来实现。 这里,小明写出来的源代码文本等程序代码属于"表达",受版权保护,小明可以拿来做开源。 程序所体现的方法,即扩充存储容量的方法,是一种实用的技术方案,因为其具有功能性而属于"思想",版权法不保护。 很显然这个方法,才是小明设计的精华,构成小明软件开发的核心价值。 这时,小明会想到将这一方法申请专利,即申请授予涉及计算机程序的发明专利权,合法地垄断这一技术方案的应用市场。

    开源许可证主要依据版权法,规定的是代码的版权权利上复制、修改、分发等事项,并没有禁止"贡献者"在开源前就程序相关的技术方案申请专利。

    一些开源许可证规定了专利限制条款,也表明贡献源代码与申请发明专利并不冲突(Mulan PSL,不禁止申请专利,只限制拿专利权来妨碍公众对源代码的使用、改进、分发)。

如果是开源项目,如果作者没有应用开源许可协议,那么对项目做出贡献的人也将成为此项目的专有版权(copyright)所有者。 另外,项目也可能具有贡献者不知道的许可证要求的依赖关系。 开源项目社区,或者雇主政策也可能要求开发者们使用特定的开源许可协议。

项目可能有依赖。 如果开源了一个 Node.js 的项目,这个项目会使用到一些来自 npm 的库。项目所依赖的这些库都有它们自己的开源许可协议。 如果这些许可协议"允许"(对使用、修改和分享给予公共权限,而对有关项目的许可协议没有要求),这样就可以使用任何想要的许可协议。共同允许许可协议包括 MIT、Apache 2.0、ISC、BSD。 另一方面,如果项目的依赖中有一个的许可协议是"强制的 copyleft"(给同样的允许,但条件是有关项目得使用同样的许可协议),那么项目将使用与之相同的许可协议。copyleft 许可协议包括 GPLv2、GPLv3、AGPLv3。

更换许可协议视为"管理事件":

  • 如果的项目已经有了许可协议。基本上,只要是使用的宽松型的许可协议,版权所有者就可以事先更换许可协议。
    • 如果项目的现有许可证与要更改的许可证兼容,则可以使用新许可证。
    • 如果目前正在使用宽松型的许可协议,则可以更改为具有更多条件的许可协议,只要保留原有许可协议的副本和任何相关的版权声明,即继续遵守原许可协议的最低条件。
    • 如果目前正在使用严格型的许可协议,以及不是版权的唯一所有者,那么不能将许可协议改为宽松型的协议。
  • 项目已经有版权所有者,如果个人是项目的唯一贡献者,然后个人或者公司是项目版权的唯一所有者。可以添加或更换任何被认可的许可协议。

如果是员工为项目的创始人也就是,按照协议,提交到开源代码中的部分立即获得相同的 License。 员工提交代码的行为属于职务行为,也就等于公司贡献了这部分代码,一旦贡献完成是不能撤回的。

公司需要注意:

  • 商业机密。是否有公司不想对外公开的东西。如果有的话,则只能开源项目的一部分,保护好公司的商业机密为第一优先级。
  • 专利。如果申请与开源项目有关的专利,开源会对公司的专利进行公开披露。
  • 商标。如果将自己公司的商标用于项目,请检查它有没有造成冲突。
  • 隐私。开源项目是否收集了用户数据并存储到公司的服务器。

Elasticsearch License:

  • 大部分目录采用宽松协议
  • 个别目录采用公司协议

达到"代码可以免费用,但是不能拿去商业化"的目的:

  • 限制用户仅能用于学术、研究或类似非商业用途。
  • 软件为按现状提供,不提供保证,且不为用户使用产品担责。
  • 用户因使用软件造成损失的,应当赔偿。
  • 用户在特定条件下(具体见附件)可对软件进行修改,同时取得免费使用、修改及分发其修改后软件的许可
  • 如需商业化使用,需与另行签署 License 协议

在中国,目前"貌似能够"保护开源软件的,是两部法律:《著作权法》与《计算机软件保护条例》,但是在这两部法律中,都没有明确的开源软件的定义。

价值 & 收益

开源社区的贡献者,都是有国际主义精神的一群人,一定程度上是世界公民。

一种观念,不管这种观念正确与否,是如何作用于现实,并且改变现实的。

针对个人

  • 帮助他人,反哺社区
  • 建立社区,结识朋友,寻找志同道合的人
  • 寻找认同感
  • 分享知识、想法
  • 学习如何去构建一个产品,验证 idea 是否可行
  • 展示个人能力,建立个人品牌
  • 赚钱
  • 获得面试邀请,猎头/hr

开源不是一个零和游戏,可以在帮助别人的同时,帮助自己。 开源不是闭门造车,可以与千万的程序员交流并获得反馈,在交流与反馈中可以进一步提高项目质量。

针对公司

  • 工程师文化
  • 社会公益
  • 树立品牌形象,增加技术影响⼒
  • 吸引人才,发掘潜在员工
  • 战略武器
  • ⼩企业对抗⼤玩家的杠杆
  • 通过开源免费做⼤⽤户基数
  • 尝试商业模式
  • 组成⽣态

开源不是一个商业模式,而是一种开发模式。

外包的理想模型。做好需求分析,做好系统的概要设计,把每个模块的业务范畴与接口细化下来,以此作为外包边界。 相当于只留了架构师团队,实现完全交给了别人。

众包,它以开源这样一个形态出现。 从分工角度,开源的核心思想是让全社会的程序员共同来完成一个业务系统。

开源这种形态,注定了它只能做大众市场。 如果一个业务系统它的受众很少,就比较难通过开源获得足够的外部支持。 开源对信息科技的影响极其巨大,它极大地加速了信息科技前进的进程,是全球共同精诚协作的典范。

跨组织的分工与协作。

回归本质

黑客伦理 + 新教资本主义 ➡️ 自由软件 ➡️ 开源文化

1.为什么国外的开源文化要比国内的好 2.为什么不愿意捐赠每天使用的开源项目,却会给主播刷礼物/游戏买会员

社会环境很重要。

意识是具有多样性:

  • 反商业化
  • 搭便车
  • 狂热

解决问题,创造价值。 通常,那些最有突破性和最有创新力的解决方案来自于你认识到你对问题的基本观念是错的。

反公地模型。 长期放牧,会破坏土壤。 过度使用与预期不明确。

  • 打破常规
  • 孵化创新

质疑:皇权 + 神权?

廉价的即时满足/延迟满足

看主播,100 元打赏,小姐姐管你叫老公。 玩游戏,100 元会员,称霸全服。

捐赠给开源项目,连个声响都没有。

交换经济/礼物经济

  • 雇佣关系是很典型的交换经济。
  • 打赏发礼品是很典型的礼物经济。

交换经济意味着资源充足。 礼物经济意味着资源稀缺。 礼物经济远远胜过交换经济。

自我的问题。 黑客,即抵制这个模型 不愿意承认自己行为的驱动力来至于对声望的自我满足。 美国人对自我,通常持有否定态度。

开源,在最先开始吸引一拨人。 一旦有参与者能从中赚到利益的时候,参与者就更多了。

一些人以一种开放的方式在一起协作,共创某种东西,这就可以称之为开放式组织。

社会运动

开源也是一种社会运动。一个信仰值打造的过程。

技术从来都是由社会改变的驱动。 社会动力学?

Linux is communism,是微软用来攻击 Linux 的时候用过的标语。 Linus 说:虽然我自己不觉得,但是你们非叫我社会主义者,那我就是了。

  • 人与人协作方式的革命
  • 最小共识与快速迭代

项目之间、人之间、人与项目之间,形成了一个共识。

开源的多样化。 文章也发 Github?文章也上链?

区块链是开源运动的下一步?

人人平等/精英治理

  • 人人平等是在一个开放式的组织里,每一个人都有机会,也有渠道,也完全可以公开地发表自己的意见建议。
  • 精英治理是这个组织最终会采纳谁的意见,本质上是由精英决定的。

在开源社区里面,会有两类/三类人,一类人叫做 contributor,另一类人叫做 committer,也可能会有 maintainer。 contributor 就是那些贡献者。 committer 是来决定是不是接受贡献者的贡献的那些人。

所谓的精英,是那些在这个项目的早期,贡献最多的人,他们变成了 committer 。 后面来的只能先当 contributor。贡献得越来越多,越来越好,大家认可你的能力、你的声望。于是你也有机会变成 committer。

开源可以起源于任何地方

  • 在芬兰的宿舍 Linux
  • 在美国的一所大学 Apache
  • 在中国的最大的电信运营商 ONAP

开源是不是一种共产主义?

image

开源,更像是"联机思考"。

产品 & 运营

产品

开源项目的初始动机虽然来自于少数人的洞见,但是持续保持洞见并不是一件容易的事情,这就是为什么很多技术团队或者产品团队容易"自嗨"。 好的软件作品,往往源自于开发者的个人需要。

从群众中来到群众中去。 一旦脱离用户,极易出现这样的问题。 ⽤户的⼝碑是最核⼼和最重要的传播手段。

先独裁,成型之后,需要项目管理委员会。 哪些需求该做是普遍需求,哪些是伪需求坚决不做。

来自用户的好主意。

如何衡量开源项目的商业价值。可能需要从产品本身出发。

运营

越被传播、使用和快速迭代,通过开源产生的价值越高。 反之亦然。

开源同样被罩上了道德的光环。

  • 贵在坚持,开源只是第一步。不回 issue 就是不处理,不更新就是 KPI 项目。
  • 夹带私货。曲晓音,run the world。

尽量不带政治色彩。社区参与者来自世界各地五湖四海,文化/习惯迥异,但在代码面前人人平等,这是一个基准。

image

开源项目的态度

  • Redis 会作者主导。
  • Kubernetes 会很开放,教你改。

开源社区的运营:

  • 制定规则,规则制定者、参与者、追寻者
  • 金字塔型的社区
  • 宣传,洗脑,⽂章、会议介绍
  • 计算参与者的贡献
  • 激励、吸引、回报参与者
  • 保障项目质量
  • 协调一致的工作
  • 在社区里平等、高效地协商
  • 明确用户预期。
  • 限制信息摄入 issue。正面/负面的比例是非常失真的。

自给自足(文化、创新、技术、经济、政治) 自下而上 + 自上而下

生态的层次:

  • 生态系统(Ecosystem)
  • 群落(Community)
  • 同资源种团(Guild)
  • 物种(Species)
  • 生物体(Organism)
  • 基因(Gene)

开源生态 → 开源技术栈的上下游,软件供应链。

基金会

不少公司把开源当做 KPI 或者是技术宣传的手段。为了开源而开源。 Apache 的项目绝大多数都是公司出资来雇人做。这和国内绝大多数人的情况有所不同,他们大多是自发的来做一个项目。

孵化器不会根据技术问题执行过滤,因为基金会尊重和建议各种技术方法,甚至会允许在功能上重叠的项目之间进行内部的相互竞争。

大部分情况下设计思路还是被核心的 maintainer 主导的,如果是他们思路上出了问题,那基本上是救不回来的。

  • 大量提交代码。Kubernetes 华为。
  • 花钱、推项目倒逼基金会。K3s。
  • 花钱进社区。

关键角色:

  • 推荐人
  • 社区大使

利益体大于一切,服务于利益体。

  • 进基金会。阿里。
  • 做基金会。腾讯。

OpenResty 与 APISIX

商业化

互联网的繁荣至少有一半应该归功于放开对知识成果的版权保护限制的这种文化。 知识共享(Ceative Commons)协议。互联网上大量的用户创作内容实际上是遵循的这一协议。促进了内容与知识的产生于发展。

专利是压迫劳动者的工具,并不是鼓励创新。

1.开源不等于免费 2.起决定作用的不是情怀/精神,而是背后的市场规律。

  • 免费软件时代。 开源始于 70 年代中期。 学术界和业余软件爱好者中流行的风气是:开发出软件,免费提供给大家使用。当时还没有商业模式的概念。

  • 支持和服务时代。 随着 Linux 在 1991 年的到来,开源对于企业来说变得越来越重要,并且被证明是开发核心软件技术的更好,更快的方法。随着越来越多的基础性开源技术的涌现,开源社区和企业开始尝试商业化。 在 1998 年,开放软件促进会(Open Software Initiative)创造了"开源"这个术语,大约在那个时候,第一个真正的开源商业模式诞生了,它是随着 RedHat 和 MySQL,以及许多其他在免费软件的基础上提供付费支持和服务的公司一起出现的。

  • 软件即服务(SaaS)和开放核心时代。 21 世纪。 云计算打开了一扇窗口,允许公司以开源方式运行"软件即服务"(SaaS)。 云上集中托管,并提供完整的周边服务。

  • 提供技术支持及咨询服务,RedHat。

  • 托管,IaaS、SaaS,AWS。

  • 核心代码开源,商业版套件收费,Neo4j。

易用性

1.推送开源发展的主要因素是商业因素。 2.企业开源,不是一种道德行为,而应该是一种商业行为。

  • 德鲁克的观点,一家公司的存在是因为解决问题而创造了市场
  • 弗里德曼的观点,一家公司就是为股东提供回报而存在

商业发展三大支柱:

  • 项目
  • 产品
  • 价值

社区契合度:社区质量和项目对开发人员的吸引力。 市场契合度:下载和使用数量。 商业契合度:客户愿意付费的价值所在。

  • 存量市场。中国互联网。
  • 增量市场。世界互联网。

RedHat

  • Bob Young 时代。品牌管理为主,一提到 Linux,就立马想到 RedHat。
  • Matt Szulick 时代。RedHat 定位转型为做服务,企业版 RHEL 诞生。RedHat 又推出了针对开发者的社区版本 Fedora。收购 JBoss,并以此再提供企业级的中间件。
  • Jim Whitehurst 时代。大刀阔斧的变革,致力于解决用户的问题。私有云、混合云、安全、物联网、人工智能。

RedHat 卖的不是开源代码,卖的是让用户安心使用开源代码的能力。

开源项目的生命力来自于场景的垄断,而背后更本质的垄断是人才垄断和理念垄断。

实际上开源项目本质上是通过放弃一部分通过信息不对称产生的潜在利润,换取了极其高效的传播和场景触及效率。 但是有意思的是,实际上牺牲掉的这些潜在利润大概率也不一定真的牺牲掉,一来可能本身付费能力有限,二来可能实际上这些用户通过传播或者代码贡献等方式回馈了项目本身。

项目的价值取决于它解决了什么问题,创造了什么价值,而不是开源与否。

AWS

AWS 的大数据发展比较复杂,不仅充分利用 Hadoop 生态圈壮大了自己,而且推出了一些特色化服务。它既有对大数据发展作出里程碑式贡献的一面,也有利用了大数据圈的技术大量"插管吸血"却并不回馈社区的一面。

Dynamo 论文发表之后,据说在亚马逊内部掀起了轩然大波。 很重要的一个原因是,AWS 传统上是不发表自己的核心技术的。 虽然说 AWS 有全世界最好的编译和软件部署系统阿波罗(Apollo)和最好的版本控制系统巴西(Brazil),但是外界对于 AWS 到底是怎么实现这些东西的并不知晓。 亚马逊基本上是完全不公布的政策,而 Dynamo 显然打破了这个规则。

把已成熟的开源社区产品拿过来,在内部做二次开发,以便能够在亚马逊的云端很好得运行。 然后,就没有然后了。 亚马逊并不会给开源社区贡献自己的核心代码。

Google

Google 是最具美国精神的公司。

美国精神,利己精神。America First。

Google 保证技术优势的情况下,会公布一部分内容给业界,带动业界的发展,但都是过时的。(三驾马车、容器调度系统) 给人洗脑,站在道德制高点,是让 Google 的各种垃圾和技术受到热捧的主要原因。

开源 → 公平 → 市场总值固定

  • 竞争者,分蛋糕
  • 缔造者,做蛋糕

市场总值是可以被创造,是动态的。 除了分蛋糕份额,更有效的方式是把蛋糕规模做大。

Google 的开源商业模式,就是把蛋糕做大的过程。

TensorFlow 背后是华人,而不是 Google。

黑暗森林

  • 宇宙各文明的信息具有非完全性,未曾茶君彼此的存在,也不确定能否被对方首先察觉。(越高级的文明越要谨言慎行)
  • 各文明绝认为宇宙中的生存安全是稀缺的。(越高级的文明拥有越多的资源)
  • 较低等级的文明能够产生技术大爆炸,有可能赶超较高等级的文明。(有杠杆可以撬动)
  • 宇宙物质文明的总质量守恒。(市场总值确实是固定大小的)

从来都是向死而生的

Cloudera,资本利用率极低。29 个组件,18 个自研开源。 Mulesoft,融 1 块钱赚 5 块钱。

开源及数字基础设施层的项目,是热门赛道。

开放式组织

传统式组织,自上而下:

  • 做什么。指挥控制,中央规划。
  • 怎么做。层级架构。
  • 为什么。升值和薪酬

开放式组织,自下而上:

  • 为什么。激发热情,培育参与度。
  • 怎么做。新材而治,激发思想火花的闪烁。
  • 做什么。催生包容性决策制定。

一些源于目标。 自发的目标。让每个人都可以卖力的工作,并且降低了人才流失率。 领导者的作用,启发思考,培育积极的投入精神。给予员工创新的空间和想象的空间。

招募热情饱满的员工。 有进取心/没进取心。充值信仰,建设理念。 为成功而组织,精英制度优于民主制度。 试图通过政策和流程,减少失误,反而会浪费时间成本和人力成本。 领导者的作用,提升员工参与度,认可员工,公开认可重大努力,或者重大贡献。

多重角色。创造积极的精英制度,对于有双重技能的员工,必须把管理工作定位成一个与其他技能平行的职业道路。 彼得原理。每个员工都希望不断升值,直到被置于一个自己无法胜任的位置。

思想碰撞,坦诚相见。 激发争论,健康的辩论很重要。而不是制造矛盾。 吸收同事的集体智慧,是一个积极的,不间断的过程。 想方设法让员工表达出他们的想法,并消除阻碍坦诚相待的问题。 领导者的作用,扫除合作的障碍。

做出透明的决策。 问题下推,群策群力。 流程公开透明,并得到反馈。 决策越慢,收效越快。

奈飞文化准则:

  • 只招收成年人。 企业用奖金来激励员工,如果你工作取得怎么样的成绩,就可以得到相对应的奖励。用福利奖金来设立企业奋斗目标,就像哄小孩一样,可以通过奖励让孩子取得进步,但永远不能通过奖励让孩子取得成功。 所以从组织一个团队的时候,就要尽量组织一个单纯渴望成功的团队,真正能打仗,能通过胜利获得自己实现的队伍。
  • 要让每个人了解公司的业务。 管理者越是多花时间把工作任务、挑战和竞争环境告诉每一个人,每一个基层员工便越能具有高层的视角,获取足够多的信息,去解决正确的问题,去成长和提高。 企业总是需要创新,创新的举措怎么至上而下的成为整个团队的共识,就需要员工以管理者的角度去看待每一个环节,双向沟通很重要。 用自己的技能来衡量看到的问题,企图用自己的方式去解决问题,这是错误的,要学会合理的借势。
  • 绝对坦诚。 给予他人的反馈是针对行为的,而不是笼统的给他人定性,把每一个转型变成了自己的机遇。
  • 只有事实才能捍卫观点。 数据本身不带有观点,人们经常把数据当成了答案,实际是对数据的解读,而不是更好的解决问题的基础。
  • 现在开始组建你未来需要的团队。 新招聘的人不是为了解决现在的问题,而是为了把团队带向未来。 发展到一定程度的时候,就需要招聘拥有更好的解决问题能力的人,更需要考察的是他们解决未来问题的方式方法。 作为员工需要不断进化才能适应成长型的公司,有些人是永远无法成长成未来组织中的高绩效者,只有主动让他们离开,然后持续搜寻新的人才,继续将团队绩效提升。
  • 员工与岗位的关系,不是匹配,而是高度匹配。 人才保留不是团队建设的目标,而是要看这个人才是否高度匹配他的岗位。 伟大的工作与福利无关,团队需要的是内驱力,为成功而奋斗的人,而不是为了福利而奋斗的温馨家庭。 并不是每个岗位都需要爱因斯坦,每个岗位只需要适合这个岗位的员工。
  • 按照员工带来的价值付薪。
  • 离开时要好好说再见。

高敬业度和高绩效无关。

开源有国界

  • 孟晚舟败诉
  • 香港国安法通过
  • 美国威胁取消香港行政区特惠待遇
  • 美国禁止相关学校与专业学生赴美留学与交流,严控 OPT

Apache PMC 有少量国人。 CNCF TOC 只有一位国人。

image

没有芯

  • 鲲鹏、Atlas/昇腾
  • Ampere

技术是一方面,生态也很关键。

关于美国出口管理法规(EAR)

在开源的世界里,开源平台发挥着数据仓库、项目托管、版本控制及代码发现的生态系统作用。 GitHub、码云均为开源平台。

GitHub:

  • GitHub 规定,GitHub 网站、企业服务器以及用户上传的产品、信息可能受贸易管制法规包括 EAR 的约束。
  • GitHub Terms of Service 规定,除适用法律另有规定外,用户与 GitHub 之间的本协议以及对网站或服务的所有访问或使用,均受美国联邦法律和加利福尼亚州法律的管辖,但不包括冲突法的规定。
  • 用户与 GitHub 同意位于加利福尼亚州旧金山市、县的法院的专属司法管辖权并作为法院地。

码云:

  • 用户协议规定,本网站内容及本使用条款的解释和适用均适用中华人民共和国法律,由于使用本网站而产生的一切纠纷,除另有约定,均由中华人民共和国(奥思网络所在地)人民法院管辖。

公司/社区/基金会想要所有的贡献者明确接受贡献者条款,或者因为觉得只有开源许可协议还远远不够,这时候就需要贡献者协议(CLA)做为补充。

CLA 通俗的说就是放弃代码专属权及相关权益,代码归公司/社区/基金会所有。

大多数的开源项目,一个开源许可协议可作用与所有贡献者和用户。 贡献者协议有时被认为对项目社区不友好。他们也增加了人们参与社区的障碍。

如果个别项目美国采用 EAR 进行约束,只会限制某个 version 之后的使用,即当 License 发生变化的时候不会覆盖发布之前的版本, 已经发布的软件协议无法被更改,目前已经拿到该软件的人怎么用都是合法的。

即使项目有 CLA,Apache、Free Software Foundation、CNCF 这些基金会,要么注册地不在美国领土,要么是属于 501 的 Nonprofit organization。

同时,Apache、CNCF 基金会中,有一些具有话语权的 Member 是国人。

所以,最大的影响即是实体名单里的公司的员工,不能给个别开源项目"贡献"代码。

HashiCorp 事件

https://www.hashicorp.com/terms-of-evaluation

HashiCorp 创始人的解释,就是用了 Vault 模块,没有采用国密标准,所以他们认为不适合中国使用,怕承担法律责任。