委员会指导方针¶
本节向注册动物园项目开发商收集信息。
选择SVN提交访问¶
只有在新开发人员接受SVN提交访问时,才应向其提供SVN提交访问权限。 动物园项目指导委员会 .应向PSC提交一份新委员的提案并进行投票。
删除SVN提交访问应该由同一进程处理。
新的委员会成员应该表现出对动物园项目的承诺以及对动物园项目源代码和流程的了解,以达到委员会满意的程度,通常通过报告错误、提交补丁和/或积极参与动物园项目邮件列表。
新的提交者还应该准备好支持他/她在未来版本中提交给动物园项目源树的任何新特性或更改,或者如果他/她停止支持他/她所负责的代码部分,则找到一个可以委派其责任的人。感觉到。
所有提交者也应该是动物园讨论邮件列表的成员,这样他们就可以随时了解政策、技术发展和发布准备。
新专员负责阅读和理解本文件。
提交者跟踪¶
所有项目提交人的名单将保存在动物园项目主目录中(称为 COMMITTERS )为每个SVN提交者列出:
userid:将出现在此人的SVN日志中的ID。
全名:用户的实际名称。
电子邮件地址:可以联系提交者的当前电子邮件地址。它可能会以正常的方式改变,使自动收割更加困难。
SVN管理员¶
项目指导委员会的一名成员将被设计为SVN管理员。该人员将负责授予SVN提交权限,更新提交者文件,以及其他与SVN相关的管理。当然,此人需要在SVN服务器上进行登录访问。
SVN提交实践¶
以下是动物园项目的良好SVN提交实践。
对SVN提交日志项使用有意义的描述。
在提交与Trac中的票据相关的更改时,在SVN提交日志条目的末尾添加一个类似“(1234)”的错误引用。使用“”字符,TRAC可以创建从变更集到所提及票据的超链接。
在trac中提交与票据相关的更改后,在票据描述中编写树和修订,其中对其进行了修复。例如“固定在主干(R12345)和分支/1.7(R12346)”。“r”字符使trac能够创建从通知单到变更集的超链接。
如果没有相应的bug id,则不应在稳定分支中提交更改。任何值得推入稳定版本的更改都值得进行bug条目。
未经PSC或发布管理器许可,切勿向稳定分支提交新特性。通常只有修复程序才能进入稳定的分支。
新功能进入了主开发主干。
在预发布代码冻结期间,未经PSC或发布管理器许可,只应将错误修复提交给代码。
对主要开发版本的重大更改应在制作之前在动物园讨论列表上进行讨论,较大的更改将需要由动物园PSC在动物园PSC列表上进行讨论和批准。
未经PSC批准,不得新建分支机构。假定发布管理器具有创建分支的权限。
SVN中的所有源代码都应该是UNIX文本格式,而不是DOS文本模式。
提交新功能或对现有源代码进行重大更改时,提交者应采取合理措施,确保源代码继续在最常用的支持平台(当前为Linux和Windows)上构建和工作,或者直接在这些平台上进行测试。运行buildbot测试,或者从其他在这些平台上工作的开发人员那里获得帮助。如果添加了新文件或库依赖项,则configure.in、makefile.in、makefile.vc和相关文档应保持最新。
法律¶
提交者是一线的把关者,以确保代码库中没有不正确的代码。对于动物园项目用户、开发者和OSGEO基金会来说,重要的是避免在项目许可下明确地授予项目的任何代码。
一般来说,关键问题是那些提供要包含在存储库中的代码的人理解代码将根据MIT/X许可证发布,并且提供代码的人有权贡献代码。对于提交者自己来说,对许可证的理解是很清楚的。对于其他贡献者,贡献者应该验证理解,除非贡献者非常满意贡献者理解许可证(例如频繁贡献者)。
如果出资是代表雇主(在工作时间、作为工作项目的一部分等)开发的,那么,重要的是雇主的适当代表理解,该代码将根据MIT/X许可证进行出资。该安排应与授权主管/经理等进行澄清。
代码应该由贡献者开发,或者代码应该来自可以正确贡献的源代码,例如来自公共域,或者来自兼容许可证下的开源项目。
所有异常情况都需要讨论和/或记录。
提交者应遵守以下准则,并可能对向源存储库不适当地提供代码承担个人法律责任:
确保出资人(可能是雇主)了解出资条款。
来自贡献者之外的源代码(例如改编自另一个项目)应该清楚地标记为原始源代码、版权所有者、许可条款等。此信息可以在文件头中,但如果与正常项目授权(zoo project/zoo kernel/license)不完全匹配,则还应将其添加到项目授权文件中。
现有的版权标题和许可证文本不应从文件中删除。如果版权持有者希望放弃版权,他们必须在版权信息被删除之前以书面形式向基金会提交。如果许可条款发生变更,则必须由版权所有人同意(以电子邮件形式书写即可)。
带有需要信用或向用户披露的许可证的代码应添加到/trunk/zoo project/zoo kernel/license中。
当向文件添加大量贡献(如大量补丁)时,应将作者/贡献者添加到文件的版权所有者列表中。
如果不确定是否对代码库有所贡献,请从项目指导委员会或基金会法律顾问处寻求更多信息。