首页 > 其他分享 >常见的开源协议描述

常见的开源协议描述

时间:2024-02-18 14:57:30浏览次数:28  
标签:GPL 协议 常见 开源 BSD 软件 源代码 源程序 描述

GPL协议、LGPL协议与BSD协议的法律区别?

简而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协议把自己编写的源程序进行公开。GPL协议要求的关键在于开放源程序,但并不排斥软件作者向用户收费。虽然如此,很多大公司对GPL协议还是又爱又恨,爱的是这个协议项下的软件历经众多程序员千锤百炼的修改,已经非常成熟完善,恨的是必须开放自己后续的源程序,导致竞争对手也可以根据自己修改的源程序开发竞争产品。

正因大公司对GPL协议在商业上存在顾虑,因此,另两种协议被采用的更多,第一种是LGPL(亦称GPL V2)协议,可以翻译为更宽松的GPL协议。与GPL协议的区别为,后者如果只是对LGPL软件的程序库的程序进行调用而不是包含其源代码时,相关的源程序无需开源。调用和包含的区别类似在互联网网网页上对他人网页内容的引用: 如果把他人的内容全部或部分复制到自己的网页上,就类似包含,如果只是贴一个他人网页的网址链接而不引用内容,就类似调用。有了这个协议,很多大公司就可以把很多自己后续开发内容的源程序隐藏起来。

第二种是BSD协议(类似的还有MIT协议)。BSD协议鼓励软件的作者公开自己后续开发的源代码,但不强求。在BSD协议项下开发的软件,原始的源程序是开放源代码的,但使用者修改以后,可以自行选择发布源程序或者二进制程序(即目标程序),当然,使用者有义务把自己原来使用的源程序与BSD协议在软件对外发布时一并发布。因为比较灵活,所以BSD深受大公司的欢迎。


著作权归@pdai所有 原文链接:https://pdai.tech/md/interview/x-interview-2.html

标签:GPL,协议,常见,开源,BSD,软件,源代码,源程序,描述
From: https://www.cnblogs.com/databank/p/18019298

相关文章

  • 【开工大吉】推荐4款开源、美观的WPF UI组件库
    前言经常有小伙伴在技术群里提问:WPF有什么好用的UI组件库?,今天大姚给大家推荐4款开源、美观的WPFUI组件库。WPF介绍WPF是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的Windows应用。它提供了灵活的布局、数据绑定、样式和模板、动画效果等功能,让开发者可以创建出......
  • 25个常见的python系统设计源码(python+mysql+vue)
    收集整理了25个常见的python系统设计源码。可以用于课程作业或者毕业设计。所有系统都带源码和文档。1.网上商城系统这是一个基于python+vue开发的商城网站,平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。......
  • 【机器学习】机器学习常见算法详解第4篇:KNN算法计算过程(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用,结合场景解决实际问题。包括K-近邻算法,线性回归,逻辑回归,决策树算法,集成学习,聚......
  • C#开源免费的Windows右键菜单管理工具
    前言今天分享一个C#开源、免费、纯粹的Windows右键菜单管理工具:ContextMenuManager。工具主要功能程序支持国际化多语言显示。启用或禁用文件、文件夹、新建、发送到、打开方式、自定义文件格式、IE浏览器、WinX等右键菜单项目。对上述场景右键菜单项目进行修改名称、修改图......
  • 《安富莱嵌入式周报》第332期:铷时钟控制板,航天战斗机C++代码标准,免费开源芯片设计,在线
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版https://www.bilibili.com/video/BV1tU421d7ZK/目录:1、Rubidium铷时钟控制板2、开源小设计,简易万用表连通性测试仪3、免费开源芯片设计软件Electric4、在线电路仿......
  • Socket.D 开源输传协议的集群转发特性
    1、简介Socket.D是基于"事件"和"语义消息""流"的网络应用层协议。底层可以依赖TCP、UDP、KCP、WebSocket等传输层协议。其开发背后的动机是用开销更少的协议取代超文本传输协议(HTTP),HTTP协议对于许多任务(如微服务通信)来说效率低下。2、Socket.D的集群应用在Socket.D......
  • 【常见问题】Java 8 date time type `java.time.LocalDateTime` not supported by def
    问题描述将一个包含LocalDateTime对象的集合进行序列化和反序列化时,可能会遇到以下异常:Causedby:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:Java8date/timetype`java.time.LocalDate`notsupportedbydefault:addModule"com.fasterxml.jack......
  • 书生开源大模型训练营-第4讲-笔记
    1、FineTune简介1.1、为什么要微调?大语言模型有各行各业的通用知识,但具体深入到某个领域,模型表现不尽如人意,需要微调1.2、两种微调:增量预训练和指令微调1.4、增量预训练:给模型投喂额外的特定领域的知识语料,模型在新的语料上继续学习训练。1.5、指令微调:基座模型学习到到是在须......
  • 书生开源大模型训练营-第3讲-笔记
    1、大模型的局限性a、知识只能截止到训练时间;b、垂直领域的专业能力有限;c、训练成本高,定制化成本高; 2、解决大模型局限性的两种思路RAGVSFTRAG:外挂一个知识库,通过检索得到文档,再将检索到文档和问题一起输入给大模型来生成答案。优点:成本极低、知识可更新;缺点:受限于基座大......
  • 开源免费的专注于建立大型个人知识库推荐-Trilium Notes
        TriliumNotes是一个分层的笔记应用程序,专注于建立大型个人知识库。支持相当丰富的markdown,包括mermaid和latex,而且即时渲染,和typora一样。支持代码类型的笔记,有高亮。 Trilium与其说是笔记软件,不如说是个人wiki。个人知识数据库、收藏夹、代码块、手账、思......