写点什么

不要被“假开源”所迷惑

  • 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:152383
用户头像

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

关注

评论

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

实时洞察,精准掌控:观测云在企业监控中的核心优势

可观测技术

监控

OmniGraffle Pro mac破解版(流程图、组织结构图、网络拓扑图、电路图等)

Rose

思维导图 流程图 OmniGraffle Pro破解 OmniGraffle Pro下载

苹果电脑装机必备防休眠工具:InsomniaX for Mac中文版

Rose

MacBook防睡眠软件 InsomniaX for Mac

如何构建高效的 CRUD 应用程序?

NocoBase

软件开发 crud crudapi

AI入门之深度学习:基本概念篇

京东科技开发者

小程序组件与小程序插件的区别

Geek_2305a8

Upgrading Public Safety Networks: Prospects of WiFi7 in Security Surveillance

wallyslilly

ipq9574 IPQ5332

AI在商品计划领域的应用

第七在线

动态之美:Motion 5特效,让视频栩栩如生 mac版

Rose

mac视频后期特效处理 Motion 5破解版 Motion中文版

简析网络安全中的伦理困境与道德守则

我再BUG界嘎嘎乱杀

黑客 网络安全 信息安全 WEB安全 网安

智能监控:超越传统阈值的监控

可观测技术

智能监控

苹果电脑防火墙Radio Silence for mac v3.2激活版 附安装教程

Rose

苹果电脑 mac防火墙 Radio Silence下载 Radio Silence破解版

京东小程序数据中心架构设计与最佳实践

京东科技开发者

怎么用云手机进行TikTok矩阵运营

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok矩阵

跨越边界:京东商品详情API的全球拓展之旅

代码忍者

macOS Big Sur(macos11 正式版)v11.2.3 高速下载版

Rose

AE 2019中文版 after effects破解资源 mac/win

Rose

AE 2019中文版 AE 2019 mac破解版 AE2019安装包 After Effects安装教程

7月新特性 | 软件开发生产线CodeArts发布多项新特性等你体验!

华为云开发者联盟

测试计划 代码检查 企业号 8 月 PK 榜 CodeArts 2024企业号8月pk

实际上手体验maven面对冲突Jar包的加载规则

京东科技开发者

Waves 混音插件 完美破解版 for mac/win 安装包

Rose

Waves 混音插件 Waves破解版

pdf reader pro mac破解版 v3.2.1.0中文激活版 好用的pdf编辑阅读器

Rose

Luminar Neo:不只是修图,更是创意的孵化器

Rose

商品计划管理系统助力企业实现高效决策与资源配置

第七在线

数据分析的关键点有哪些?如何做好数据分析?

Aloudata

数据分析 指标平台 noetl

无缝集成,全域监控:观测云引领企业运维新纪元

可观测技术

运维

Pushgateway:观测云中的实时数据监控解决方案

可观测技术

云原生

观测云:开放透明与知识共享的引领者

可观测技术

文档 开放生态

课件ppt怎么做?3个在线网站轻松制作教学ppt!

职场工具箱

效率 职场 PPT 办公软件 AI生成PPT

24年内蒙古等级保护测评机构看这里!

行云管家

网络安全 等保 等级保护 内蒙古

如何在 K8s 中实现 Pod 原地更新?

小猿姐

数据库 云计算 Kubernetes 云原生

拼多多API接口:通过商品ID获取拼多多商品详情数据接口

tbapi

拼多多商品详情接口 拼多多API 拼多多商品数据采集

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