文档章节

开源故事会:邮件列表与分支

RiboseYim
 RiboseYim
发布于 2016/05/25 13:12
字数 1020
阅读 49
收藏 0

这是一个真实的小故事。 虽然有人生来就懂得这个道理,也有人写一辈子代码也未必会明白,但是我相信更多的人要用整个职业生涯去体会这里的精髓。

OpenSource

故事概要 一个小程序猿(代号小Y)闲来无事,决定探索一个陌生的开源消息组件[ZeroMQ]( http://www.jianshu.com/collection/4bc170355af0),以图未来有一天可以为改变世界做出贡献,可是他遇到了一个installing的问题——所有问题中最低级的那种。

confiure failed ! make failed ! Fuck !

Search & Open Issue

Baidu.com >> Google >> issues (正确的姿势应该反过来!)

20160417-issue-filter.png

常规首发看起来,没什么收获,万般无奈之下,小Y操着瘪犊子英文勇敢地open 了一个Issue

Disscution

configure log
make log
balala balala  

**其实此刻小Y是不抱什么希望的。 **I can’t believe ! 地球另一头,正在喝着咖啡的同行居然回复了:

Does the same problem happen with libzmq master from this repository?
I've got no way to test it, but in theory at least the "select" method should work.
Maybe it's the lack of #include <time.h> in acinclude.m4, line 871? If I'm reading it correctly, the SunOS 5.1 manpage says it should be used: http://www.unix.com/man-page/sunos/3c/select/

Revert

Could you please run: git revert b6080a798

经过一番勾搭,以及小Y诚恳无耻的描述,对方似乎开始怀疑自己啦,开始建议切换代码版本试试。 有戏!

New branch for Me !

几天的等待后,他们居然为我开了一个branch(分支)!**

 Could you please try from this branch of mine?

git remote add bluca https://github.com/bluca/libzmq.git
git fetch bluca
git checkout solaris_fixes

I've got a couple of changes that should fix that problem and the one caused by the commit you reverted. But I have no Solaris box to test them (trying to setup a VM with Solaris 10 x86) so I wanted to be sure it works before sending them. Thanks!

Surprise!!

回归合并

Pull & Merge bluca的分支代码修改不仅解决了小Y的问题,还通过Pull request 正式成为官方版本的一部分。

头一次以这样的方式体验“分支-合并”流程,小Y还是非常震撼的!

20160417-fix-4.png

20160417-fix-3.png

###贡献(Contribution)

鉴于小Y的贡献,社区决定为他颁发勋章! 是的。小Y甚至还看不懂该项目,也没有提交一行代码,他获得了和开发者一样的勋章。 这个体验真不错哈!

#####Contributions that are counted 20160417-contribution-1.png

Issues and pull requests

Issues and pull requests will appear on your contributions graph if they meet both of these conditions: They were opened within the past year. They were opened in a standalone repository, not a fork.

Commits Commits will appear on your contributions graph if they meet all of the following conditions: The commits were made within the past year. The email address used for the commits is associated with your GitHub account. The commits were made in a standalone repository, not a fork. The commits were made: In the repository's default branch (usually master) In the gh-pages branch (for repositories with Project Pages sites) In addition, at least one of the following must be true: You are a collaborator on the repository or are a member of the organization that owns the repository. You have forked the repository. You have opened a pull request or issue in the repository. You have starred the repository.

##总结

故事流程图,真是回味无穷。

基于Github的开源管理流程

在小Y的习惯的文化中,似乎只有提交代码才算是贡献,发起的问题会潜意识被认为是负担,是非常令人厌恶的。

这完全符合人性。只是基于长期的工程实践,开源社区通过一系列制度设计:Issues List, (勋略)contributions graph 等,不断鼓励社区普通用户参与到项目的建设中来。

从开发者的角度看,积极主动地融入社区交流,平时注意跟踪项目演进、新版本特性等,应用实践中的问题积极反馈、甚至帮助其他开发者,也是提高自身水平的重要方法,应成为一种习惯。

此时此刻,无数的小白用户在检索问题,open issue.... 也有无数的大神在利用业余时间回馈社区:回答问题、fix bug、create respository .....

强大的、世界级的信息基础设施,正是由于这些小白和大神们的贡献,周而复始,水滴石穿。

© 著作权归作者所有

RiboseYim
粉丝 78
博文 78
码字总数 179042
作品 0
广州
程序员
私信 提问
如何给 GNU 项目贡献代码

本文以Emacs项目为例。 1 订阅邮件列表 GNU的项目都通过邮件列表和全世界的贡献者交流,所以你应该先去 https://lists.gnu.org/mailman/listinfo 找到相应项目的邮件列表。一般建议加入bug和...

oschina
2016/02/11
2.5K
12
手把手教你如何向 Linux 内核提交代码

本文来自作者 刘盼 在 GitChat 上分享「手把手教你如何向 Linux 内核提交代码」,「阅读原文」查看交流实录 「文末高能」 编辑 | 施瓦 开源的力量 说到开源大家都会想到黑客和极客,开源的概...

gitchat
2017/11/23
0
0
Debian 25 岁生日快乐!故事仍继续

美国当地时间8月16日,即今天,Debian 在官网发文庆祝诞生 25 周年。 Debian 于1993年8月16日由 Ian Murdock 首次发布,最初将其称为"Debian Linux Release"。当时,他将这封著名的电子邮件发...

局长
2018/08/17
2.5K
16
将 Github 的 Issue 转成 Pull Requests

使用Hub库,可以将 Github 的 Issue 转成 Pull Requests。这引出了本文介绍的一个有用的Github 工作流。 这并不是什么新鲜事;在之前就有提到过。然而,这是我一直在做的事,同时开发django-...

oschina
2013/03/12
4.1K
1
LEDE 和 OpenWrt 项目讨论合并

去年五月,流行开源路由器发行版 OpenWrt 项目的一群核心开发者宣布创建分支 Linux Embedded Development Environment(LEDE)。 新项目发起者 Jo-Philipp Wich 将 LEDE 形容为 OpenWrt 社区的...

局长
2017/05/09
4K
8

没有更多内容

加载失败,请刷新页面

加载更多

【TencentOS tiny】深度源码分析(4)——消息队列

消息队列 在前一篇文章中【TencentOS tiny学习】源码分析(3)——队列 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息...

杰杰1号
5分钟前
1
0
Hive

这就是那个 JAVA 类 package cn.itcast.bigdata;import java.util.HashMap;import org.apache.hadoop.hive.ql.exec.UDF;public class PhoneNbrToArea extends UDF{privat......

Garphy
5分钟前
2
0
Springboot开发,第二天

SpringBoot学习,第二天 目录:1、Springboot整合Listener 2、Springboot访问静态资源 3、异常处理 4、热部署 一、SpringBoot整合Listener 两种方式完成组件的注册 1、通过注解扫描完成组件的...

有一个小阿飞
9分钟前
3
0
BeginnersBook Perl 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
21分钟前
2
0
我的Java秋招面经大合集

阿里面经 阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。 然后我...

Java技术江湖
26分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部