走进开源,拥抱开源

走进开源,拥抱开源

  • 一、开源文化
    • [1.1 什么是开源](#1.1 什么是开源)
    • [1.2 为什么要开源](#1.2 为什么要开源)
    • [1.3 有哪些开源协议](#1.3 有哪些开源协议)
  • 二、选择开源
    • [2.1 开源社区的类型与特点](#2.1 开源社区的类型与特点)
    • [2.2 如何选择开源社区](#2.2 如何选择开源社区)
    • [2.3 如何选择开源项目](#2.3 如何选择开源项目)
  • 三、参与开源
    • [3.1 开源社区的参与方式](#3.1 开源社区的参与方式)
    • [3.2 开源项目的参与方式](#3.2 开源项目的参与方式)
  • [四、Apache Doris 参与示例](#四、Apache Doris 参与示例)
    • [4.1 Doris开源项目Step1](#4.1 Doris开源项目Step1)
    • [4.2 Doris开源项目Step2](#4.2 Doris开源项目Step2)
    • [4.3 Doris开源项目Step3](#4.3 Doris开源项目Step3)
    • [4.4 Doris开源项目Step4](#4.4 Doris开源项目Step4)
  • 五、开源小结

本文主要分享开源文化介绍,如何走进开源、参与开源及拥抱开源。

一、开源文化

1.1 什么是开源

开源,即Open Source 全称 开放源代码,主要有4个特征:

  1. 源码公开

源代码可以公开访问、使用、修改和分发,只需要遵守对应的项目协议即可。

  1. 免费使用

不需要为开源付费,就可以使用。当然,开源项目相对于商业版软件会有些稳定性差异,需要大家一起共建共进

  1. 多元协作

开源鼓励开发者之间的协作,共同改进和维护软件,且形式多样。

  1. 社区驱动

开源项目通常由一个活跃的社区支持,社区成员可以是个人开发者、企业或其他组织。

1.2 为什么要开源

那么,为什么项目发起方或一些社区组织会选择开源呢?

往大了讲,是为了推动技术进步和社会变革,全民 共建共进。展开而言,可以从如下4个维度来看:

  1. 促进创新

开源鼓励技术共享和合作,吸引全球范围内的开发者参与到项目中,从而加速技术的创新和发展。

  1. 降低成本

通过使用开源软件,组织可以节省软件开发和采购成本,避免昂贵的许可费用,并降低运营成本。发起方,可以凝聚一批共同使用者,无论是提出改进点、新特性还是推广宣传都是利于项目发展的。

  1. 文化传播

开源传播了一种开放、协作和共享的文化,这些文化在技术领域之外也具有重要意义。随着这股文化的传播,开源也不仅限于Code了,更多的是一种开源开放的精神。

  1. 社区网络

开源通常围绕一个活跃的社区建立,这个社区不仅支持软件开发,还为参与者提供建立联系和合作的机会。

1.3 有哪些开源协议

俗话说: "无规矩不成方圆",开源也是如此。

在参与开源社区时,需要尊重社区红线 ,在使用开源项目和参与开源过程中,需要遵守对应的开源协议

开源许可证(Open Source License)大概有上百种,常见的开源协议大致有GNU、BSD、MIT、Mozilla、Apache和LGPL等,这里就不过多展开,可以和大模型聊聊。

二、选择开源

2.1 开源社区的类型与特点

随着开源文化的普及传播,开源已不再只局限于Code,对于选择开源除了Code项目类,还有社区类型:

  1. 项目型社区

聚焦特定开源项目,包括代码贡献和协作、集成测试、应用实践、用户反馈等核心功 能,大部分项目型社区由背后的机构或企业来资助或直接运营。

例如:Apache Doris

  1. 用户型社区

主要是开源爱好者自发形成的社区,以知识分享、经验交流和传播开源文化为目标。

例如:PowerData

  1. 服务型社区

具备开源代码、项目孵化、开源治理、媒体等多种服务功能的社区,其他垂直小众社区也在该社区平台构建自己的影响力。

例如:Gitee

  1. 开发者社区

将开发者凝聚在一起,赋能开发者、研发团队及科技企业在IT知识学 习、人才招聘、研发效能与协同管理等方面的高速成长与发展。

例如:CSDN

2.2 如何选择开源社区

关于如何相对正确地选择一个开源社区,可以参考如下几点:

  1. 社区活跃度

可以潜水洞察,社区是否有组织丰富的线下/线上活动,如Meetup、研讨会、技术分享会等,促进成员之间的面对面交流和合作。当然,水天水地的活跃也是活跃,只要不违反社区红线即可。

  1. 社区规模

成员数、新老成员比例是否合理。

  1. 社区治理

核心维护者是否正能量(傻狍点也可),社区委员会是否齐心,决策流程合理完善。不要加入后感觉自己像是身入了宫斗剧中,如果有此感,建议尽早脱身变为第三人视角,吃瓜何乐不为。

  1. 社区文化

了解社区的价值观和文化氛围,是否包容、开放、互助,积极向上的社区文化对于社区和参与者的长期发展至关重要。

2.3 如何选择开源项目

关于如何相对正确地选择一个开源项目,可以参考如下几点:

  1. 项目活跃度

是否有大量的贡献者积极地提交代码、解决问题、撰写文档等,对项目的贡献是持续且稳定的。

  1. 项目规模

成员数和贡献者数是否呈上升趋势,生态体系是否完善和健全。

  1. 项目治理

issue/pr是否有回应,发版效率是否可观,代码规范和质量是否有合理把控。

  1. 项目背景

了解项目的来源、技术栈、发展历程和维护团队等信息,有助于你选择合适的开源项目。

三、参与开源

3.1 开源社区的参与方式

开源社区的参与方式有很多,例如:

  1. 融入社区

参与社区讨论、活动策划和提供建设idea等,帮助社区正向发展。

  1. 提供场地/参与活动/赞助支持

当一个无商化背景纯开源的社区需要举办线下活动时,如果有场地支持或其它周边等赞助支持,犹如雪中送炭。而当社区举办活动时,社区成员积极参与其中,亦是社区发展的底气。

  1. 布道推广

通过博客、社交媒体等渠道宣传社区,吸引更多的用户和贡献者加入;就算是一次小小的转发,也是布道推广。

3.2 开源项目的参与方式

开源项目的参与方式有很多,例如:

  1. 代码贡献

最直接的方式,通过提交代码、修复bug、实现新功能等形式来直接参与项目的开发。

  1. 文档编写

大部分开源项目都会有对应的官方使用文档,如果发现文档中有错别字、逻辑描述有误或有想新增示例介绍等,可以提一个文档pr进行fix/new,利人利己,何乐不为。

  1. Bug测试与反馈

在开源项目使用过程中,如果发现有bug,可以提一个issue或通过其它渠道向社区反馈,或者直接/共同fix,共建共进。

  1. 问题总结与分享

对遇到的问题进行沉淀总结和分享,便于社区小伙伴遇到同类问题时可以快速找到答案。

  1. 布道推广

通过博客、社交媒体等渠道宣传项目,吸引更多的用户和贡献者加入。

四、Apache Doris 参与示例

4.1 Doris开源项目Step1

Apache Doris 有完善的官网、文档和 GitHub Readme,参与Apache Doris可以从查阅它们开始,对Doris有一个初步的了解。

4.2 Doris开源项目Step2

选择合适的建联方式,社区推荐的沟通模式:

  1. 邮件组

发邮件到社区 dev@doris.apache.org,进行沟通交流。

  1. 双周会

每两周会在腾讯会议上进行双周会线上互动,会议入口: https://meeting.tencent.com/dm/6iQBgkIhn5LO

  1. 社交平台

可以通过主流的一些社交平台进行交流:微信社群、论坛、知乎、

Twitter、Slack等。

4.3 Doris开源项目Step3

可以参考如下找到第一个贡献点:

  1. 文档贡献

如果发现Doris的官方文档中有错别字、逻辑描述有误或有想新增示例介绍等,可以提一个文档pr进行fix/new:

https://doris.apache.org/zh-CN/docs/get-starting/what-is-apache-doris/

  1. Good First Issue

可以通过此issue了解:[Good First Issue] Doris' Future

https://github.com/apache/doris/issues/17176

  1. Bug 修复

在使用Doris过程中,如果发现有bug,可以提一个issue或通过其它渠道向社区反馈,或者直接/共同fix,共建共进。

4.4 Doris开源项目Step4

参与社区开发:

  1. Contributor Guide

可以通过如此文档,了解如何成为 Contributor:

https://doris.apache.org/zh-CN/community/how-to-contribute/contributor-guide

https://doris.apache.org/zh-CN/community/how-to-contribute/pull-request

https://doris.apache.org/zh-CN/community/how-to-contribute/contribute-doc

  1. Dev tools

可以通过如此文档,了解Doris相关的开发工具:

https://doris.apache.org/zh-CN/community/developer-guide/docker-dev

https://doris.apache.org/zh-CN/community/developer-guide/fe-idea-dev

https://doris.apache.org/zh-CN/community/developer-guide/be-vscode-dev

  1. Doris Improvement Proposals

Detailed design for major features:

https://cwiki.apache.org/confluence/display/DORIS/Doris+Improvement+Proposals

五、开源小结

开源传播了一种开放、协作和共享的文化,这些文化在技术领域之外也具有重要意义。随着这股文化的传播,开源也不仅限于Code了,更多的是一种开源开放的精神。

欢迎各位参与其中,共建共进

相关推荐
lsjweiyi18 小时前
极简AI工具箱网站开源啦!
opencv·开源·微信支付·支付宝支付·百度ai·极简ai工具箱·ai图像处理
开源社19 小时前
一场开源视角的AI会议即将在南京举办
人工智能·开源
FreeIPCC19 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
海害嗨19 小时前
阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!
学习·开源
生命是有光的19 小时前
【开源风云】从若依系列脚手架汲取编程之道(八)
开源
HuggingFace21 小时前
Halo 正式开源: 使用可穿戴设备进行开源健康追踪
开源·健康追踪
时光追逐者1 天前
.NET 9 中 LINQ 新增功能实操
开发语言·开源·c#·.net·.netcore·linq·微软技术
檀越剑指大厂1 天前
Linux本地部署开源项目OpenHands基于AI的软件开发代理平台及公网访问
linux·人工智能·开源
胜天半子_王二_王半仙2 天前
c++源码阅读__ThreadPool__正文阅读
开发语言·c++·开源
FIT2CLOUD飞致云2 天前
案例研究|阿特斯的JumpServer分布式部署和多组织管理实践
运维·开源·堡垒机·jumpserver