foss测试

您使用的每个软件的基础都是源代码,该源代码发出命令并处理允许软件做其工作的数据。 谁应该有权查看,更改或重新分发源代码这一问题长期以来一直是计算机界在思想上的根本分歧之一。

顾名思义,开源软件的支持者来自开放性方面。 他们认为人们应该有权访问他们使用的软件的源代码。 但是,正如我们将看到的那样,实际上,该标签下有很多种类。 您可以想到的每个细分市场中都存在各种各样的开源软件-实际上,开源软件在其中很多方面都占主导地位。

[发现Bossie奖的获胜者:2018年企业最佳的开源软件,用于软件开发,机器学习,云计算以及数据存储和分析。 ]

什么是开源软件,什么是自由软件,它们有何不同?

开源软件的简洁定义是可以检查,更改和重新分发其基础代码的软件。 (稍后我们将得到一个更长更正式的定义。)“更改和重新分发”的部分对于开源哲学确实很关键。 尽管名称可能暗示,只是打开源代码以便人们查看它并不能使其开源。

在某些方面,术语“开源软件”是一种返璞词 :在早期的几十年计算机科学,软件的源代码是可以作为理所当然的事,并研究人员和工业界的科学家之间自由交换。 计算机数量很少,而且相距甚远,并且期望用户对其进行广泛的修改,因此人们需要访问代码。 在许多方面,软件被视为计算机硬件的附加组件。 直到1974年才合法地确定软件拥有版权 。 但是随着1970年代末期的微型计算机时代的来临,该行业开始转向这样一种立场,即软件本身具有金钱价值,并且可以而且应该限制对底层代码的访问以保护软件创建者的权利。 比尔·盖茨(Bill Gates)在1976年给业余爱好者的公开信中抱怨微软第一款产品Altair BASIC解释器的广泛盗版,是这一转变的分水岭。

在Swift发展的软件行业Swift吸收了这些新想法的同时,一些人则反对它们。 最早的反对者之一是Richard Stallman,他于1985年创立了自由软件基金会 (FSF)。自由软件中的“自由”旨在表示用户可以随意更改和分发代码。 从这个意义上说,没有任何规则禁止免费软件收费。 通常将“免费啤酒中的自由”和“言论自由中的自由”区分开来,后者是自由软件。

尽管如此,自由软件的想法还是让私营行业的许多人感到不安,因为他们毕竟不热衷于提供东西。 1998年,克里斯汀·彼得森( Christine Peterson) 创造了“开源”一词 ,部分目的是使新想法,尤其是在营利性公司工作的新想法更易获得。 尽管Stallman 反对“开源”一词 ,说它偏离了自由软件的原始政治和哲学思想,但它已成为描述该概念的主要用语。 自由和开源软件的维恩图有足够多的重叠,以至于有时两者以缩写FOSS(自由和开源软件)结合在一起 通常,所有免费软件都是开源的,尽管一小部分开源软件具有许可条款,这意味着它不是免费的(此刻更多关于开源许可的信息)。

自由和开源软件的概念引起了另一个重新定义:“专有软件 ,即不是开源的任何软件。

开源软件许可证

开源软件涉及的所有权利和责任均由分发软件的许可证确定。 随着确立了受版权保护的软件的法律学说,开始编写软件许可,以在版权所有者和用户之间提供合同,从而使用户获得在个人计算机上执行软件的许可。

最初存在软件许可证是为了限制用户行为并保护软件制造商的权利。 但是自由软件的倡导者意识到,他们可以颠覆许可证的初衷:软件包的许可证可以要求使用该软件的任何人都可以使用基础代码,并且用户有权编辑和重新分发该代码。 第一个开放源代码软件许可证(尽管早于该术语)可能是GNU Emacs复制许可声明 ,该声明于1985年发布,用于由FSF的Stallman编写的Emacs文本编辑器版本。

从那时起,免费和开放源代码许可的数量激增,每种许可使用许可代码的条款略有不同。 Wikipedia 保留了相当不错的图表,其中包含最重要的许可证的详细信息 。 根据定义,这些开源许可证中的任何一个都授予用户三个基本的自由,使其能够读取,编辑和重新分发源代码。 它们之间的主要区别在于对重新分配施加的条件:

  • 许可许可证允许您重新分配任何源代码,只要您认为合适即可。 例如,您可以获取在许可许可下发布的源代码,将其合并到自己的软件中,然后在专有许可下发布该软件。 BSD许可证是最著名的许可许可证之一。
  • Copyleft许可证要求任何包含许可代码的重新分发代码也必须在类似的许可证下发布。 来自FSF的GNU公共许可证(GPL)的各种版本都是Copyleft许可证,其目标是要求开发人员通过共享在其项目中集成开放源代码所获得的收益来向前支付。

有趣的是,这些许可证背后的思想已经超越了软件领域。 知识共享是用于将类似术语应用于书面或视觉艺术作品的法律基础设施。

