NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

不要被“假开源”所迷惑

  • 2013-12-18
  • 本文字数:1888 字

    阅读完需:约 6 分钟

Simon Phipps 是一位在开源领域经验丰富的领导者,早在上世纪八十年代就参与 ISO 标准的制定,目前他是独立的开源顾问。Simon指出,近来人们进行大量尝试去定义开源模型——甚至是新许可——这些行为限制了除了项目“发起者”外的所有人的自由,相反这些项目发起者因拥有软件的全部权限而获利。支持者们认为他们可以在不提供给所有人同样的软件权限的同时产生一个含有采用、贡献的网络效应。

Simon 认为这些新许可是自欺欺人,他分析了开源的声明周期:

我参加各种开源项目的时间已经长于十年了。我还记得整个学习周期:很惊喜最终用户可以免费使用开源软件,发现针对于各个开源项目并涵盖开发者、测试者、撰写者、部署者的讨论社区,很震惊有时候会在某些项目中与竞争对手合作等。每个人都会经历这个发现过程,这个过程对应福勒的个人成长模型“信仰的阶段”。

初涉开源软件的新手们往往为可以免费使用好用的、完整的、良好维护的开源软件而惊喜。一些人认为这是因为他人无私的“将自己的工作成果免费提供给别人”。有些人甚至认为这是因为某些开发者天真善良。事实上,一个商业领袖总结了对抗开源软件对他的业务带来威胁的最有效方式——“寄生手段”:“当一个开源软件做的足够好之后,我们就把它拿来用。”

但开源软件可以免费给最终用户使用并非是因为开发者的慈善或者天真。Simon 指出,开发者需要解决所有版权可能带来的问题才可能保证程序员协作开发软件成功进行。面向最终用户零收费的许可是提供开发者间的自由的条款带来的副产品。

开源促进会 (Open Source Initiative) 依据开源定义制定的开源许可实现了合作的自由。一个组织完善的开源社区为所有参与者提供同等的权利,这样的开源社区产生网络效应。网络效应带来大的软件占有率,并激励用户和开发者。但这种网络效应依赖于每个人拥有以任何目的使用软件的自由——去研究、修改源代码、发布源代码、发布修正版代码,这些行为都不需要任何人的审批。

“假开源”最终会失败,Simon 认为,限制自由同时追求网络效应的行为是自欺欺人的。这种要求也是不现实的。某些人貌似达到了这种目的,但这是暂时的——社区成员很快意识到自己并没有享有同社区创始人一样的自由,于是网络效应会很快随之衰落。

现在,也有些所谓的“开源软件”,有开发者定期地修改它们的框架,但这些开源项目的发起人可以从中盈利,而其他社区成员没有这些权利。最近发布的一组提案——“开源最终保障”提案——规定只给过了收益期的软件颁发开源许可。但是,这种提案不会产生网络效应的贡献者。要调动贡献者的积极性,需要让贡献者知道他们和其它人享有同样的权利。

我认为现存的各种不同的、突变的开源理念源自人们在开源项目中未能掌握“自由软件”的作用—— 包括保障使用、研究、修改、发布源代码和二进制代码的权利。那些依然断言“限制自由的同时得到网络效应”的人滞留在了认识开源的初级阶段。想法的确诱人的,但没有相应的软件自由我们永远无法获得网络效应。

说到开源,Cypress North 的创始人谈到了开源项目的另一个问题:“为什么开发者担心将代码公布”,主要存在四个原因

  1. 我的代码还不够好——这是最常见的反应,也许是出于谦虚的态度。几乎每个公布代码的开发者在一开始都会有这样的感受。对于开发者来说,软件是一种在表达能力上非常个性化的表现形式。解决问题的方案是多种多样的,但是你所选择的解决方式可以代表你的个性和技术水平。
  2. 不希望别人非议自己的软件程序——的确,这是另一个很自然的回答。现在互联网就像是一个大熔炉,什么样的开发者都有,有的喜欢藏起来使用匿名,有的程序员喜欢背地里搞点小手段。作为一个程序员,必须要有能够接受批评的心胸。同时,还要能够甩掉心理包袱,把批评当作是一种动力。换句话说,建设性的批评能够帮助开发者快速成长,节省时间去经历更多的经验教训。
  3. 事关安全问题——安全的确是不可忽视的大事,任何需要公布的东西都要考虑到是否会暴露敏感信息或是访问协议等等。如果你认为我们谈论的东西和安全或敏感数据加密有关的话,这里建议你在开发过程中尽可能早些时间公开代码。通过这种方式,将你设计的安全保密方法公布出来,如果你的方法经不起推敲的话,肯定会有一些专业知识丰富的专家帮助你解决问题:尽早的查出程序策略里的漏洞,或者是你根本没注意到的错误。
  4. 拥护自己的技术思想——也许大多数人对现在这个网络世界不是很信任,因此公众对于这方面的担忧达到了一个荒谬的高度。就像有些人大声跟你说:我有一个很好的想法你想知道吗?不过没有保密协议我是不会轻易告诉你的。事实上,没人会偷你的想法,你所做的事情可能已经存在了,或者别人已经开始做了(甚至是开源的)。
