然后就等待相关维护者回复邮件与你沟通。在和开发者沟通时就事论事,不要说无关的废话。另外一定要注意回复邮件的风格,社区一般使用的 Bottom-posting(下回复)风格,实际上很多开源软件都是用的 Bottom-posting 风格的。如果这方面你不熟悉,请参考维基百科学习一下: https://zh.wikipedia.org/wiki/%E5%9B%9E%E5%B8%96%E9%A3%8E%E6%A0%BC 。QQ 邮箱网页版是不支持下回复的,最好用邮件客户端来回复,一般邮件客户端是可以设置成 Bottom-posting 风格的,请 Google 自行查阅设置方法。
开发者和你进一步沟通,完毕之后会关闭这个 bug,并把代码合并到仓库中去。
你的代码在合并到仓库之前可能还会有一道障碍,直到清除障碍后代码才可以进入仓库——签协议。
3、签署协议文件如果你贡献的代码超过15行(见:https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html),是需要和 FSF(自由软件基金会)签纸质协议的。
签协议的主要目的是证明代码由你所写,没有侵犯到其他版权,并且版权归给 FSF。
如果你提交的代码确实需要签文件,开发者会邮件回你一个申请表模板,让你按模板内容填写一封申请邮件给 FSF 来申请签协议文件的。
模板内容如下(注:“#”是我自行添加的注解):
----------------------------------------------------------------------
REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES
[Whatis the name of the program orpackage you're contributing to?]
# 你贡献的项目名称,比如Emacs。
# 注意一个项目只能签一份协议,如果你这里写多个项目,就需要签多份协议。
[Did you copy any files or text written by someone else in these changes?
Even if that material is free software, we need to know about it.]
# 解释你贡献的代码里是否用了其他项目代码,如果有就列一下。
[Do you have an employer who might have a basis to claim to own
your changes? Do you attend a school which might make such a claim?]
# 是不是以你个人名义来提交代码的,是的话就写no。
# 如果是公司名义,好像需要公司和FSF再签协议,这个流程我不熟悉。
[For the copyright registration, what country are you a citizen of?]
# 一般就写China。
[What year were you born?]
# 你生日。
[Please write your email address here.]
# 你邮件地址。
[Please write your postal address here.]
# 通信地址,需要写详细点。
[Which files have you changed so far, and which new files have you written
so far?]
# 你改变了哪些文件,列出来。
把这封邮件发给 copyright-clerk@fsf.org, 邮件标题是你真实的姓名 ,邮件内容就是上面模板填写后的内容。
然后 FSF 会审核你的申请,一般需要几天。审核通过后他们会给你发一封邮件,让你将附件的 PDF 文件打印下来,然后签字,签上你的名字(不要用中文),以及写好日期(日期的月份需要用英文,不要用数字,如:2015 December 30)。
接下来,把签完的纸质协议寄到美国去。你可以去淘宝找 DHL 快递代收,DHL 大概3天就到了,费用大概是¥140~¥160之间。
他们收到你的纸质协议后也会签字,需要等几天,具体周期视他们处理情况而定,如果你等了两周都还没回你,那么你可以回邮件问问怎么回事,比如我的就正好遇到圣诞节放假。
最后,他们会把签字后的扫描件以 PDF 格式发送到你的邮箱,整个过程算是结束了。
如果你换了工作,也请告知他们,有可能会涉及到协议重签,比如你到了新公司,给他们提交的代码不再是个人性质。
Happy Hacking。
4、感谢Xue Fuqiao、Eli Zaretskii