开源定义和开源计划

开源本质上不受任何单一实体或组织的控制。 1998年,包括布鲁斯·佩伦斯(Bruce Perens)和埃里克·雷蒙德(Eric S. Raymond)在内的一些著名开发人员成立了开源倡议 (OSI),这是一个非营利性组织,致力于在更大的软件行业中倡导开源。 OSI在1999年尝试并没有为开放源这个商标注册 ; 但是,按照共识,它们的正式开源定义是该框架的所有自称开源的许可都遵循。 除了我们已经讨论过的检查,修改和重新分发代码的自由之外,开放源代码定义还禁止歧视特定群体或个人的许可证,这些许可证会阻止将代码用于特定目的或特定领域,或在特定设备或类型的设备上运行。

开源开发和开源项目

从大学到大公司,使用开源代码进行的开发在各种环境中进行,并且通常遵循与其他任何类型的软件开发相同的模式。 但是,有一种特定的开放式社区开发过程与开源相关联。 埃里克·雷蒙德(Eric S. Raymond)在他的有影响力的文章“ 大教堂和集市 ”中概述了他对这一过程的愿景,即任何人都可以访问代码,并且由分布广泛的开发人员组成的小组将更新添加到代码库中。他们的兴趣决定了。

这种类型的开源开发是围绕开源项目组织的 这些有时在单个软件上工作,有时在整个相关的应用程序集上工作。 版本控制软件使每个人的贡献保持一致。 GitHub可能是最受欢迎的。

开源项目有时有时是由一个人开始的,通常是自组织的小型互联网社区,尽管任何人都可以为任何项目做出贡献,但大多数项目通常都是由相对较少的开发人员来完成的 。 有时,某个项目可能是由一家计划使用其生产的软件的营利性公司赞助的,甚至还可以使该项目最杰出的开发人员进入工资单。

开源示例

开源软件实际上无所不在,并为现代Internet奠定了许多基础。 也许最著名的开源项目是Linux ,它是为数百万服务器提供支持的Unix开源变体。 其他突出且极为关键的项目包括Apache Web服务器 , MySQL数据库和WordPress 。 从Ruby on Rails到Microsoft的众多开发框架都以开源形式发布。 网络核心 。

开源在生产面向普通用户的家用计算机软件方面不太成功。 尽管Microsoft Word和Adobe Photoshop等专有软件包的成本很高,但像OpenOffice和GIMP这样的开放源代码同行却从未在顽固的发烧友中找到合适的市场,这在很大程度上是因为开放源代码社区传统上优先考虑功能和灵活性而不是易用性。用。 (来自专有供应商的文件格式锁定无济于事。)甚至Linux的倡导者自1990年代后期以来就一直宣称开源OS距离主导台式机仅一年之遥,但从未真正地跳槽到Linux。消费空间。 通常,开放源代码用于基础设施的使用远远超过最终用户软件。 但是,从本地运行的整体软件到SaaS应用程序的转变对开源是一个福音 ,因为基于云的基础架构主要基于开源主导的堆栈。

还记得我们所说的支持开源的营利性公司吗? 通常,这些项目是在许可的许可下生产的,因此,这些公司可以将开源代码作为其专有产品的核心,同时作为社区项目并行维护一个单独的开源代码库。 例如,Android移动操作系统以Linux为核心。 苹果公司的所有移动和桌面操作系统都基于达尔文(Darwin) , 达尔文是最初源自BSD Unix的开源操作系统。 甚至Google的Chrome都是基于名为Chromium的开源浏览器。

开源社区和开源运动

开源不仅仅是一个开发过程; 这是人们热衷的哲学,也是一个具有编程技能的人都可以加入的社交社区。 实际上,就像Linux Foundation所说的那样,它是整个社区的系列 。 (Linux基金会和OSI等非营利组织的存在是该社区的重要方面。)Florian Effenberger着有大量关于开放源代码社区如何丰富他的生活的文章 。

您会经常听到人们谈论开源或自由软件运动,其中包含政治和倡导的含义。 开放源代码社区中的许多人出于各种原因推动开放源代码软件的广泛采用:他们认为开放源代码固有地会产生更好的代码,或者他们认为访问源代码是计算机用户应享有的一项基本权利,或两者的某种组合。 如今,社区的这一方面似乎不那么明显了,但这也许是因为开源在许多方面都赢得了胜利。 早在2001年,时任微软首席执行官的史蒂夫·鲍尔默(Steve Ballmer)表示,由于其开放源代码许可,Linux是“ 一种癌症,它从知识产权的角度将其自身与所涉及的一切联系在一起 。” 如今,Microsoft已成为开源软件的广泛用户和生产商 。 简而言之,这就是开源历史的最后二十年。

开源软件下载

想要开始浏览和修改开源项目吗? 请查看opensource.com的“项目和应用程序”页面 , GitHub的“浏览”选项卡或“开源开发网络”的“软件地图” 。 任何技能水平的好奇者都有很多。

