选择开源项目什么最重要?

开发人员在决定是否使用某个开源项目时考虑到的最重要事项是什么?代码质量?安全性?好的文档?

上述因素都很重要,但根据 Tidelift 和 The New Stack 的联合调查,控制着开源项目的开源许可证才是最需要考量的因素。86% 的受访者认为“可接受的开源许可证”对于决定使用开源软件包来讲非常重要,其中 61% 的人将其描述为“非常重要”。在超过千名员工的大公司中,认为开源许可证极其重要的开发人员占比高达 78%。

当然,许可证不是被考虑的唯一因素。调查显示,开源项目的活跃程度和维护状况的重要性也不相上下。


不过,开源许可证排在第一位还是有着充分的理由:没有开发人员愿意在不知道接下来将如何发展的情况下,开始使用新的软件包。这些年来,高度宽松的许可证(Apache,BSD,MIT)采用率一直在急剧攀升,而限制性更强的许可证(GPL)却呈下降趋势。

2000 年代初期,自由软件的倡导者开始反对开源许可证的激增,随着 OSI 发起了一个旨在遏制许可证扩散的项目,这一争论在 2014 年到达顶峰。当时,许多公司或开发人员各自发布了虚有其名的许可证,但内容和本质与现有许可证几乎没什么不同,这只会导致开源的合规性变得更为复杂。

此后的十多年来,开源许可证的格局基本上保持不变。近两年,出现了一些由新一代开发者制定的许可证,例如用于争取改善工作条件的 anti-996 license,加入了道德条款的 Hippocratic license 等等。对于这些许可证背后的意图,人们可以同意或是不同意。更重要也更难争辩的,是它们的实用性。

简而言之,开源许可证是一个非常实际的问题。开发人员希望寻找有效的软件,并能够长久维持。调查还显示,他们对解锁新的开源许可证并不感兴趣。

消息来源:https://www.techrepublic.com/article/developers-still-care-a-lot-about-open-source-licensing

推荐阅读

Linus Torvalds:我不再是程序员了

做开源应知道的三个法律要点

TypeScript 3.7 稳定版发布

Mac App Store 拒绝部分使用 Electron 开发的应用

Visual Studio Online 终于公开上线了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

居然不知道和的区别?

前言那年刚找工作那会,就碰到过这么一个简单的题目“&和&&的区别” 那时知识面窄,大概也就知道1.都是作为逻辑与的运算符。2.&&具有短路功能,计算出前者false,就不需计算后者的true or false。后来在微信群里…

【DevOps进行时】自动化测试之单元测试

在DevOps建设中,主流的测试分层体系可以分为单元测试、接口测试和界面测试。Google曾提出一个经验法则:70%的小型测试,20%的中型测试,10%大型测试。当然,这个比例不是确定的,不同类型的项目,测试…

Zongsoft.Data 发布公告

很高兴我们的 ORM 数据访问框架(Zongsoft.Data)在历经两个 SaaS 产品的应用之后,今天正式宣布对外推广。它是一个类 GraphQL 风格的 ORM(Object/Relational Mapping) 数据访问框架。又一个轮子?在很长时间里,.NET 阵营似乎一直缺乏一个被普遍…

使用 .NET Core模板引擎创建自定义的模板和项目

本文要点.NET CLI 包含了一个模板引擎,它可以直接利用命令行创建新项目和项目项。这就是“dotnet new”命令。默认模板集涵盖了默认控制台和基于 ASP.NET 的应用程序以及测试项目所需的基本项目和文件类型。自定义模板可以创建更加有趣或定制化的项目和项目项&#…

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue)

时间真快,转眼今年又要过去了。回想今年,依次开源发布了Colder.Fx.Net.AdminLTE(254Star)、Colder.Fx.Core.AdminLTE(335Star)、DotNettySocket(82Star)、IdHelper(47Star),这些框架及组件都是本着以实际出发,实事求是的态度&…

.Net开发3年,应聘大厂惨遭淘汰,如何翻身打脸面试官?

(设计师忘记了,这里还有个双十一福利课,还能1元秒杀!)

面对金九银十铜十一你真的准备好了吗?

