首页 文章 精选 留言 我的

精选列表

搜索[Python环境],共10000篇文章
优秀的个人博客,低调大师

开源软件简史(三):如今的 FOSS 环境

原文:A Brief History of Open Source Software, Part 3: The FOSS Environment Today 作者:Andy Updegrove,编译:御坂弟弟 极端情况下,FOSS的开发几乎不需要传统的经济、物质或管理支持,所需要的只是一个容纳代码的地方,来允许多个开发者合作进行进一步的开发。然而,随着 FOSS变得越来越有商业价值,并被广泛地纳入到供应商和客户的战略计划中,更多层次的服务和结构也在不断发展,这使 FOSS的开发变得更加有效和强大,用户体验更加完善。这些服务和结构包括培训、不断增长的认证测试网络、各种协助法律合规性的工具,以及提供广泛支持服务和框架的托管实体网络。这些工具的开发是使商业市场从一个封闭的、专有的世界迅速发展到一个高度基于开源软件的世界的重要因素。 该生态系统的主要组成部分包括以下几个方面: 基金会和项目 位于金字塔顶端的是 "伞状" 组织,它们承载了大量的独立项目。 Linux 基金会 截至本文撰写时,项目最多的是 Linux 基金会,它在 2000 年作为开源开发实验室(Open Source Development Labs,OSDL)启动,其使命是 "加速 Linux 在企业计算中的部署"。在随后的几年里,它与自由标准集团合并且更改了名称,并将其使命扩大到 "围绕开源项目建立可持续的生态系统,以加速技术开发和行业应用"。如今,它主办了两百多个 FOSS 项目,其中一些项目本身已经成为 ”迷你伞” 组织,在同一学科内组建或接受更多的项目,如区块链技术(Hyperledger)、云计算和容器化(云原生计算基金会),Javascript(JS 基金会)、网络(LF 网络)和虚拟化(OPNFV)。 违反直觉的是,Linux 基金会并不直接主持 Linux 内核的开发:Linux 内核的开发在 OSDL 成立前十多年就开始了,而且至今仍独立于它。相反,Linux 基金会提供了各种支持功能,从差旅预算到培训,再到法律合规工具的开发等等,以 "维护、促进和保护" Linux 和其他开源软件。 目前,在伞状组织中,Linux 基金会在提供支持的范围上是独一无二的,从组织五大洲的会议到创建和支持培训计划,再到雇佣专门的工作人员协助各个项目。托管项目可以利用其中的少数或全部功能。非常活跃的项目(除了代码开发之外,还有其他方面)通常有多层次的公司会员结构,会费因会员层次和公司规模而异,很像标准开发联盟。更加专注于代码开发的项目可能没有公司成员或会费。在所有的情况下,技术的发展都是独立于此类成员资格因素的。任何人都可以贡献代码,并在择优的基础上通过项目等级上升,无论他们是否为托管项目的正式成员工作。 最近,Linux 基金会创建了一个自动化软件平台,以促进项目的快速设置和有效托管。该平台提供了一套完整的 "点击接受(click to accept)" 法律文件和相关工具,以帮助 FOSS 的开发、审核和法律文件相关。2018 年 12 月,Linux 基金会接管了联合开发基金会(Joint Development Foundation)的托管工作,这是一个类似的轻量级平台,旨在促进 FOSS 和开放标准的合作开发。 Apache 软件基金会 Apache 软件基金会 ASF(Apache Software Foundation)成立于 1999 年,也是由企业成员提供资金支持的。项目代码开发由个人进行,他们不需要隶属于某个成员。它的一些项目以等级制度运作,ASF 支持 “孵化器” 流程,该流程允许新生项目逐渐发展为有资格获得正式地位的项目。 Apache 软件基金会最初的使命是支持 LAMP 协议栈的开发。随着时间的推移,ASF 接受了许多不同技术领域的额外项目,提供了一个开展相关工作的法律和技术框架。与其他一些伞状组织不同,托管项目要在 Apache OSS 许可证下许可他们的代码,并遵守被称为 "Apache Way" 的各种其他规则和做法":它要求每个贡献者签署一份正式的贡献协议,这种做法目前在其他项目中并不常见。 目前,ASF 有 350 多个项目,拥有 800多名成员。 Eclipse 基金会 Eclipse 基金会是 2001 年底由 IBM 在 Red Hat 和 Linux 发行厂商 SuSE 等多个合作伙伴的支持下发起的。2004 年,IBM 交出了某些早期保留下来的权利,Eclipse 基金会的影响力开始快速增长。它最初的目的是基于 IBM 开发的一个平台来创建开源软件开发工具,并以开源形式提供。和 ASF 一样,它也有一个分级的项目结构。它为其托管的项目提供的支持类型与 ASF 大致相同。 独立法人基金会 直到最近,许多新的开源软件项目都选择在美国或欧洲自己成立公司,作为公共慈善机构或行业协会,由选举产生的或自我延续的董事会领导。虽然这种做法仍在继续,但得到公司成员支持的新项目越来越多地与现有的伞状组织联系,要求提供托管服务,以减少前期和持续的法律和其他费用。当这些组织为开发商业战略软件而成立时,可能拥有大量的公司资金。但当它们更狭隘地专注于代码开发时,它们的预算通常较低,主要来自个人开发者和其他支持者的捐赠。 非法人项目 绝大多数的 FOSS 项目根本没有法律结构,只是作为一个代码库和一个讨论 Wiki 而存在。 标准制定组织(SSO) 越来越多的传统标准开发者和他们的现代合作伙伴在以下几种情形中开发 FOSS: SSO 工作组的工程师们经常会得出结论,认为编写能够提供标准所涉及的某些功能的代码比在传统文本中描述这些功能更有意义。在某些情况下,也提供描述性文本,让标准的实现者可以选择使用标准中提供的代码,或者编写符合描述性文本的自己的代码。 SSO 工作组有时会决定开发整个标准的参考实现。 SSO 可以委托一个工作组开发独立于标准的 FOSS。 The SSO may acquire and relicense, or a working group may develop, test suites or other software useful to the achievement of the SSO’s mission. Such software may be licensed under either a lightweight commercial license or under a FOSS license. SSO 可以获取和再许可,或者工作组可以开发测试套件或其他有助于实现 SSO 任务的软件。此类软件可根据轻量级商业许可或 FOSS 许可进行许可。 由于传统的 SSO 知识产权(IPR)政策通常包括与 FOSS 许可不兼容的条款,走上这条道路的 SSO 必须首先修改其 IPR 政策,或者将这些条款从政策中移除除。使 SSO 的知识产权政策与 FOSS 的开发和许可相协调是一个快速发展的过程,许多 SSO 正在考虑多种方法。在这些实验成为广泛接受的最佳实践之前,可能还需要一些时间。 源代码存储库 全球合作开发 FOSS 可以是一个非常低成本和有效的过程,几乎不需要任何支持性的基础设施。Linus Torvalds 在 1991 年启动了 Linux 内核项目,它的迅速成功就证明了这一点。考虑到服务器空间成本的急剧下降,高度分布式的开发团队已经被证明有能力组成并一起工作,并且 IT 信息在网络上通常为病毒式传播,今天启动一个新项目的唯一(但也是实质性的)挑战是吸引和保持更多志愿者参与者的兴趣。 FOSS开发托管服务由一些公司提供,这些公司被称为源代码存储库,它们不仅提供服务器空间,而且还提供各种其他服务,如版本控制、开发工具、法律贡献协议表格、指定分发许可证和基于 wiki 的交流平台,所有这些服务都是免费提供的 (额外的服务通常是收费的)。SourceForge 于 1999 年底推出,是早期的领导者;截至 2009 年初,它报告说有超过 200 万的注册用户和超过 23 万个活跃(和不活跃)的开放源码软件项目。然而,随着时间的推移,它将主导权让给了 GitHub,而 GitHub 如今是市场的领导者,以托管库的数量级来衡量。截至本文撰写时,GitHub 托管了超过一亿个这样的项目。这些项目的范围既包括单个开发者的一次性代码贡献,也包括由充满活力的全球开发者社区支持的代码库。 开源软件供应商 虽然开源软件开发模式并不像风险资本投资者希望的那样日进斗金,但也有一些可靠的投资,包括 MySQL,一个由瑞典公司 MySQL AB 拥有和赞助的流行的关系数据库管理系统。2008 年 2 月,MySQL 被 Sun Microsystems 以约10亿美元的价格收购。当微软在 2018 年 10 月收购 GitHub 时,支付了 74 亿美元。而当 IBM 收购最受欢迎的通用 Linux 发行版的分销商 RedHat 时,它支付了 340 亿美元 —— 这是 IBM 有史以来收购公司的最大金额。 营利性公司以其他方式从开源软件中获得巨大的商业价值,并因此为开源软件提供了巨大的支持,不仅通过对项目和支持机构(如 ASF、EF 和 LF)的直接金钱捐助,而且通过允许(或指导)他们的员工参与 FOSS 项目,这反过来又以各种方式为公司自身带来回报(例如,获得第一手的代码演化,影响代码决定的未来方向)。 促进、支持和保护 成立了多种多样的非营利实体来支持、促进和保护 FOSS。 自由软件基金会 FSF(Free Software Foundation)和开源计划 OSI(Open Source Initiative)是关乎 FOSS 生态系统历史和存在的两个基础组织。前者由 Richard Stallman 创建,目的是推广自由软件概念和支持 GNU 项目。后来,它负责管理 GPL 和其他自由软件许可证的创建和发展。OSI 的成立一定程度上是对 FSF 的延迟反应,今天主要是作为开源定义的保管者和哪些许可证被认为是符合该定义,从而被添加到它所主持的批准的开源软件许可证列表中的仲裁者而闻名。 其他重要的组织也在公司的赞助下成立以保护 FOSS,或者表明保护 FOSS 不受侵害的决心。在 Linux 商业化的早期,这种资金充足的实体的成立是很重要的,当时一家名为 SCO 的公司对当时使用 Linux 发行版的一些大公司提起侵权诉讼。其中一个这样的组织是 OSDL(现在的 Linux 基金会),它的核心活动包括建立一个数百万美元的法律辩护基金。这个基金的目的是让 FOSS 的开发者放心,如果他们因为无意中侵犯了一家专利公司的专利而被起诉,别人会资助他们的法律辩护。当 SCO 公司后来破产时,开源软件已经被更多的人接受(包括那些最初认为它是一种威胁的公司),开发者的担忧程度有所降低。 然而,专利关注并没有完全消失,这是因为 "非实践实体(non-practicing entities)" —— 客观地说法是专利 "巨魔" —— 的扩散。这些实体不生产和销售产品。相反,他们开发技术并申请专利 —— 或者干脆购买专利 —— 目的是要求那些确实生产侵犯专利的产品或提供服务的公司支付专利使用费。 一个专门为保护目的而成立的营利实体是开放发明网络 OIN(Open Invention Network),由 IBM、Novell、Phillips、Red Hat 和 Sony 于 2005 年成立,初始资金非常可观,目的是为购买专利提供资金,否则这些专利可能会对 Linux 或其他各种重要的、与 Linux 相关的开源软件造成影响。然后,这些专利可以为成员的开源软件用户针对任何可能指控他们使用的开源软件程序侵犯第三方专利的公司提供保护。OIN 力图通过招募更多的成员,以及与非成员公司签订交叉许可协议来扩大其保护网的范围,这些协议的条款允许所有成员和交叉许可方在被起诉时使用不断增加的自有和许可专利池。截至本文撰写之时,有超过 6 万项专利是 OIN "专利不侵犯(patent nonaggression)" 网络的一部分。 另一个非常活跃的法律组织是 "软件自由法律中心 SFLC(Software Freedom Law Cente)",它的性质和活动更类似于一个法律援助机构。SFLC 在更大程度上关注个人社区开发者和任何规模的 FOSS 项目的需求,并为其非营利客户提供免费法律服务。它还提供关于 FOSS 主题的有用出版物,如 FOSS 开发的最佳实践,并主张使用 GPL 许可证。 总结以及展望未来 FOSS 现象的发展在社会和法律、经济和政治等各方面都是独一无二的。今天,这种开放和合作开发资源的方法已经扩展到其他各种领域,产生了多种新的用法,包括开放硬件、开放数据、开放科学和开放制药。随着传统的工业化、民族化经济完成向更加单一、全球互联、技术型经济和社会的转型,这一扩张性进程可望继续。如果是这样的话,那么仔细研究 FOSS 发展至今的成功和失败,以及密切观察它在未来如何发展,将特别具有指导意义。 但不管是哪种情况,毫无疑问,FOSS 是会一直存在下去的,或者说,在 FOSS 过程中开发的软件的商业意义会不断增强。但不太确定的是,FOSS 的政治、社会和技术现象在未来几年将如何继续发展。一些更有趣的问题还有待回答,包括以下几个方面。 政治演变: Richard Stallman 和其他自由软件支持者的革命热情是否会持续下去,还是像过去的许多社会和政治运动一样,随着年轻的开发者习惯于源代码的随时可得,开始认为 FOSS 是理所当然的,这种热情也随之消散?随着微软现在对 FOSS 的热情拥抱,自由软件运动失去了共同的敌人,随之而来的是能量的消退和凝聚点的缺失。同样,市场也已经确定了一些广泛使用的许可证,而且这些许可证现在已经稳定了很多年。伴随着稳定,人们对 FOSS 许可证的法律细节的兴趣也在下降,也许,这些许可证所体现的价值意义也在下降。 开发者的杠杆作用:今天,来自世界各地的软件工程师有能力合作开发具有巨大商业价值的软件,这使他们对自己的努力方向具有前所未有的权力和独立性,而跨国公司则越来越多地依靠开源软件项目来增加自己的财富。公司对其直接控制范围以外的力量的这种依赖,与它们一贯的规避风险的目标和战略背道而驰。个人软件工程师 ("劳动力")协作小组目前所享有的前所未有的影响力是否会得到维持,或者公司("管理")的传统优势是否会随着时间的推移而重新显现,从而导致开源软件过程的 "沦陷"?如果发生这种情况,是否会导致 "输/赢" 的局面,扼杀推动开源软件现象的创造力和能量? 法律方面的发展:一些最常用的 FOSS 许可证(例如 GPL 2.0 和 GPL 3.0)具有新特性,但在法庭上却很少被解释。它们是否会在法庭上得到支持,如果不会,开源软件社区将如何修改这些基本工具? 政府的吸收和认可:许多政府(如欧盟)出于社会、经济和政策的原因已经开始青睐 FOSS,这种实质性的购买力会对软件开发和商业化实践产生什么影响? 最佳实践:虽然最好的 FOSS 项目非常成功,但它们往往取决于个人的技能和领导能力。同时,一个项目的法律和经济地位(例如,非法人、法人、赞助等)也可能是意外或设计的结果。鉴于 FOSS 的重要性日益增加,而且这类程序有可能长期保持有用,FOSS 项目的稳定性和成功将变得越来越重要。是否会编制组建、治理、管理和分发的最佳实践,如果编制,是否会广泛实施? 答案:诸如此类的问题,是观察其无序演变的结果,还是通过受影响的利益相关者深思熟虑后来回答?是由哪些利益相关者,在什么场合回答? 影响:如上所述,开源软件的基本原则对其他领域具有广泛的适用性,包括数据、硬件和药物。同时,在这些领域发展合作技术也可以为开源软件的发展提供借鉴。这些并存的力量将如何继续相互影响和借鉴? 标准/自由软件的相互作用:一些标准制定组织的知识产权政策条款与一些或所有 FOSS 许可证的条款相冲突,使得在 FOSS 中很难实现这些 SSO 的标准,导致两个社区之间的关系紧张。起初,一些 FOSS 开发者公开敌视 SSO,对 SSO 中几十年来发展起来的平衡知识产权的模式或它们所解决的问题没有什么同情心。相反,他们要求 SSO 改变规则。一些开发者表示,他们认为 FOSS 可以完全消除对标准的需求。在过去的几年里,几十个 SSO 已经开始更新他们的知识产权政策,使他们不仅可以更轻松地在FOSS 中实现其标准,而且还可以主持 FOSS 的开发。一些 FOSS 项目的领导者也得出结论,认为需要应用编程接口标准和其他规范来提高 FOSS 在企业中的效率,并向 SSO 伸出援手,创建他们认为必要的标准。这种新生的和睦关系是会蔓延和维持还是会动摇,还有待观察。 FOSS 将去向何处:目前,适应开发 FOSS 的 SSO 数量远远多于获得标准开发能力的 FOSS项目。随着 SSO 不仅更擅长 FOSS 开发,而且还能同时开发相关的 FOSS 和 标准,随着 FOSS 架构在许多行业的成熟,企业是否会开始将 FOSS 的开发从 FOSS 项目转移到 SSO?因为在 SSO 中,他们可以更有效地开发包含标准和 FOSS 的混合协作解决方案。 专利法:在美国 —— 许多软件都是在那里开发和使用的 —— 对在软件中实现的发明申请专利的能力在过去 25 年中发生了几次变化。今天,一系列的利益相关者对美国专利制度中的一些 “缺陷” 感到非常不满。随着时间的推移,这些缺陷包括从授予过于宽泛的专利,到诉讼费用和诉讼结果的变化(通常取决于原告选择哪个联邦地区法院作为诉讼地点)。有些人看得更远,认为对软件发明适用专利保护根本没有道理。美国的法院是否会继续缩小成功授予和成功实施软件专利的大门,或者像最近发生的那样,推翻自己早先的观点,即某些类型的软件完全可以申请专利?如果是这样的话,对软件开发行业会有什么影响,对 FOSS 的未来会有什么影响? 对这些问题的回答确实会很有趣。如果这些问题能得到正确答案,将对全球经济产生实质性的积极影响。毋庸置疑,如果全世界的个人开发者、公司和政府都能意识到从开源软件中获得的互惠互利,并共同努力培育已经产生了如此有用的 —— 也许是令人惊讶的 —— 结果的独特和革命性的进程,那么这将是符合所有人利益的。 相关阅读 开源软件简史(一) 开源软件简史(二):开源软件许可证和合法性