翻译自: https://www.infoworld.com/article/3429076/what-is-open-source-software-open-source-and-foss-explained.html

foss测试

foss测试_什么是开源软件? 开源和FOSS解释相关推荐

  1. foss测试_如何与您的公司谈论FOSS

    foss测试 自由和开源软件(FOSS)在过去的一两年中取得了巨大的进步,尤其是在企业界. 即使这样,某些法律部门仍可能对使用或为FOSS做出贡献的组织保持警惕. 根据开放发明网络的安德里亚·卡西利亚 ...

  2. foss测试_值得关注的5个人道主义FOSS项目

    foss测试 几个月前,我们介绍了致力于使世界变得更美好的开源项目 . 在这期新文章中,我们将介绍一些更多的人道主义开源项目来激发您的灵感. 人道主义OpenStreetmap小组(HOT) 地图在危 ...

  3. foss测试_防止下一次心脏出血,使FOSS更安全

    foss测试 戴维·惠勒(David Wheeler)在就开源软件相关问题提供咨询和与美国政府合作方面一直处于领导地位. 他的个人网页是有关开放标准,开放源代码软件和计算机安全性的经常被引用的资源. ...

  4. foss测试_开源研讨会探索大学中的FOSS

    foss测试 计算机科学协会计算机科学教育特殊兴趣小组的年会是最大的学术计算机会议之一. 今年的活动的特色是全天讲习班,通过让学生参与人道主义项目(如Ushahidi , OpenMRS , Gnom ...

  5. foss测试_如何成功进入FOSS新兴市场

    foss测试 用商务术语来说,"新兴市场"是一个尚不发达但仍在上升的市场,显示出与其他发达市场一样强大的潜力. Wikipedia的定义仅针对国家/地区,但这对"市场&q ...

  6. foss测试_如何培养未来的FOSS领导者

    foss测试 您在自由和开源软件项目中扮演关键角色吗? 您是否想让下一个人更轻松地穿上鞋子,同时让自己有休息的自由并避免倦怠? 当然可以! 但是,您如何开始? 在执行任何操作之前,请记住这是一个免费或 ...

  7. 开源软件 许可证密钥_自由和开源软件-1中的重要许可证

    开源软件 许可证密钥 It's important to take note that there are no good or bad licenses and that no license is ...

  8. 开源软件和自由软件_自由和开源软件的经济学

    开源软件和自由软件 零边际成本 (Zero Marginal Cost) At the core of the financial aspects of Free and Open Source is ...

  9. flv 开源 修复_如何修复开源软件中的错误

    flv 开源 修复 我们都在同一个团队中,并且都朝着使我们的开源软件变得更好的相同目标努力. 您的小贡献会产生重大影响. 开源软件的支持方式与运行方式同样重要. 如果选择构建令人敬畏的新功能,还是仔细 ...

最新文章

  1. 自己录制的Oracle 相关视频(陆续更新)
  2. 彻底理解 Redis 的持久化和主从复制
  3. IntelliJ IDEA安装主题详细步骤
  4. ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  5. 用户、角色和权限,多表查询
  6. python具体应用过程_python公开课|Python for循环的具体应用就是python流程控制的核心,想学会就来看看...
  7. hough变换检测圆周_Python OpenCV 霍夫变换
  8. MYSQL教程之 concat
  9. ollections 模块之OrderedDict
  10. 软链接文件和硬链接文件
  11. docker-compose教程(安装,使用, 快速入门)
  12. Python panads数据处理一
  13. Java 中的参数传递和引用类型
  14. 纯文字游戏编辑器_重新认识CocosCreator系列之三:立Flag啦,文字游戏编辑器!...
  15. IIS站点无法启动,万维网发布服务无法开机启动解决办法
  16. 斯坦福大学公开课 :Andrew Ng 机器学习课堂笔记之第一节(机器学习的动机与应用)
  17. ResNet50修改网络适应灰度图片并加载预训练模型
  18. 《自然语言处理-基于预训练模型的方法》笔记
  19. 在区块链底下,个人自由和隐私该如何生存?
  20. 初识angular.js之爱恨情仇

热门文章

  1. 《十五》微信小程序中的插件
  2. Redis 中如何解决 THP 服务导致的延迟和内存使用问题?
  3. 压力传感器的误差构成及减小误差办法
  4. 微信授权,code:40163
  5. 详解如何在STM32上使用4x4矩阵键盘
  6. Ubuntu20.04修改MAC风格
  7. linux更改桌面壁纸的脚本,使用 LSWC 在 Linux 中自动更改壁纸
  8. vim选中多行复制粘贴
  9. SheetJS - XLS sheet_to_json() 方法解析 Excel 时不解析表格标题(表格第一行或N行)
  10. 只要掌握这2个方法,就能轻松学会如何提取伴奏,快来码住