首页 » 软件开发 » 2023 年各编程语言最受欢迎的许可证(微软许可证最受欢迎编程语言组件)

2023 年各编程语言最受欢迎的许可证(微软许可证最受欢迎编程语言组件)

admin 2024-07-24 08:20:28 0

扫一扫用手机浏览

文章目录 [+]

原文链接:https://blog.opensource.org/the-most-popular-licenses-for-each-language-2023/

未经允许,禁止转载!

作者 | Nick Vidal 译者 | 明明如月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)

2023 年的报告强调了帮助开发者了解并正确使用软件许可证的重要性。
虽然开源软件是现代软件开发的基石,但数据显示,许多软件都是在没有明确定义许可证的情况下被共享和使用的。

2023 年各编程语言最受欢迎的许可证(微软许可证最受欢迎编程语言组件) 软件开发
(图片来自网络侵删)

利用开源倡议(OSI)社区项目 ClearlyDefined 的数据,Aleksandrs Volodjkins 深入分析了 2023 年 9 月 21 日的数据集。
ClearlyDefined 是一个专注于提供软件组件起源和许可的全面、标准化元数据的协作项目。
其数据揭示了当前主导开源生态系统的趋势。

总体来看,MIT 和 Apache 2.0 是目前最普遍的许可证选择。
它们的简洁性和允许在极少限制下修改及分发代码的特性,这无疑是它们能够被广泛采用的关键因素。

不同包管理器的许可证选择各异,每种编程语言的生态系统也有其许可偏好。
例如,JavaScript 社区普遍使用 MIT 许可证,Python 开发者则偏爱 Apache 2.0。
ISC 许可证因其简洁性和灵活性,在 JavaScript 社区中也颇受欢迎。
BSD 许可证,包括 3-Clause 和 2-Clause 版本,尽管采用率稳定,但相对较低。
另外,体现自由软件精神的通用公共许可证(GPL)虽然存在,但普及程度不及 MIT 和 Apache 2.0。

无许可证组件的挑战

虽然已有许多成熟的许可证可供选择,ClearlyDefined 数据集却揭示了一个问题:许多开源组件未指定许可证,或标记为 SPDX “NOASSERTION”。
这种不明确性带来了关于这些组件使用权限的不确定性,可能会妨碍合作,并给开发者带来法律和安全风险。

追求明确性和标准化的必要性

解决无许可证组件的问题对于维持开源社区的健康和持续发展至关重要。
开发者、组织和整个社区都能从明确、标准化的许可中受益。
这不仅有助于促进合作,还能确保法律合规,保护贡献者的知识产权。
此外,它还帮助开发者追踪可能存在漏洞的组件。

共同寻求解决方案

无许可证组件问题是一个需要社区共同努力解决的挑战。
为解决这一挑战,ClearlyDefined 项目邀请来自各组织的开发者共同创建全球软件组件许可元数据数据库。
该项目通过一个简单的 API 提供每个组件的许可元数据,并让开发者贡献缺失或错误的信息,共建准确的数据库。
查看详情!

JavaScript (npm) 的许可证使用情况

在 JavaScript 的 npm 包管理器中,大多数组件采用 MIT 许可证(占比 53% ),其次是 Apache 2.0(14.76%)和 ISC(10.48%)。
ISC 许可证由互联网系统联盟发布,在 JavaScript 项目中非常流行,但在其他编程语言中的使用相对较少。
还有一小部分项目无许可证(8%)或是没有 SPDX 识别的许可证/无声明(5.49%)。

.NET (Nuget) 的许可证使用情况

在 .NET的包管理器 Nuget 中,最引人注目的数据是有相当大比例的组件要么没有许可证(26.76%),要么被归类为无声明(31.95%)。
这表明 .NET 生态系统中存在较高程度的许可不明确性。
另一方面,使用 MIT 许可证的组件占比为21.55%,而采用 Apache 2.0 许可证的组件占比为13.37%。

Java (Maven) 的许可证使用情况

在 Java 的包管理器 Maven 中,大多数组件采用 Apache 2.0 许可证(占比高达 69.18%)。
而使用第二受欢迎的 MIT 许可证的组件仅占 7.4%。
此外,无声明的组件所占比例为 14.75%,显示出一定程度的许可不确定性。

Python (Pypi) 的许可证使用情况

在 Python 的包管理器 Pypi 中, MIT 和 Apache 2.0 许可证的使用率分别为 29.14% 和 23.98%,显示它们在 Python 社区的广泛受欢迎。
使用 BSD 2-Clause 和 GPL 3.0 许可证的组件分别占 6.25% 和 6.11%。
值得注意的是,无许可证的组件比例相当高,达到 23.69%。

Ruby (Gem) 的许可证使用情况

在 Ruby 的包管理器 Gem 中,大多数组件采用 MIT 许可证( 63.11%),显示出 Ruby 社区对 MIT 许可证的强烈偏好。
其次是 Apache 2.0 和 BSD 3-Clause 许可证,分别占 8.22% 和 6.66% 。

PHP (Composer) 的许可证使用情况

在 PHP 的包管理器 Composer 中,MIT 许可证非常受欢迎,占据了 64.37% 的比例。
此外,BSD 3-Clause 和 Apache 2.0 许可证的使用率分别为 5.72% 和 3.92% ,显示出这些许可证在 PHP 社区中也有一定的存在。

Go 的许可证使用情况

在 Go 语言中,Apache 2.0 和 MIT 许可证是最常用的许可证,分别占 32.49% 和 20.1%。
值得注意的是,相当一部分 Go 组件没有指定许可证,比例高达 29.67%,这表明在 Go 生态系统中存在一定程度的许可不确定性。

Rust (Crate) 的许可证使用情况

在 Rust 的包管理器 Crate 中,使用 MIT 和/或 Apache 2.0 许可证的项目占主导地位,两者合计占了 83.52%。
这表明 MIT 和 Apache 2.0 许可证在 Rust 社区中极为流行。

你工作中使用哪种编程语言?你是否熟悉文中提到的各种开源许可证?你是否注意过你使用的开源软件包是否有适当的许可证?

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读5 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0