打造软件之木材
软件,即计算机和互联网运行所依赖的程序,自从计算机和互联网问世以来,已成为最常用的商品之一。每个电子设备都运行着软件。软件使得这些事物对我们有用且智能化。现在,软件的许可比以往任何时候都更加必要,使其像用户手中的木材一样,具有灵活性和自由度。
更广泛和更快速地采用免费和开源软件,不仅能使消费者从专有软件巨头手中获得自由,还能使其更加安全、稳定和可靠,从而为开发者提供重要的收入来源。
1. 软件许可与木材有什么关系?
当像我这样的木匠转行成为软件开发者决定取一块木材时,无论是从野外、木材加工厂还是当地的五金店,我都希望拥有艺术许可,用这块木材创作我喜欢的东西。对我来说,重要的是我有权自己使用它,或者自由地将我用它制作的东西卖给任何感兴趣的人。新的所有者现在也有权以任何可能的方式使用所购买的东西,或者将其改造成更独特的东西。如果所有者愿意,他还可以再次将其卖给另一个买家以获利。原始木匠,即我,为我的劳动以及第二个木匠获得了收入。如果木匠 B 只是为了利润而转售原始的木材,消费者有权决定在哪里购买。也许木匠 B 通过将其放在更便利的位置(这可能是在我出售家具的零售店)或涂上定制颜色,使它更容易为消费者获取。但在生产线的任何地方,木材都没有带有标签,表明消费者不能再更改它、出售它,甚至拥有它。
本介绍充当寓言,解释了自由和开源软件(FOSS)许可背后的简单逻辑。转换职业并不会改变我赋予自由的价值。以下的技术解释旨在让您理解所使用的各种名称和缩写。我引用,“开源软件”有时也称为“自由软件”、“自由软件”、“自由/开源软件(FOSS或F/OSS)”以及“自由/自由/开源软件(FLOSS)”。术语“自由软件”有时被误解为意为“免费”,但这在此上下文中并非本意。(“自由软件”中的“免费”指的是自由,而不是价格。)”(马吉安,贾汉)
作为消费者,使用版权软件有许多优势。版权基本上意味着您可以在不更改许可证的情况下自由复制代码,并且任何进一步的代码分发都必须包括适用的许可证。同样,开发者也不会被排除在外,并将从以这种方式许可软件(使其可免费使用、改进和再分发)中获得巨大利益。
2. 代码透明度、安全性、隐私以及幕后的一切
有一些基本自由将软件归类为自由和开源。我们将首先关注第二项自由,特别是A部分。《“研究程序如何工作以及更改它以满足您计算需求的权利(自由1)。访问源代码是实现这一目标的先决条件。”》(斯托尔曼)代码库的透明度对于建立信任和吸引社区合作至关重要。背后的动机是让尽可能多的眼睛查看代码。(埃斯·R)为了真正从自由和开源的目标中受益,需要足够多的测试人员和共同开发者基础,这将带来更加稳定、安全且无错误的代码库。(埃斯·R)
这让我们来到了软件安全和隐私的问题。多年来,一直有人辩论开源软件是否必然比专有软件更安全。答案并不明确,因为许多可能对安全性产生负面影响且开发者无法控制的变量,但像Linux和Apache服务器这样的开源软件项目已经反复证明;当FOSS软件正确完成,并有足够的“人”来踩踏其代码库时,它有潜力成为在日益敌对的网络世界中最为安全的系统。
由于代码对任何人、任何地方都可见的简单事实,透明的代码库已成为更安全解决方案的先决条件。这使得更多的人能够追踪到安全漏洞的来源,问题可以“更快、更有效地被识别、修复和传播”。Updegrove表示,开源软件越来越多地被国防、金融和其他将安全性置于最高优先级的用户所使用。(Updegrove)同样,Mardjan & Jahan发现“…一种趋势,即采用开源解决方案来保护安全和隐私。全球各国政府不能再依赖和信任闭源软件来保护其安全基础设施……因此,用于控制和保护安全和隐私的开源解决方案正逐渐但稳步地成为新的实际标准。”(Mardjan,Jahan)Stefan Thorpe的一篇文章指出:“将高安全性、持续编辑和创新升级添加到开源的协作性质中,你就有了成功的秘诀。尽管有些人可能认为其开放性意味着无法保持安全,但许多人认为相反的情况才是真实的。一群全球程序员能够迅速有效地识别和处理漏洞。”(Thorpe)最后,国土安全部进行的一项研究旨在确定开源是否必然更安全,因为代码库是透明的。研究发现,开源代码对黑客攻击FOSS项目几乎没有吸引力,并且由于“许多安全攻击与源代码无关”,开源软件也不比闭源软件更不安全。(Clarke,Russell,等人30)然而,他们确实发现,开源软件由于涉及的人数众多,为用户和社区提供了“可重用、安全且有效的代码”,从而强化了良好的安全实践。(Clarke,Russell,等人30)
在网络时代,隐私权已经成为一个非常热门的话题,因为它与安全性密切相关。美国权利法案的第四修正案暗示美国政府有责任保护个人隐私。(美宪法修正案IV)类似地,通用数据保护条例(GDPR)旨在保护个人数据的使用和流动。它规定:“个人数据处理中的自然人的保护是一项基本权利。”(GDPR.前言1)尽管如此,那些在计算机和互联网上工作或社交的人每天都会遭受无数隐私泄露的冲击,而这些泄露对无差别的用户来说是未知的。有时为了安全甚至牺牲隐私。2015年9月,防病毒软件提供商AVG更新了其隐私政策,使其更加透明。这样做的结果是,他们基本上清楚地表明,他们通过出售用户(匿名)数据来保持其免费版本免费。(Osborne)不要过多地贬低他们,因为Avast也发表了类似的说法,尽管不够具体,没有提及浏览器和搜索历史数据。(Temperton)
每个人都有保护隐私的天赋权利,这种权利应免受他人和机构出于恶意意图或为了自身利益而过度干预个人私生活的侵害。在《“十四个隐私为何重要的理由”》一文中,Trina Magi通过各种学术论文阐述了为什么你应该关注你的隐私,不仅限于在线生活,还涉及到个人生活的许多方面,因为它影响着你作为个体、你的个人关系以及整个社会。Magi得出结论,除了个人原因,比如保护个人免受过度干预、自我所有权、选择的自由、防止人们因分类而受到伤害等,隐私还有建立和维护健康关系以及支持更加公正、民主和包容的社会的价值。(Magi)。因此,焦点应该转向自由和开源软件,这不仅因为它是一个完美、无bug、无漏洞的选项,而是因为它坚持了一个原则——那就是自由。谈到自由,自由和开源软件“为了这些自由而进行运动,因为每个人都应享有这些自由。有了这些自由,用户(无论是个人还是集体)都可以控制程序及其为他们所做的事情。当用户不能控制程序时,我们称之为“非自由”或“专有”程序。非自由程序控制用户,开发者控制程序;这使得程序成为不公正权力的工具。”(Stallman)
研究自由和开源软件表明,来自自由软件模型和概念的许多好处通常体现在那些具有可信、庞大和充满活力的社区的项目中,这些社区不断努力使项目保持最新、安全并发挥最佳性能。这些项目不仅与专有软件相当,而且在每个层面上都能超越。在Morgan & Finnegan关于开源软件的利弊的探索性研究中,他们采访了欧洲次级软件行业的13家公司。他们的发现被列在表格中,关于质量方面,他们发现“大多数受访者认为质量有益,因为同行评审和开发人员、测试人员的质量得到了提高。两家公司认为这只能应用于顶级、成熟的OSS产品(如Linux)”(Morgan & Finnegan)。
Thorpe总结了你为什么应该选择开源软件的原因
- “安全性:开源软件围绕透明度和广大社区对项目成功的投资进行审查。”
- “高质量代码:由于其协作的本质和缺乏边界,开源项目天生就产生高质量的工作。”
- “自由:与志同道合的人适应、协作和发展的自由。开源是向所有人未来的自由软件迈进的一步。”(Thorpe)
3. 从历史中汲取的下一代学习
回顾历史,我们看到开源运动始于1969年的Unix,它演变成了Linux。自由软件开发史上的另一个转折点是1983年,当时Richard Stallman在与打印机程序发生争执后,提出将软件免费提供给所有人,并启动了GNU项目。Stallman确立了GNU通用公共许可证(GPL)的自由,并开始重新编写Unix,而Linus Torvalds添加了“Linux”内核,这对于硬件和软件之间必要的集成至关重要。这确立了一个重要的协作标准,这是开源软件开发的特点。
如今,开源协作已经进入了一个新的维度。现在,闭源公司需要开始采用开源协作的心态,以保持相关性。一个例子是微软在2018年收购GitHub。微软首席执行官萨提亚·纳德拉表示:“微软是一家以开发者为先的公司,通过与GitHub合作,我们加强了对开发者自由、开放和创新的承诺。”在2019/20财年,微软更进一步。进入了北极代码库。GitHub最新的存档计划,与微软研究院和其他机构合作,于2020年2月2日对每个活跃的GitHub仓库进行了快照,并将其存储在其北极代码库中3,500英尺深处的银盐聚酯上,可保存1000年。微软的“二氧化硅项目”计划将其寿命延长到10000年。在GitHub存档计划的网站上,他们表示:“世界是由开源软件驱动的。我们希望它现在和未来都能进一步推广全球开源运动;为全球开源和开放数据政策的更广泛采用做出贡献”(GitHub)。开源软件不能再被忽视。当代码在接近全球种子库的地方被冻结时,它给出了开源软件与世界珍视的自然资源相比较的另一种图景,两者都极其有价值,同时在使用和机会上又不受限制。
4. 开发者优势
Linux和Apache是开源革命初期的领跑者,由于它们的稳定性和功能性,这些项目仍然是今天使用最广泛的开源项目。由此可以推断,一个项目越早采用开源代码规范,围绕该项目的社区就会越快地增长。随着越来越多的人开始使用特定的开源软件产品,维护适用代码库的激励将会更大。一个例子是Joomla组件构建器(JCB),一个大规模开发方法(VDM)项目,只在几年前出现。它最初是为了加快一家单人企业的Joomla组件开发而进行的内部私有开发。在获得了超越其竞争的巨大优势后,VDM决定将代码开源,以便吸引其他开发者加入,使JCB更加强大。然而,这还不足以在类似组件创作者的海洋中被注意到,没有人真正相信它能够实现承诺。唯一的办法是将代码不仅开源,而且免费,真正意义上的免费。只有这样,一些人才开始关注。(VDM.io)这是作者在开源社区中自己的一个小故事。
在开发和使用免费开源软件时,创新的机遇为开发者提供了艺术自由。“访问源代码促进了更多创新;它产生想法并鼓励技术创新,同时创造了更多创新的机会。”(Morgan,Finnegan)
开源社区欢迎并促进开放学习。由于软件开发是一个永无止境且快速发展的研究领域,维护FOSS项目的社区“通过协作鼓励创新”。(BigCommerce)基于社区的开发给经验不足和新兴的开发者提供了与经验丰富的专家并肩工作的机会,并从他们的专业知识中学习。代码对所有人均开放,为实际操作学习提供了一个教育平台,只有个人的努力将限制对感兴趣的人。
5. 批评者
总会有人批评,其中一些批评甚至是合理的。批评具有强化作用,这一点对免费和开源哲学也是适用的。当存在漏洞时,应该知道并修复它们。没有人需要感到冒犯,相反,代码库会变得更加强大和有弹性。
这里需要解决的一个具体批评是关于当你免费提供作品时,你将如何赚钱的问题。鲍勃·罗布林在转向开源时有了这个认识:“开源与赚钱关系不大,更多的是关于创造一种人们更关心声誉、乐于助人而不是金钱的文化。”(罗布林)同意,但仍然需要吃饭,这个问题有一个明确的答案。自从免费软件诞生以来,其理念从未是它必须免费,而是像解放一样自由。这并不限制机会,反而使开源社区中的机会成倍增加。在VDM,我们开发软件以盈利。代码对客户免费,以便其他开发者可以继续改进软件。VDM运营一个社区项目,实际上是免费的“免费”,但每个使用我们程序的开发者都可以从中获得收入。此外,对项目进行的改进惠及所有人。
6. 结论
为了总结,我们需要再次看看木匠在用木材制作东西时的体验,看看它是否真的符合免费和开源模型。
0. 木匠(或开发者)有权自由地处理木材。
1. 他,这位木匠,可以取木材并研究它,以了解其最佳用途。他可以研究一把木椅的设计,并改变设计以更适合他的需求。
2. 木匠不能在没有制作的情况下分发原始物品的物理副本,但这种限制并没有剥夺他的任何自由。
3. 他可以分发他的椅子副本。另一位看到并研究他的椅子并从中受益的木匠可以从中获益。(改编自斯托尔曼的4项自由)
我们可以得出结论,对于软件开发者来说,拥抱和采用免费和开源原则,解放软件,使其像木材一样可持续至关重要。根据免费和开源原则许可的软件将赋予用户自由、隐私和安全,同时造福全球社区;并且越早采用,对整个项目越好。
注释文献
- BigCommerce. “什么是开源,为什么它很重要?”
这是一篇关于为什么开源软件很重要的简短介绍,特别关注基于社区的开发。
- Clarke, Russell, et al. “开源软件是否更安全?” 国土安全/网络安全,2009
这份白皮书是对源代码可见性是否对整体安全性有肯定影响进行的批判性审查,考虑到有很多人认为在隐蔽性中有更大的安全性。
- “GitHub存档计划。” GitHub存档计划。
GitHub存档计划的网站解释了GitHub项目,该项目希望在斯瓦尔巴特群岛的北极附近建立的北极代码档案馆中,至少保存活跃在GitHub上的当前开源项目的代码1000年,为后代保存。
- Mardjan, Maikel J.,和Asim Jahan. “使用开源软件进行安全和隐私保护 — 2020-Q2 文档。” 安全和隐私开放参考架构,荷兰商业管理支持基金会,2020 2015。
参考架构是一个开放的网络文档,帮助您解决和规避安全和隐私风险。其目的是提供文档,使用现有的经过验证的解决方案来节省时间和经验教训,而不是“重新发明轮子”。最新稳定版本始终可在网上获得,以及可在亚马逊购买的2019年版本。
- Morgan, Lorraine, 和 Finnegan, P.,2007年,在IFIP国际信息处理联合会,第234卷,“开源软件的利弊:对二级软件公司的探索性研究。”开源开发、采用和创新,编者J. Feller, Fitzgerald, B., Scacchi, W., Sillitti, A.,(波士顿:Springer),第307-12页。Springer Link,doi:10.1007/978-0-387-72486-7_33。
本文的研究基于对13家欧洲二级软件公司进行的访谈,涉及他们关于开源软件的利弊的经验。
- Osborne, Charlie. “AVG 发布透明隐私政策:是的,我们会出售您的数据。” ZDNet,2015年9月18日。
一篇ZDNet文章描述了AVG发布了一个新的、简化和消费者友好的隐私政策,其中它帮助消费者更好地理解安全政策真正意味着什么,以及它对用户(尤其是免费版本的用户)的影响。
- Raymond, Eric S. 发布早,发布频繁。
一篇在线文章鼓励开源软件开发者采用早期发布和更频繁更新的政策,就像Linus Torvalds在其Linux开发中所做的那样,同时包括大量用户反馈和响应。
- “序言1 - 数据保护作为一项基本权利。”通用数据保护条例(GDPR)。
通用数据保护条例于2018年5月生效,但它在2016年就已经起草并采用,作为欧盟内部和欧盟的数据保护和隐私法规,适用于所有在线处理其数据的人。摘要取自第一条序言,数据保护作为一项基本权利。
- Stallman, Richard. Gnu.Org. "什么是自由软件?"
Richard Stallman,与Linus Torvalds并驾齐驱,是开源界最知名的名字,也是自由软件背后的原则和哲学的权威,因为他确实是GNU通用公共许可证的作者。在这篇文章中,Stallman解释了自由软件的基础。
- Temperton, James. “AVG 可以将您的浏览和搜索历史记录出售给广告商。” Wired UK,2015年9月。 www.wired.co.uk。
一篇Wired文章也阐述了AVG在2015年更新的隐私政策,以及该政策对该抗病毒软件用户的解释和应用。此外,它还提到了另一个抗病毒软件提供商Avast的隐私政策中的类似声明。
- “权利法案:转录。”国家档案馆,2015年11月4日。
权利法案是美国宪法的头10条修正案,它解释了公民与政府之间的关系。
- Thorpe, Stefan. “开源简史 - DZone开源。” Dzone.Com,2018年5月15日。
一篇关于自由和开源软件(FOSS)历史及其如何改变计算世界的非常有信息量的文章。Stefan Thorpe从20世纪70年代的起源讲起,阐述了其发展历程以及它如何为几乎所有技术领域提供全面的软件解决方案。文章还突出了自由和开源软件提供的协作性质的优势。
- Updegrove, Andy. “开源软件简史 | ConsortiumInfo.Org.” Consortiuminfo.Org 标准博客。
另一篇关于FOSS历史的文章,但更侧重于消费者和开发者可以从遵循使软件成为自由和开源的公约和原则的软件中获得的益处。
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能并不与Joomla项目官方立场一致
通过接受,您将访问由https://magazine.joomla.net.cn/外部第三方提供的服务
评论