苹果|开源(open source)是什么?为什么要开源?

苹果|开源(open source)是什么?为什么要开源?

文章图片

苹果|开源(open source)是什么?为什么要开源?

Open source 从字面上理解仿佛是 “开放源代码” , 但是实际上“开源”其实远远超出了对于源代码本身是否可访问与否的定义 , 它包括授权机制(许可证) , 治理机制 , 以及一些社区运营甚至开源商业模式相关的内容 。 如果仅仅讨论源代码可访问的话 , 我们一般称其为 “Source Available” 。

要理解这个问题 , 我们要回顾一下开源的历史 。 “Open Source” 的出现需要先提到 “Free Software” 。 在软件发展历史的早期 , 绝大多数的商业软件是只售卖二进制的可执行程序的 , 并不会让源代码对用户可见 。 源代码当时是被当成软件的核心价值跟秘密的 。 某种程度上来说 , 对于当时的软件开发者来说 , 这是一种对软件知识产权的保护 。 也正是由于知识产权对软件的保护 , 带来了早期软件行业几十年爆发式的发展 , 并且也出现了微软、Oracle等等一系列成功的商业软件公司 。
计算机的『大脑』是CPU , CPU只能执行机器代码 , 但是机器代码是二进制的0-1序列 , 差不多是这么个样子 。

而常人是无法读懂这些机器代码的 , 而人能读的代码 , 是类似这样的 。

开源到开放式组织
领导力便 , 当我们在组织中开发一个软件应该时是以职权影响力 , 为核心构建的:而开源方式 , 则是以职权影响力构建的
社区的美国人都可以提出自己的意见 , 你可以sayNo , 但是美国都可以提出意见 , 就这一点来说 , 对于大部分国内公司说是一种挑战 , 大部分的领导希望听到统一声音 , 论组织内多样性的重要
简单来说 , 大家想来就可以来 , 想做就可以走 , 所以开源的难点就在于:如何吸引人来到参与开发
【苹果|开源(open source)是什么?为什么要开源?】尽管大部分项目都是围绕着个人 , 团队的中心化开放组织 , 如linus至于Linux , 但是开源还可能变成一个中心化的组织 , 如Node.js 的IO.js出走事件 , 根据开源协议 , 人们可以很容易派出新的项目