优秀的个人博客,低调大师

Qt Creator 4.12.4 发布,Qt 集成开发环境

Qt Creator 4.12.4现已发布。此版本修复了 iOS 设备上的 C ++ 调试问题,并将 MCU 支持修改为适用于 MCU 1.3 版本的新 Qt。 具体更新内容如下: Editing 修复了在二进制文件中搜索时崩溃的问题 QML 修复了 singletons 的完成 修复代码模型重置后的导入扫描 Projects CMake 修复了与在线安装程序一起安装时搜索“ninja”的问题 Platforms MCU 适应了针对 MCU 1.3 的 Qt 中的更改 更多详细内容可参见更改日志。 下载地址:https://www1.qt.io/offline-installer

优秀的个人博客,低调大师

Qt Creator 4.12.3 发布,Qt 集成开发环境

Qt Creator 4.12.2现已发布。此版本修复了以下问题:通过 Android 选项页安装适用于 Android 的 OpenSSL 时,Qt Creator 可以递归删除当前工作目录,而无需给用户提供明智的选择。 具体更新内容如下: Editing 修复了 cursor navigation 后缺少补全更新的问题 修复了字符串文字的行号 修复 freeze Projects 解决了“添加构建库搜索路径”和较旧的 CMake 版本的问题 修复了没有名称的项目被视为无效的问题 Debugging 修复了 Qt 5.14 和更高版本的 QDateTime pretty printer 修复了 Qt 5.15 和更高版本的QJson pretty printer Platforms 修复了在设置中安装适用于 Android 的 OpenSSL 可能会删除当前工作目录的问题 解决了保存设置的问题 更多详细内容可参见更改日志。 下载地址:https://www1.qt.io/offline-installers

