
Opensource.com
术语“开源”指的是人们可以修改和共享的事物,因为它的设计是公开可访问的。
这个术语起源于软件开发领域,用于指代创建计算机程序的特定方法。 然而,今天,“开源”代表着更广泛的价值观——我们称之为“开源之道”。 开源项目、产品或倡议拥抱并赞扬开放交流、协作参与、快速原型设计、透明度、精英管理和以社区为导向的开发原则。
什么是开源软件?
开源软件是源代码对任何人开放,可以检查、修改和增强的软件。
“源代码”是软件的一部分,大多数计算机用户永远看不到; 它是计算机程序员可以操作以更改软件(“程序”或“应用程序”)工作方式的代码。 能够访问计算机程序源代码的程序员可以通过向程序添加功能或修复总是无法正常工作的部分来改进该程序。
开源软件和其他类型的软件有什么区别?
有些软件的源代码只有创建它的人、团队或组织才能修改,并且他们对其维护独家控制权。 人们称这种软件为“专有”或“闭源”软件。
只有专有软件的原始作者才能合法地复制、检查和更改该软件。 为了使用专有软件,计算机用户必须同意(通常是通过在首次运行此软件时签署显示的许可证)他们不会对软件执行软件作者未明确允许的任何操作。 Microsoft Office 和 Adobe Photoshop 是专有软件的示例。
开源软件则不同。 它的作者使其源代码可供希望查看、复制、学习、修改或共享该代码的其他人使用。 LibreOffice 和 GNU 图像处理程序 是开源软件的示例。
与专有软件一样,用户在使用开源软件时也必须接受许可证的条款——但开源许可证的法律条款与专有许可证的法律条款截然不同。
开源许可证影响人们使用、研究、修改和分发软件的方式。 一般来说,开源许可证授予计算机用户出于任何目的使用开源软件的许可。 一些开源许可证(有些人称之为“著佐权”许可证)规定,任何发布修改后的开源程序的人也必须同时发布该程序的源代码。 此外,一些开源许可证规定,任何修改程序并与他人共享的人也必须共享该程序的源代码,而无需收取许可费。
按照设计,开源软件许可证促进协作和共享,因为它们允许其他人修改源代码并将这些更改纳入他们自己的项目。 它们鼓励计算机程序员随时访问、查看和修改开源软件,只要他们在共享他们的工作时也允许其他人这样做。
开源软件只对计算机程序员重要吗?
不是。 开源技术和开源思维方式都使程序员和非程序员受益。
由于早期的发明家在开源技术(例如 Linux 操作系统和 Apache Web 服务器应用程序)的基础上构建了大部分互联网本身,因此今天使用互联网的任何人都可以从开源软件中受益。
每当计算机用户查看网页、查看电子邮件、与朋友聊天、在线流式传输音乐或玩多人视频游戏时,他们的计算机、手机或游戏机都会连接到使用开源软件的全球计算机网络,以将其数据路由和传输到他们面前的“本地”设备。 执行所有这些重要工作的计算机通常位于用户实际上看不到或无法物理访问的遥远地方——这就是为什么有些人称这些计算机为“远程计算机”。
越来越多的人在执行他们可能在本地设备上执行的任务时依赖远程计算机。 例如,他们可能会使用在线文字处理、电子邮件管理和图像编辑软件,而无需在其个人计算机上安装和运行这些软件。 相反,他们只需使用 Web 浏览器或手机应用程序即可在远程计算机上访问这些程序。 当他们这样做时,他们就参与了“远程计算”。
有些人称远程计算为“云计算”,因为它涉及的活动(例如存储文件、共享照片或观看视频)不仅包含本地设备,还包含围绕它们形成“氛围”的远程计算机的全球网络。
云计算是连接互联网的设备日常生活中越来越重要的方面。 一些云计算应用程序(例如 Google Apps)是专有的。 其他一些,例如 ownCloud 和 Nextcloud,是开源的。
云计算应用程序“在”帮助它们平稳高效运行的附加软件“之上”运行,因此人们经常会说在云计算应用程序“之下”运行的软件充当这些应用程序的“平台”。 云计算平台可以是开源的或闭源的。 OpenStack 是开源云计算平台的一个例子。
为什么人们更喜欢使用开源软件?
人们更喜欢开源软件而不是专有软件的原因有很多,包括
控制。 许多人更喜欢开源软件,因为他们对这类软件有更多的控制权。 他们可以检查代码以确保它没有做任何他们不想做的事情,并且他们可以更改他们不喜欢的代码部分。 非程序员用户也从开源软件中受益,因为他们可以将此软件用于他们希望的任何目的——而不仅仅是别人认为他们应该使用的方式。
培训。 其他人喜欢开源软件,因为它帮助他们成为更好的程序员。 由于开源代码是公开可访问的,因此学生在学习编写更好的软件时可以轻松地研究它。 学生还可以与他人分享他们的作品,并在发展技能的同时邀请评论和批评。 当人们发现程序源代码中的错误时,他们可以与他人分享这些错误,以帮助他们避免自己犯同样的错误。
安全。 有些人更喜欢开源软件,因为他们认为它比专有软件更安全和稳定。 因为任何人都可以查看和修改开源软件,所以有人可能会发现并纠正程序原始作者可能遗漏的错误或疏忽。 并且由于如此多的程序员可以在无需征得原始作者许可的情况下处理一段开源软件,因此他们可以比专有软件更快速地修复、更新和升级开源软件。
稳定性。 许多用户对于重要的长期项目更喜欢开源软件而不是专有软件。 因为程序员公开发布开源软件的源代码,因此依赖该软件执行关键任务的用户可以确保他们的工具不会消失或因原始创建者停止对其进行工作而陷入失修。 此外,开源软件往往既包含又根据开放标准运行。
社区。 开源软件通常会激发用户和开发人员社区围绕它形成。 这并非开源独有; 许多流行的应用程序都是聚会和用户组的主题。 但在开源的情况下,社区不仅仅是购买(情感上或经济上)精英用户群的粉丝群; 它是生产、测试、使用、推广并最终影响他们喜爱的软件的人们。
“开源”不只是意味着某物是免费的吗?
不是。 这是关于“开源”含义的常见误解,并且该概念的含义不仅限于经济方面。
开源软件程序员可以为他们创建或贡献的开源软件收费。 但在某些情况下,由于开源许可证可能要求他们在向他人销售软件时发布其源代码,因此一些程序员发现向用户收取软件服务和支持(而不是软件本身)的费用更有利可图。 这样,他们的软件仍然是免费的,并且他们通过帮助他人安装、使用和排除故障来赚钱。
虽然一些开源软件可能是免费的,但编程和排除开源软件故障的技能可能非常宝贵。 许多雇主专门寻求聘请具有开源软件工作经验的程序员。
“软件之外”的开源是什么?
在 Opensource.com,我们喜欢说我们对开源价值观和原则应用于软件之外的世界的方式感兴趣。 我们喜欢将开源不仅视为开发和许可计算机软件的一种方式,而且还是一种态度。
以“开源之道”的方式处理生活的方方面面意味着表达分享的意愿,以透明的方式与他人协作(以便其他人也可以观看和加入),接受失败作为改进的一种手段,并期望——甚至鼓励——其他人也这样做。
这也意味着致力于在改善世界方面发挥积极作用,这只有在每个人都可以访问世界的设计方式时才有可能实现。
世界充满了“源代码”——蓝图、食谱、规则——指导和塑造我们在其中的思考和行动方式。 我们认为这种底层代码(无论其形式如何)应该是开放、可访问和共享的——这样许多人就可以参与其中,使其变得更好。
在这里,我们讲述了开源价值观对生活各个领域的影响的故事——科学、教育、政府、制造业、健康、法律和组织动态。 我们是一个致力于告诉其他人开源之道是最佳方式的社区,因为对开源的热爱就像其他任何事物一样:当它被分享时会更好。
我在哪里可以了解更多关于开源的信息?
我们汇编了几个旨在帮助您了解更多关于开源的资源。 我们建议您阅读我们的开源常见问题解答、操作指南和教程以开始入门。