许多人在购买新智能手机时会担心相机规格、屏幕尺寸和存储容量。 这些有吸引力的消费品中最重要的元素之一是操作系统,它很容易被忽视。
谷歌的安卓系统是世界上最流行的移动操作系统。 它存在于全球超过 86% 的智能手机中。 更令人惊讶的是,Android 是基于开源的 Linux 操作系统。 这意味着任何人都可以阅读、更改,最重要的是,共享绝大多数智能手机的核心代码。 这种开放性使合作成为可能。
例如,与由一家公司创建和维护的 Microsoft Windows 不同。 来自全球的 15000 多名程序员为 Linux 的开发和维护做出了贡献。 这些程序员可能会提供构建免费分发的新东西。
什么是开源?
一种软件,其原始源代码可公开获得,并可根据用户需要进行共享和更新。 开源软件是这样的软件,其中源代码或基本代码通常可供任何人修改或改进以实现可重用性和可访问性。
任何人都可以操纵和更改软件,以使程序或应用程序正常工作。 有权访问计算机程序源代码的程序员可以通过添加功能或纠正不总是正确运行的部分来增强它。
开源软件以分散和协作的方式创建,依赖于同行评审和社区输出。 因为它是由社区而不是单个作者或公司生产的,所以开源软件通常比专有软件更便宜、更具适应性并且使用寿命更长。
每年,开源变得越来越普遍,从政府城镇到机构无处不在。 它在各种规模的企业中也越来越受欢迎。 事实上,一些企业正在通过资助项目或与开发人员合作将开源提升到一个新的水平。
协作通过免费和开源促进创新。 如果没有它,我们今天认为理所当然的许多技术都不会发展或受到专利法的保护。
历史
研究早期互联网技术和通信网络协议的研究人员受益于 1950 年代和 1960 年代开放和协作的研究环境。 高级研究计划署网络 (ARPANET) 推动了同行评审和公开评论,该网络最终成为当代互联网的基石。
每个用户组的源代码都被共享和改进。 论坛有助于促进讨论以及制定开放式沟通和协作规范。 到 1990 年代初推出互联网时,协作、同行评审、交流和开放性已成为互联网的根基。
公开源代码的想法源于 1983 年由麻省理工学院的程序员理查德斯托曼(Richard Stallman)非正式发起的一场智力运动。斯托曼认为,软件应该可供程序员使用,以便他们可以根据自己的需要对其进行修改,以便更好地改进。了解、了解和改进它。
Stallman 开始根据他自己的许可证 GNU 公共许可证分发自由软件。 这种围绕软件开发的新技术和态度获得了牵引力,最终导致了 1998 年开源计划的成立。
开源与闭源软件
开源软件
- 可访问源软件是其源代码向公众开放,任何人都可以查看和使用的计算机软件。
- 其他个人和组织可以更改代码,任何人都可以访问源代码。
- 开源软件的成本相当低。
- 如果该程序很受欢迎,则可能会为该项目分配大量程序员。
- 在软件使用和定制方面对用户的限制较少。
- 任何机器都可以配置为运行开放软件。
- 火狐, 谷歌安卓、Linux 操作系统、Android、Thunderbird、MySQL、Mailman、Moodle、Perl、PHP 和 Python 是一些示例。
闭源软件
- 闭源软件是具有封闭源代码的计算机软件,这意味着公众无法访问源代码。
- 只有制作软件的个人或团体才能更改代码。
- 闭源软件的源代码受到保护。
- 根据软件的可用性和定制,对用户施加了一些限制。
- 软件公司/组织雇用程序员来改进软件。
- 闭源软件很昂贵。
- 在安装到任何计算机上之前,封闭的软件必须具有有效的许可证。
- 闭源软件没有容错的余地。
- Skype、Google Earth、Java、Adobe Flash、Virtual Box、Adobe Reader、Microsoft Office、Microsoft Windows、WinRAR、mac OS、Adobe Flash Player 是一些示例。
超值优惠
开源代码帮助了有抱负的开发人员和大公司的技术专长。 它是永无止境的教育,尤其是考虑到编码的影响越来越大。 这种不断扩展的想法网络只是此类软件如何帮助您的公司的开始。
预算紧张可能是初创公司的日常战斗。 开源项目的可用性使消费者无需支付会员费或签署长期合同即可接受新技术。 除了低成本(或不存在)之外,开源库还允许团队在构建 IT 基础架构或开发新应用程序方面领先一步。
由于开源,大部分工作已经为您完成。 这为开发人员腾出时间进行优化和定制。 总会有组织希望从头开始开发的情况,但即使是世界上最伟大的品牌也认识到使用开源技术可以节省时间和金钱。 开源组件,无论是用作复杂应用程序的入门工具包还是帮助完成项目的小拼图,对于个人开发人员和企业团队来说都是一个有用的替代方案。
GitHub 等在线社区展示了开源软件的协作潜力,为数百万开发人员和公司提供了托管、评估和利用开源平台的场所。 微软在 7.5 年为该平台支付了 2018 亿美元。这可能是迄今为止开源技术变得多么流行的最明显的例子,以及成熟的 IT 巨头正在投资这个社区的未来。
由于各种原因,开发和执行开源软件战略变得至关重要。 开源软件开发人员单独和共同寻求技术挑战的最佳解决方案,从而开发出可靠、安全和免费的软件。 由于他们的不懈努力,该计划随着时间的推移而改进。
该过程得到了众多基金会的帮助,包括支持跨多个技术领域的开源的 Linux 基金会、Apache 软件基金会和 Eclipse 基金会。
他们与 AWS、Facebook、谷歌、IBM、微软、Netflix 和 SAP 等数字巨头以及思科、英特尔和英特尔等硬件制造商合作制定标准。 特斯拉. 他们还为项目建造独立于供应商的房屋,为基础设施提供财务援助,协助营销,并选择委员会来做出明智的项目选择。
总而言之,开源的一些主要好处是:
- 硬件费用较低。
- 卓越品质的软件。
- 开发人员在全球范围内提供支持。
- 灵活性和自由度。
- 许可证管理很简单。
- 项目的集中和扩展。
风险
如前一节所述,开源可以提供几个优点。 现在我们来看看与之相关的潜在缺点或危险,它们分为以下三类:
- 安全风险
- 质量风险
- 合规风险
开源组件可以在各种 Internet 存储库中找到,开发人员无法知道它们有多好或多安全。 不投资控制其使用的组织会将自己置于风险之中,当纠正错误变得更加昂贵时,他们可能会付出代价。
安全风险
黑客可以利用开源安全漏洞赚很多钱。 这为黑客提供了发动攻击所需的所有信息。 更糟糕的是,由于它被广泛使用,一个流行组件中的漏洞为黑客提供了大量潜在受害者。 这意味着黑客正在密切关注社区,并迅速利用流行的开源组件中的已知安全漏洞。
如果软件企业不监控其开源使用并且不了解其代码中的任何易受攻击的库,则它们很容易受到恶意攻击。
质量风险
虽然公司花费大量时间和金钱来确保 其专有代码的质量,似乎许多开发团队低估或忽视了开源组件的质量。 当然,我们都希望我们的最终产品在压力下保持一致和稳定。
很难验证开源软件组件不会损害您的产品状态的原因之一是因为没有商定的评估其质量的标准,并且开源的协作特性可能使其难以措施。
合规风险
每个开源软件组件及其依赖项都已获得许可。 当我们在我们的项目中使用它们时,我们承诺遵守一系列我们必须遵守的条款和条件。 对于那些不熟悉开源许可复杂性的人来说,这可能是一场噩梦。
一些开源项目缺乏任何类型的源代码许可,这意味着版权规则默认适用。 因为有这么多的许可证,要满足所有的法律要求是相当困难的。 您是否知道有超过 200 种不同类型的开源许可,每种许可都有自己独特、专业且常常令人费解的条款和条件?
开源的未来
新的创新浪潮将由协作努力的结果推动,不仅来自一个企业,而且来自一个致力于改善整个环境的社区。
公司正在让他们的开发人员在数字领域竞争,目标是成为第一个在技术行业产生不断增长的创新的公司,因为它继续在企业中获得曝光。
开发人员可以通过使用开源社区和向最优秀的开发人员学习来有效地解决测试和实施困难,特别是随着人工智能等新技术的涌现, 机器学习,以及机器人技术的进步。
当员工利用充满活力、以解决方案为导向的社区时,我们会看到企业受益。 从自动驾驶汽车到医疗机器人,从智慧城市到数据中心,我们不想将这些挑战的答案委托给少数公司。 相反,我们应该依靠开源和一大批杰出的发明家来获得最大的成果。
结论
开源运动对过去几十年技术的快速发展负有责任。 虽然开源带来了一些风险,但也有很多好处和有希望的前进方式。 一个庞大的贡献者社区、入门指南、通过研究其他人的代码来学习以及获得与其他工程师交流的经验是您从开源软件中获得的一些极好的好处。
如果你也想开始为一个开源项目做贡献,首先找到一个让你着迷的项目,然后在 GitHub 上搜索“good first issue”或类似内容的标签。 好第一期 是一个项目,它为以前从未贡献过的开发人员从受欢迎的项目中轻松选择。
发表评论