开源社区提交patch的工作流程分析

首先来看patch的生命周期。

首先是如果你有一个idea,你可以先在社区里与大家讨论,进入RFC(request for
commit)阶段,如果直接就去实现自己的idea,可能提交到社区大家并不接受,或着与社区的要求不一样,或者别人也在做这个,自己做重复了,都是应
该避免的,所以先在社区里与大家讨论你的idea是必要的。OK!如果大家通过讨论同意了你的idea,你就可以去hack了,当然了,大家会对idea
提出一些意见和建议,你要相应的进行采纳。然后把代码贴出来在社区里,此时大家会对你的code进行讨论,一些人会提出批评意见,记住千万不要去攻击对你
提出批评意见的人,应该虚心接受,you can say “thanks”,并相应的进行采纳。哪里出现问题,就去fix
bug,然后再提交上来,大家再讨论,对于green
hand来说,提交一个patch的过程还是比较困难的,对于一个在社区里比较有声望的人,大家更相信他,patch更容易被采纳。经过反复的讨论,修
改,如果你的patch被采纳了,你可以提交给相应的maintainer,记住是subsystem
maintainer,而不是linus,linus大人才没时间鸟你呢,其实每个maintainer也很忙的。如过他看在社区里大家通过了,他自己在
看看,你的patch就被采纳了。linus有时也会看看社区里的patch,所以一些人也收到了patch回复的邮件,记住不是把patch发给
linus,而是他看到了你在社区中的patch,他才没那个时间鸟你呢。Andrew Morton是mm
tree的维护者,这个tree包括了一些mm相关的还有其他不属于任何subsystem
tree的,都被发到这里来,在一个就是其他的subsytem tree maintainer了。

你可以提交一些feature给maintainer,如果通过了,maintainer会将相应的feature在merge
window的时候提交给linus,每发布一个版本之后会有一个merge window,大约two
weeks,linus会接受maintainer提交过来的new features,过了两周,merge window关闭,不接收new
features,此时maintainer只能等到下一个merge window到来的时候才可以提交new
feature。接下来就是-rc1~-rcN,大约会在-rc6~-rc9结束,如果linus觉得已经stable了就结束,每个-rc大约一周,-
rcN结束后就发布下一个版本。-rc1~-rcN之间主要进行bugfix,你有义务fix
你的feature,别人也会fix你的feature,如果你自己不fix,你的feature有可能被pass掉。

时间: 2024-11-06 01:23:01

开源社区提交patch的工作流程分析的相关文章

作为一名非Commiter,如何向开源社区提交自己的代码

前言 作为一名职业程序员,如果去除待遇,薪资等等的因素考虑,从纯技术的角度出发,如何才能达到一个比较高的境界呢,答案是与最顶尖的那一批人交流合作,当然,最顶尖的那批人很多几乎估计都不在身边,而且大多在国外.那么难道就没有办法了吗,不是的,不要忘了还有网络这个东西,可以通过社区,邮件进行交流,提出自己的想法.这些人往往活跃于许多开源社区,比如Apache.下面有很多的子项目,都是非常棒的系统.所以本文的1个关键词,开源社区.所以说,如果一个普通开发者能够向开源社区打出自己的patch(补丁),并且

大数据技术之_10_Kafka学习_Kafka概述+Kafka集群部署+Kafka工作流程分析+Kafka API实战+Kafka Producer拦截器+Kafka Streams

第1章 Kafka概述1.1 消息队列1.2 为什么需要消息队列1.3 什么是Kafka1.4 Kafka架构第2章 Kafka集群部署2.1 环境准备2.1.1 集群规划2.1.2 jar包下载2.2 Kafka集群部署2.3 Kafka命令行操作第3章 Kafka工作流程分析3.1 Kafka 生产过程分析3.1.1 写入方式3.1.2 分区(Partition)3.1.3 副本(Replication)3.1.4 写入流程3.2 Broker 保存消息3.2.1 存储方式3.2.2 存储策

[国嵌笔记][030][U-Boot工作流程分析]

uboot工作流程分析 程序入口 1.打开顶层目录的Makefile,找到目标smdk2440_config的命令中的第三项(smdk2440) 2.进入目录board/samsung/smdk2440/,找到u-boot.lds文件.uboot的链接都是由这个链接器脚本来控制的 3.打开u-boot.lds文件,找到.text(代码段)的第一个文件cup/s3c24xx/start.o,该文件就是uboot的入口代码.链接器脚本中的ENTRY用来表明整个程序的入口,那么标号_start就是整个

18.U-boot的工作流程分析-210

18.U-boot的工作流程分析-210 210启动流程: 前面在2440和6410中虽然有BL1和BL2之分,210也是一样的: ? ? ?

16.U-boot的工作流程分析-2440

16.U-boot的工作流程分析-2440 分析的流程: 程序入口 第一阶段程序分析 第二阶段程序分析 2440开发板: 1.uboot的入口: 要看uboot工程的入口,首先打开顶层目录的Makefile: Uboot所支持的开发板,在顶层的Makefile中都会有一个配置选项.比如2440,在Makefile中的配置选项是smdk2440_config:在vim的命令模式按下/,然后输入smdk6410_config回车会定位到这里: 这是Makefile里的一个目标.这是来配置2440开发

17.U-boot的工作流程分析-6410

17.U-boot的工作流程分析-6410 6410开发板: 1.uboot的入口: 要看uboot工程的入口,首先打开顶层目录的Makefile: Uboot所支持的开发板,在顶层的Makefile中都会有一个配置选项.比如6410,在Makefile中的配置选项是make forlinx_nand_ram256_config:在vim的命令模式按下/,然后输入make forlinx_nand_ram256_config回车会定位到这里: 这是Makefile里的一个目标.这是来配置6410

第2章 rsync算法原理和工作流程分析

本文通过示例详细分析rsync算法原理和rsync的工作流程,是对rsync官方技术报告和官方推荐文章的解释. 以下是rsync系列篇: 1.rsync(一):基本命令和用法 2.rsync(二):inotify+rsync详细说明和sersync 3.rsync算法原理和工作流程分析 4.rsync技术报告(翻译) 5.rsync工作机制(翻译) 6.man rsync翻译(rsync命令中文手册) 本文目录: 1.1 需要解决的问题 1.2 rsync增量传输算法原理 1.3 通过示例分析r

ios NSURLSession使用说明及后台工作流程分析

转自:http://www.maxiaoguo.com/clothes/268.html NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意,如果用户强制将程序关闭,NSURLSession会断掉. NSURLSession提供的功能: 1.通过URL将数据下载到内存 2.通过URL将数据下载到文件系统 3.将数据上传到指定URL 4.在后台完成上述

ios NSURLSession(iOS7后,取代NSURLConnection)使用说明及后台工作流程分析

NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意,如果用户强制将程序关闭,NSURLSession会断掉. NSURLSession提供的功能: 1.通过URL将数据下载到内存 2.通过URL将数据下载到文件系统 3.将数据上传到指定URL 4.在后台完成上述功能   工作流程 如果我们需要利用NSURLSession进行数据传输我们需要: 1.创