作者:回首笑人间,高级Java工程师一枚,热爱研究开源技术,架构师社区合伙人!前言:又是一年一度的金九银十跳槽季,回首在经历了半个月的求职奔波后,终于又能安稳的静下心来敲代码了&…

深入理解二叉搜索树

什么是二叉搜索树? 顾名思义,一颗二叉搜索树是基于二叉树来组织的,它包括许多动态集合操作(Search,MiniNum, MaxiNum, Prodecessor, Successor, Insert 和Delete等)。二叉搜索树上的基本操作所花费的时间与…

深入理解堆(最大堆,最小堆及堆排序)

基本概念: 1、完全二叉树:若二叉树的深度为h,则除第h层外,其他层的结点全部达到最大值,且第h层的所有结点都集中在左子树。 2、满二叉树:满二叉树是一种特殊的的完全二叉树,所有层的结点都是最…

王炸吐血整理60个Redis面试题,全网最全了

1.Redis 是一个基于内存的高性能key-value数据库。 2.Redis相比memcached有哪些优势: memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型redis的速度比memcached快很多redis可以持久化其数据3.Redis是单线程 redi…

H.266 参考软件VTM下载和安装

1、下载安装cmake ,下载地址https://cmake.org/。 安装后打开控制面板-系统-高级系统设置-环境变量-PATH-编辑-输入cmake.exe的路径即可。 2、如果你之前(HEVC)时已经下载好了SVN,直接在桌面点击右键SVNcheckout,出来…

VTM编码结构框架

VTM流程差不多就是这样子的啦,后续会继续补充,由于能力有限,如有错误,欢迎指正。在后面会进一步分析每一个函数,并分析流程的细节。

AspNetCore应用注意这一点,CTO会对你刮目相看

背景已经有很多文章记录了Web程序中采用异步编程的优势和.Net异步编程的用法, 异步编程虽然不能解决查询数据库的瓶颈, 但是利用线程切换,能最大限度的弹性利用工作线程, 提高了web服务的响应能力。????9012年了,再…

ASP.NET Core如何限制请求频率

ASP.NET Core如何限制请求频率,为了防止恶意请求,我们往往会对接口请求的频率做限制,比如请求间隔,一段时间内请求的次数,针对部分IP做出不同的限制策略如何去限制请求频率不需要我们去实现,用上AspNetCore…

从AppDomain迁移到AssemblyLoadContext

AssemblyLoadContext基本上AssemblyLoadContext是AppDomain的继承者,它提供相同而且更多的功能-除了安全边界(隔离)。最小的安全边界是进程,因此你将需要使用进程间通信来正确隔离数据和代码执行。官网文档中提到Appdomain已经过时…

【.NET Core 3.0】小技巧 || 原生DI一对多注入

本文是一个技巧文章,内容很短,但是被提问的频率很高,所以记录下来,以待大家不时之需。以下的代码,是通过原生的依赖注入来讲解的,其他的第三方框架,可以自己自定义扩展,效果是一样的…

大话数据结构学习笔记二:算法

一 算法定义 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 二 算法的特性: 1 输入输出:算法具有零个或者多个输入,至少有一个或者多个输出。 2 有穷性&…

ASP.NET Core 3.0 gRPC 身份认证和授权

一.开头聊骚本文算是对于 ASP.NET Core 3.0 gRPC 研究性学习的最后一篇了,以后在实际使用中,可能会发一些经验之文。本文主要讲 ASP.NET Core 本身的认证授权和gRPC接入,认证方式采用目前主流的 JWT 结合 IdentityServer4。二.服务端配置我们…

ASP.NET Core中使用MediatR实现命令和中介者模式

作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/9866068.html在本文中,我将解释命令模式,以及如何利用基于命令模式的第三方库来实现它们,以及如何在ASP.NET Core中使用它来解决我们的问题并使代码简洁。因此…

使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由

路由机制会把一个请求的URI映射到一个Controller上面的Action,所以当你发送一个HTTP请求的时候,MVC框架会解析这个请求的URI,并尝试着把它映射到一个Controller上面的Action。两个路由中间件在ASP.NET Core 3.x里面,建议使用Endpo…