CodeGym /Java 博客 /随机的 /开源软件。它是什么以及值得尝试吗?
John Squirrels
第 41 级
San Francisco

开源软件。它是什么以及值得尝试吗?

已在 随机的 群组中发布
随着开源软件 OSS 的快速发展,任何想要在 IT 领域取得成功的人都应该熟悉这个流程并了解其背后的含义。顾名思义,开源软件是人们可以检查、修改、增强和共享的软件,因为该软件是公开访问的。 开源软件。 它是什么以及值得尝试吗? - 1换句话说,它是任何人都可以查看、修复错误、升级和分发给其他人的开源代码。它通常是协作开发的,依赖于其他程序员的审查和合作。由于开源软件是由社区而不是单个作者或单个软件公司创建的,因此它自然更便宜、更灵活,并且在大多数情况下比专有软件具有更长的使用寿命。

一切从什么时候开始?

如果您认为开源是一项相对较新的运动,您会感到惊讶。其根源可以追溯到 20 世纪 50 年代和 1960 年代,当时研究人员开始开发互联网和电信网络协议。这些技术基于开放和协作研究,这一原则后来成为互联网的基础。至于我们今天所知的开源软件,它起源于 1983 年,当时 MIT 的程序员 Richard Stallman 免费提供源代码。他认为全球各地的程序员都应该可以使用它,这样他们就可以按照自己的意愿修改和改进它。他的方法得到了广泛应用,并逐渐促成了 1998 年开源计划的形成。

开源软件与其他类型的软件

下面,我们将比较开源软件和其他类型软件的一些关键方面:

控制

从上面您可能已经猜到,OSS 与其他类型软件之间的主要区别在于,它的源代码可供任何想要查看、复制或修改它的人使用。至于“专有”软件,只有一个人或一个团队对其保持独占控制权。这就是为什么它有时也被称为“闭源”软件,通常要求您接受许可证,而该许可证要求您不对源代码执行任何操作。话虽这么说,开源软件通常也是经过许可的。然而,其法律条款与专有许可证的法律条款有很大不同。他们允许计算机用户将软件用于他们希望的任何目的。另外,一些开源许可证规定,任何更改程序或代码的人都应该与其他人共享它,而无需为此收取许可费。换句话说,他们鼓励人们分享他们的成就。

成本

“开源”是免费的吗?不总是。开源软件程序员可能会为他们创建或贡献的软件收取一些费用。或者,有时,他们仅针对软件服务和软件支持收取费用。这样,软件是免费的,程序员通过帮助用户安装或排除故障来赚钱。不过,与专有软件相比,这种成本要便宜得多。

安全

当我们谈到故障排除主题时,值得注意的是,无论软件类型如何,代码缺陷仍然存在。尽管OSS中的Bug数量明显较少,因为这里的源代码对任何人开放,因此“对代码的关注越多,Bug就越难生存”。此外,谁负责修复错误之间存在差异——供应商负责商业软件。同时,用户对开源软件负有责任。

设计

在设计方面,OSS 通常会丢一些分。由于其政策提倡协作和共享,因此重点放在开放性而不是用户友好的设计上。因此,基本上,营利性产品更直观、更易于使用,而适应性和用户体验是关键问题。

保修单

“闭源”软件获胜的另一个领域是保修条款。OSS 根本没有保修,这一点不足为奇。相比之下,专有软件总是有保修支持,这对于拥有安全策略的公司来说是一个明显的优势。然而,一些开源解决方案非常受欢迎,甚至是当今的市场领导者。(例如,Linux、Apache)。

最受欢迎的 OSS

  • 火狐浏览器
  • 阿帕奇网络服务器
  • GNU/Linux
  • VLC媒体播放器
  • SugarCRM
  • 虚拟网络控制器
  • GIMP
  • 自由办公室
  • jQuery

开源软件如何工作?

事实上,每次您查看网页、检查电子邮件、播放音乐、观看视频、玩视频游戏或与朋友聊天时,您的 PC、游戏机或移动设备都会使用开源软件连接到全球网络进行传输将数据传输到“本地”设备。谁来做这一切工作?“远程”计算机通常位于遥远的地方(用户看不到它们并且无法物理访问它们)。也就是说,人们在执行日常任务时依赖远程计算机。有些人将此过程称为“云计算”,因为它涉及不同的活动(存储文件、共享照片、收听音轨或观看视频),这些活动结合了本地计算机和远程计算机的全球网络。一些云应用程序(例如谷歌云)是专有的。而OpenStackNextcloud 等其他软件都是开源的。

使用OSS的主要优点

大多数人更喜欢开源软件而不是专有软件,原因有很多: 增强控制。如果您想更好地控制软件,OSS 就是您所需要的。您将能够放心地检查代码,知道它没有做任何您不希望它做的事情。此外,当您发现代码部分不必要或无用时,您将能够更改它们。由此,我们可以得出结论,OSS 非常适合训练。假设您刚刚开始学习之路。在这种情况下,开源软件肯定可以帮助您提高技能并成为更好的开发人员。您还可以与其他人分享您的工作,让他们评论、批评或赞扬您。 更好的安全性。正如已经提到的,开源软件被认为更安全,因为任何人都可以查看并纠正错误或遗漏。由于无限数量的程序员可以在无需征得作者许可的情况下使用相同的开源软件,因此他们可以比专有软件更快地调试、升级和更新软件。 强大的社区。毫不奇怪,开源项目经常将来自世界各地的开发人员联合起来,导致想要测试、使用和推广其产品的用户团体的聚会和形成。

为什么即使是大公司也经常使用开源软件解决方案

不仅普通用户或程序员坚持使用 OSS 解决方案。即使是大公司也经常利用 OSS。有什么问题吗? 负担能力。许多公司转向开源软件,因为他们认为没有理由在专有软件上花费大量资金。此外,软件维护和更新不会产生额外费用,因为贡献者将免费提供它们。 高可定制性。由于开源软件共享其源代码,组织总是可以聘请熟练的程序员来适应特定的需求。无需联系供应商;不需要额外的时间来等待附加功能(有时需要很长时间)。 适应性。OSS软件具有扩展的应用范围,不限于任何特定架构。这就是为什么它有更多机会在不同场景(甚至是最复杂的场景)中表现良好。除了这些因素之外,公司还看重可靠的安全性和更好的支持。但是,他们应该记住,如果他们获得开源许可下的软件,他们可以自由地将该软件用于商业目的。然而,这并不总是意味着组织能够对之后使用该软件的人员施加进一步的限制。当公司分发软件时,必须遵守收到软件时所依据的相同许可要求。

如何成为开源软件的一部分

想成为这个迷人故事的一部分吗?然后,您可以轻松加入开源项目。欢迎所有技能。为此,您可以订阅官方网站或GitHub 页面 上的邮件列表(您可以通过“趋势”链接访问最热门的项目)。有趣的是,完全的新手甚至非程序员也可以对 OSS 项目非常有帮助。通过编写、更新、翻译文档,或者只是回答问题和指导新人,您已经做出了巨大的贡献。对于 Java 初学者来说,他们可以分叉项目、更改代码并在需要时发送拉取请求。始终感谢质量帮助和保证!

结论

正如您所看到的,开源软件项目可以为参与者和用户带来众多好处。不仅任何 OSS 经验都会对您的简历大有裨益,而且您还可以通过与志同道合的人合作来磨练技能。真正的双赢!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION