开源特训营 - Lesson 4 - 如何运营社区

编辑:李明康

责编:袁睿斌

作者:课程助教 - 苏斌

主讲教师:庄表伟(开源社理事长)、赵生宇(同济大学)

本次课程的主题为《如何运营社区》,主讲者为开源社的理事长庄表伟老师和来自同济大学的博士研究生赵生宇同学。

开源项目的分类

庄表伟老师首先分析了一下目前互联网的开源项目中的几大分类,包括玩具项目、业余项目、正经项目、成功项目和商业成功的项目。其中“玩具项目”只是把代码放在GitHub或Gitee之类的平台,没有选择任何的License,往往只是一个人在测试提交,几乎没有其他人知道这个项目;“业余项目”的特点包括没有完整的文档、代码规范以及代码提交流程,项目成员不多仅有几个人,对于宣传方面几乎没有关注;“正经项目”有着规范的运营、良好的社区意识、项目增长计划、软件质量意识并且注重软件架构;而“成功的项目”和“商业成功的项目”有着健康、活跃、高质量的社区,并围绕该项目构造出商业生态

运营开源社区的基本逻辑

庄老师认为运营一个开源社区,需要遵循 宽进严出 的循环。

 

宽进的意思是通过降低入门门槛,提高便利性以不断吸引开发者参与该项目。这就需要项目运营者拥有良好的社区运营的能力,包括在项目参与者中寻觅各种人才(例如策划、文案、设计、宣传等等)。

 

严出的意思是重视软件开发的品质,在技术管理方面项目运营者尤其要注重分工协作的管理,因为开源项目的参与者都是以志愿者的身份参与其中,面对分散的管理体系运营者需要拥有良好的分工协作的分配能力。

 

如此的“宽进严出”模式在商业设计和生态规划的前提下应该形成一套循环,把一个开源项目当作一个开放式的企业来运营。管理者和运营者需要深入分析自己参与或发起的开源项目的产品特征、目标用户和发展方向,按照个人兴趣选择分工,深入学习相关的领域。同时团队内部也要定期交流回顾,不断地收获成长。

 

最后庄老师给出了社区运营的不败心法:在没有任何外力帮助的情况下,自己就能确保做到80分????。

如何评价和度量一个开源社区

接下来由同济大学的博士研究生赵生宇为大家讲解如何评价和度量一个开源社区。

 

大部分人评价一个开源社区主要看重项目的Star数量、Contributor的数量等指标。但是这些指标很容易伪造,那么如何更立体地评价一个开源项目?开源项目中的哪些指标代表社区真实的活跃度与健康情况呢?

 

实际上,评价一个开源项目,要从谁在看、谁在用、谁在贡献以及维护者行为这四大方面进行评测。例如针对维护者,项目Issue以及PR的响应时间及处理周期就可以反映维护者的积极程度。

 

赵生宇同学所在的X-lab实验室发布的《GitHub 2019数字年报》中通过数学量化的手段提出评测一个开源项目的方案。

       

 

最后老师们也给出了本课程的项目评测标准。

       

Q & A

Q:如何令更多的人参与我的开源项目?

A:对于项目的管理者和经营者,需要有一定的社交能力,能够传播你的信念,让有意向参与项目的人觉得自己值得投入该项目。当然作为经营者首先要自己做出表率,积极地投入项目建设,绝对不能抱有找一批人为我打工的观念来寻觅参与者。

 

Q:开源软件和闭源软件的区别是什么?

A:它们最大的区别就是软件的源代码是否可以公开获得。闭源软件大部分是商业软件,需要通过一定的技术垄断或者商业机密维护自己的资本利益。当然开源软件也可以获取利益(例如开发周边产品)。

活动回顾视频

点击小程序观看第四期活动视频哦~

✨下节课程内容预告:

《社区如何评审代码》主讲者:张齐勋 & 赵生宇

开源社简介

开源社是由国内外支持开源的企业,社区及个人,依“贡献,共识,共治”原则,所组织的厂商中立、纯志愿者、非营利的开源联盟,旨在共创健康可持续发展的开源生态体系,并推动中国开源社区成为全球开源软件的积极参与及贡献者。我们专注于开源治理、国际接轨、社区发展和开源项目。

相关阅读 | Related Reading

开源特训营 - Lesson 1 - 开源基础

开源特训营 - Lesson 2 - 项目启动

开源特训营 - Lesson 3 - GITHUB仓库管理 

开源特训营

喜欢本篇内容请给我们点个在看

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

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

相关文章

leetcode904. 水果成篮(滑动窗口)

一:题目 二:上码 class Solution { public:/**思路:滑动窗口1.滑动窗口为我们 两个品种水果的个数2.滑动窗口的起始位置为数组的起始位置,当遇见一个新的水果种类的时候,这时候就需要移动我们的起始位置这里移动起始位置是要注意的,我们需要移动起始到我们的窗口中 完全没有 这…

拥抱.NET 5,从自研微服务框架开始

“ 2016年发布了.NET Core第一个正式版本,而.NET5也将在下个月就正式来临了,技术日新月异,也有点让人应接不暇。在框架设计上,.NET Framework的全家桶理念,培养了一大批的CRUD,而.NET Core转变成了按需使用…

leetcode周赛第一题6037. 按奇偶性交换后的最大数字(冒泡法)

一:题目 二:上码 class Solution { public:int largestInteger(int num) {string str to_string(num);for (int i 0; i < str.size()-1; i) {for (int j i1; j < str.size(); j) {int num1 str[j]-0;int num2 str[i]-0;if (num1%2 num2%2) {//这里我们控制的是奇数…

从零开始打造专属钉钉机器人

一、前言废话不多的实现简单的钉钉机器人。我们分为下面几个步骤来逐步讲解。1.钉钉机器人的类型2.如何打造一个最最简单的钉钉机器人二、钉钉机器人的类型常用的钉钉机器人有两种&#xff0c;1、通知类型的机器人&#xff1a;适合在群内进行一些通知&#xff0c;推荐消息等内容…

Azure 内容审查器之文本审查

内容审查器Azure 内容审查器也是一项认知服务。它支持对文本、图形、视频进行内容审核。可以过滤出某些不健康的内容&#xff0c;关键词。使你的网站内容符合当地的法律法规&#xff0c;提供更好的用户体验。文本内容审核其中文本内容的审核应用比较广泛。比如在审核游戏中的群…

java并发之CAS

文章目录1:何为CAS2:CAS图示3:CAS和Volatile的关系4:为何CAS效率更高一些5:CAS的特点7:受保护得共享数据类型(1):原子基本数据类型(2):原子引用数据类型7:ABA问题(1):什么是ABA(2):如何解决呢&#xff1f;1:何为CAS CAS(Compare And Swap)&#xff0c;即比较并交换。是解决多线…

快速了解 ASP.NET Core Blazor

最近在几个微信 .NET 交流群里大家讨论比较频繁的话题就是这几天自己的面试经历。面试官&#xff1a;“你刚说你喜欢研究新技术&#xff0c;那你有了解过 Blazor 吗&#xff1f;”作为一位专注于 .NET 开发的软件工程师&#xff0c;你好意思说你对 Blazor 一点也不解吗&#xf…

ASP.NET Core集成Nacos配置中心之适配多格式配置

前言 默认情况下&#xff0c;用nacos-sdk-csharp集成ASP.NET Core的配置系统&#xff0c;是基于JSON格式的数据。随着业务系统的多样化&#xff0c;可能用的配置格式也是各有千秋的。有的会用yaml/yml&#xff0c;有的会用ini&#xff0c;有的会用xml&#xff0c;等等。那么如果…

Git的使用(快速入门)

文章目录[TOC]一:将本地的项目提交到Git上二:GIt的基本操作1:建立一个本地仓库(1):类别(2):创建全新的仓库(3):克隆远程仓库2:查看文件的状态3:在桌面上的文件提交到远程仓库4:在idea中的文件提交到远程仓库5:分支(1):何为分支(2):常用命令(3)注意6:解决合并冲突(1):问题展示(2…

为什么这么忙,还依然做不好事情?

一直都很喜欢《重来》系列&#xff0c;最近出了《重来3&#xff1a;跳出疯狂的忙碌》&#xff0c;第一时间在微信读书中阅读了&#xff0c;让我们印象比较深刻的就是「冷静」和「效率」&#xff0c;本文主要说说效率的问题。书的作者是贾森弗里德&#xff08;Jason Fried&#…

开源特训营 - Lesson 6 - 如何提交一个合格的PR

编辑&#xff1a;李明康责编&#xff1a;袁睿斌作者&#xff1a;课程助教 - 苏斌主讲教师&#xff1a;张齐勋&#xff08;北京大学&#xff09;、赵生宇&#xff08;同济大学&#xff09;本次课程的主题为《如何提交一个合格的PR》&#xff0c;主讲者为来自北京大学的张齐勋老师…

改进程架构,Edge优化浏览器内存问题

微软 Edge 团队称&#xff0c;“今天的浏览器更像是操作系统&#xff0c;而不是文档查看器。用户正在浏览器中执行越来越多的任务&#xff0c;而在桌面应用程序中执行的任务越来越少。与此同时&#xff0c;每个网页、Web 应用程序和扩展程序都在使用内存&#xff0c;这也会使用…

中芯国际第二代FinFET工艺有望与2020年底试产

媒体报道&#xff0c;第一代FinFET 14纳米已于2019年四季度量产&#xff1b;第二代FinFET N1已进入客户导入阶段&#xff0c;可望于2020年底小批量试产。梁孟松披露&#xff0c;中芯国际的下一代N1工艺和14nm相比&#xff0c;性能提升了20%&#xff0c;功耗降低了57%&#xff0…

gRPC-微服务间通信实践

微服务间通信常见的两种方式由于微服务架构慢慢被更多人使用后&#xff0c;迎面而来的问题是如何做好微服务间通信的方案。我们先分析下目前最常用的两种服务间通信方案。gRPC&#xff08;rpc远程调用&#xff09;场景&#xff1a;A服务主动发起请求到B服务&#xff0c;同步方式…

移动 Azure 资源后如何快速修复 Dashboard

点击上方蓝字关注“汪宇杰博客”导语Azure 用户经常因为不够有钱&#xff0c;需要把资源移动到另一个资源组或订阅中。移动完成后&#xff0c;会导致资源对应的 Dashboard 失效。通常&#xff0c;我们都需要从 Dashboard 上将找不到的资源删除&#xff0c;并逐个重建。有没有快…

八大排序算法之插入排序

一:直接插入排序 1:思想 首先选择一个哨兵,我们默认将第一个数作为哨兵,随着循环的进行,我们一直将我们待插入数的前一个数作为哨兵然后就是插入的数与哨兵比较&#xff0c;比哨兵小的话&#xff0c;就将哨兵后移&#xff0c;然后再与哨兵前面的数进行比较&#xff0c;直到遇…

跟我一起学Redis之五种基本类型及其应用场景举例(干了6个小时)

前言来啦&#xff0c;老弟&#xff1f;来啦&#xff0c;上一篇就当唠唠嗑&#xff0c;接下来就开始进行实操撸命令&#xff0c;计划是先整体单纯说说Redis的各种用法和应用&#xff0c;最后再结合代码归纳总结。Redis默认有16个数据库(编号为0~15)&#xff0c;默认使用第0个&am…

leetcode周赛6070. 计算字符串的数字和

一:题目 二:上码 class Solution { public:/**思路:1.设置一个while循环&#xff0c;循环的条件是s.length<k2.while里面进行 1>:将字符串按k个进行拆分成个单个字符&#xff0c;并将其转换成数字,然后计算将计算结果再组成字符串 */string digitSum(string s, int k) {…

ASP.NET Core 中的 User Agent 识别及搜索引擎爬虫鉴定方法

User Agent中文名为用户代理&#xff0c;简称 UA&#xff0c;它是一个特殊字符串头&#xff0c;使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。百度百科在 ASP.NET Core 中&#xff0c;可以通过以下代码在 …

leetcode周赛6071. 完成所有任务需要的最少轮数

一:题目 二:上码 class Solution { public:/**思路:1.如果x1的话,那么的话 直接返回-12.如果x2的话&#xff0c;那么就一次执行3.如果x是3的倍数的话,那么就直接执行 x/3 次4.如果x/3 余数是1的话 那就执行 x/31,比方说是4 其实是两个2&#xff0c;但是我们求数的的时候,我们求…