优秀的个人博客,低调大师

Qt Creator 4.12.2 发布,Qt 集成开发环境

Qt Creator 4.12.2现已发布,具体更新内容如下: General 修复使用 Lococator 打开文件时的行和列支持 Editing C++ 修正了许可证模板设置的持久性 修正了诊断配置的持久性 QML 修复了 QML Preview 崩溃的问题 Projects Compilation Database 修复了Kit的 toolchain可能会更改的问题 Analyzer Clang 修复 Clazy 1.6 的问题 版本控制系统 ...... 更多详细内容可参见更改日志。 下载地址:https://www1.qt.io/offline-installers

优秀的个人博客,低调大师

Qt Creator 4.11.1 发布,QT 集成开发环境

Qt Creator4.11.1已经发布了,具体更新内容如下: Editing 修复了没有专门的 highlighter 定义的编辑器的“Visualize Whitespace” Language Client 修复了重启服务器时的故障 C++ 修复了有关 C ++ 98 与 MSVC 不兼容的错误警告 修复了 GCC 意外添加的内部包含路径 修复了“Convert to Stack Variable”和 “Convert to Pointer” FakeVim 修复了goto next和previous split 修复了连续线的缩进 Projects 修复了关闭应用程序输出时崩溃的问题 修复了编译器检测失败时的崩溃 CMake 修复了项目树中的子目录结构 Qbs 修复了构建 Android 项目的问题 Generic 修复了更新部署数据时的崩溃 Debugging 修复了在调试失败时“在调试器退出时切换到先前模式”崩溃的问题 修复了 LLDB 的高 CPU 使用率 Qt Quick Designer 修复了从 Connection 中删除单个信号的问题 Test Integration 修复了调试时停止测试的问题 Windows 解决了 Qt 中 HiDPI 的问题 详情可查看更改日志。

优秀的个人博客,低调大师

Qt Creator 4.10.2 发布,QT 集成开发环境

Qt Creator 4.10.2已经发布了,此版本主要是错误修复,内容如下: General: 将实验性的 SerialTerminal插件添加到预构建的二进制文件中 Projects: CMake 修复了部署到远程 Linux 设备时的问题 Qbs 在指定自定义安装目录时,修复运行配置中的可执行路径 Debugging: 修复了日志输出时的崩溃 修复了删除之前拖动的断点时的崩溃 修复更改值时 watch item 的高亮显示 Test Integration: GTest 修复Run Under Cursor Platform Specific: Windows:修复 Visual C++ 构建工具 2015 和 MSVC 2010 的检测 IOS:修复部署到 iOS 13 设备 请见发布说明。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册