鲲鹏社区首页
中文
注册
手把手教你参与openGauss开源社区贡献(PR篇)简介

手把手教你参与openGauss开源社区贡献(PR篇)简介

openGauss

发表于 2023/08/25

0

尊敬的广大开发者和同学们好,为了满足大家对开源社区开发的兴趣,帮助大家参与openGauss开源社区贡献,本文将手把手教您进行一次最关键的开源社区尝试——提交您的第一个PR,欢迎大家参与!

本文主要介绍了以下知识:

(1)开源与开源文化

(2)如何准备好PR提交环境

(3)提交你的第一个PR

自由软件——开源软件的源头

Richard Matthew Stallman,1983年9月推出GNU项目,并发起自由软件运动(free software movement或free/open source software movement,简称FSM或FOSSM),推广用户有使用、复制、研究、修改和分发软件等权利。

1985年10月成立自由软件基金会(Free Software Foundation,FSF),致力于推广自由软件。

开源软件

1. 开源软件的概念

开放源代码促进会(Open Source Initiative,缩写:OSI)于1998年2月创建,旨在推动开源软件发展,首次正式提出开源软件(open source software)的概念:一种源代码可以任意获取的计算机软件,这种软件的著作权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改以及以任何目的向任何人分发该软件。开源协议通常符合开放源代码的定义的要求。

2. 开源软件的两种模式

Eric Steven Raymond, 1997年5月27日发表《大教堂与市集》(The Cathedral and the Bazaar)以Linux的核心开发过程以及作者自己主持开发的开放源代码软件Fetchmail为讨论案例讨论了两种不同的自由软件开发模式:

(1)大教堂模式(The Cathedral model)

(2) 市集模式(The Bazaar model)

3. 著名的开源软件

1991年芬兰大学生Linus Torvalds在GNU通用公共许可证下发布了最初是为自己创作的Linux操作系统内核,最初这只是他的一项兴趣爱好。随后,这项兴趣爱好便逐步演变成了拥有最大用户群的操作系统。并逐渐发展成为世界上最为活跃的开源基金会Linux Foundation, 吸引了来自世界各地的超过500家公司的超过235k开发者参与。

开源协议(License)

1. 什么是License

License是游戏规则,是开源软件许可证。在开源软件代码仓/包中,通常在NOTICE,COPYRIGHT,AUTHOR,README,COPYING,LICENSE说明其采用的开源许可证。

(1)源软件使用遵从义务

(2)开源使用声明义务

(3)代码对外开源义务

(4)修改声明义务

2. 常见的开源协议有哪些

你知道有哪些开源协议(License)呢?下面列出了一些:

Apache License 2.0

BSD 3-Clause "New" or "Revised" license

BSD 2-Clause "Simplified" or "FreeBSD" license

GNU General Public License (GPL)

GNU Library or "Lesser" General Public License (LGPL)

MIT license

Mozilla Public License 2.0

Common Development and Distribution License

Eclipse Public License version 2.0

Mulan Permissive Software License v2 (MulanPSL - 2.0)

下面详细地介绍几种开源协议。

GPL(Gnu Public License)

GPL许可证的核心含义是,允许任何人观看、修改,并散播程序软件里的原始程序码,条件是如果你要发布修改后的版本就要连源代码一起公布。

GPL V2许可说明

允许各种链接,但被链接的整个产品需要开源

允许修改,但被修改的部分及整个产品均需要开源

通过pipes, sockets的命令行参数与GPL软件进行通讯,不会导致私有软件被传染

仅原则性声明专利应免费许可,无详细规定

LGPL V2许可说明

允许各种链接,动态链接无开源义务,静态链接需要开放与之链接私有软件的.o文件与makefile

允许修改再链接到私有软件,但是个性增加的功能实现不能依赖私有软件的数据功能

允许不受限制的使用头文件中数值参数,数据结构布局,存取,小宏,内联参数,十行以内的模板

仅原则性声明专利应免费许可,无详细规定

木兰宽松许可证(MulanPSL v2)

2020年2月14日,“木兰宽松许可证”第2版(MulanPSL v2)经过严格审批,正式通过开源促进会(OSI)认证,被批准为国际类别开源许可证(International licenses)。意味着其正式具有国际通用性,可被任一国际开源基金会或开源社区支持采用,并为任一开源项目提供服务。

与众多开源协议相比,Mulan PSL 在其它协议的基础上进行了以下优化:

许可证内容以中英文双语表述,中英文版本具有同等法律效力,方便更多的开源参与者阅读使用,简化了中国使用者进行法律解释时的复杂度。

明确授予用户永久性、全球性、免费的、非独占的、不可撤销的版权和专利许可,并针对目前专利联盟存在的互诉漏洞问题,明确规定禁止“贡献者”或“关联实体”直接或间接地(通过代理、专利被许可人或受让人)进行专利诉讼或其它维权行动,否则终止专利授权。

明确不提供对“贡献者”的商品名称、商标、服务标志等的商标许可,保护“贡献者”的切身利益。

木兰协议经技术专家和法律专家共同修订,在明确合同双方行为约束的前提下尽可能地精简条款、优化表述,降低产生法律纠纷的风险。

更多协议的详情请参考:https://opensource.org/licenses

openGauss开源社区简介

openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。提供极致的业务处理性能,业界领先的数据安全保护能力,金融级可靠性能力,已在金融、运营商、能源等关键基础行业的核心系统中得到广泛应用。

若要获取更多openGauss社区的相关信息,请访问openGauss社区官网:

https://www. openGauss.org

本页内容