2013-12-18 04:152262
用户头像

发布了 501 篇内容, 共 248.3 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

网易游戏实时 HTAP 计费风控平台建设

Apache Flink

大数据 flink 实时计算

架构训练营模块五作业

现在不学习马上变垃圾

架构训练营10期

Github霸榜!竟是阿里技术官的微服务分布式项目实战笔记总结

程序知音

Java 分布式 微服务 java架构 后端技术

各大互联网公司面经分享:Java全栈知识+1500道大厂面试真题

程序知音

Java java面试 java架构 大厂面试题 八股文

软件测试/测试开发 | app自动化测试(Android)--高级定位技巧

测试人

软件测试 自动化测试 测试开发 appium

chatgpt小试牛刀

阿呆

ChatGPT

瑞萨RH850 FCL、FDL和EEL库的配置和使用

不脱发的程序猿

嵌入式 汽车电子 RH850 ​瑞萨

一种前端无源码定制化开发能力专利解读

元年技术洞察

低代码 数字化转型 无源码 元年方舟

混合式APP开发框架

力软低代码开发平台

国家先进计算产业创新(宜昌)中心来了!

SENSORO

人工智能 大数据

模块五计算架构模式

程序员小张

「架构实战营」

C4D和3dmax有什么区别?

Finovy Cloud

3DMAX C4D

架构实战 5 -微博评论高性能高可用计算架构

架构实战营 「架构实战营」

CleanMyMac X2023完整版本MAC电脑系统清理工具

茶色酒

CleanMyMac

2023最新版本水果FL Studio宿主软件安装包下载

茶色酒

FL Studio21

2022年总结及2023年规划:新起点和新希望

不脱发的程序猿

程序人生 年度总结

如何集中式管理多个客户端节点传输任务-镭速

镭速

阿里、腾讯、蚂蚁金服Java技术面试及经验总结(文末分享答案)

程序知音

Java java面试 后端技术 春招 八股文

从零到一,臻于至善|网易邮箱基于StarRocks 开发大数据平台的实践

StarRocks

数据库

MixMIM 创建混合图像,提出新型掩码方案

Zilliz

计算机视觉

架构实战营第 10 期 - 模块五:微博评论高性能高可用计算架构设计

kaizen

「架构实战营」

2022年12月视频行业用户洞察:世界杯后半程看球热度不减,优质IP创新与开发助力用户留存

易观分析

音视频 视频

在人间vpn搭建

阿呆

vpn

推荐几款实用的移动开发平台

FinFish

移动开发 开发平台 移动开发平台 移动端开发 小程序技术

年度技术盘点:水稻、韦伯、脑机接口、AI预测及创作、快速充电

B Impact

运维百家讲坛第 1 期:井源 - 运维几何

龙渊秦五

太狠了,Spring全家桶笔记,一站式通关全攻略,已入职某厂涨薪18K

程序知音

Java spring ssm java架构 后端技术

自动驾驶汽车芯片的发展和分析

不脱发的程序猿

嵌入式 汽车电子 自动驾驶汽车芯片

比亚迪元EV汽车拆解报告

不脱发的程序猿

嵌入式 汽车电子 比亚迪元EV汽车拆解

比亚迪新能源汽车战略布局研究

不脱发的程序猿

汽车电子 比亚迪新能源汽车战略布局 比亚迪新能源汽车

坚持技术or转做管理,我们该如何选择?

石云升

极客时间 1月月更 技术领导力实战笔记

不要被“假开源”所迷惑_社区_崔康_InfoQ精选文章