关于开源软件镜像联盟(非技术篇)
Terminology: (好蛋疼啊,感觉挺别扭的)
- 镜像:Ubuntu, CPAN, PyPi之类的
- 镜像站:一个高校的开源镜像站,每个镜像站做了若干镜像
- (镜像)节点:同时做了一个镜像的各镜像站
镜像联盟维护者:
仿照Debian的开发模式,镜像联盟维护者可以分为Mirrors Maintainer和Mirrors Developer。Mirrors Developer是拥有镜像联盟主站维护权限和决策投票权的核心开发人员;参与镜像联盟开发、镜像维护的均可申请成为Mirrors Maintainer。
Mirrors Maintainer可以:
- 维护自己负责的镜像节点
- 修改自己负责的镜像的转发策略
- 获取自己负责的镜像的访问日志
- 修改主站wiki
- 在issue tracker提交bug和patch、参与讨论
Mirrors Developer除了Mirrors Maintainer可以做的事情外,还可以:
- 修改所有镜像的转发策略
- 获取所有镜像的访问日志
- 添加新镜像
- 参与镜像联盟投票,决定镜像联盟的重要事项。
- 参与内部邮件列表讨论
- 在announce邮件列表发布公告
开发人员工具:
- For Mirrors Developer: 镜像联盟主站执行常见操作的脚本。
- For Mirrors Maintainer: 给各镜像节点用的脚本,包括节点内部维护、节点与主站间的通信,类似Debian打包工具,各镜像节点可以使用,也可以不使用。
镜像联盟主站:
- 申请独立域名,托管在某个高校。
- 首页列出所有镜像站的LOGO。
- 设立公共wiki、issue tracker、代码仓库。(我们搭了个Gitlab测试站 http://gitlab.lug.ustc.edu.cn 感觉挺好用的)
邮件列表:
- 设立一个Mirrors Developer内部邮件列表。
- 设立一个“新手列表”,任何人均可发帖和订阅,issue tracker自动发送到此列表,用于公共讨论。
- 设立announce邮件列表,用于发布公告。
各镜像站关系:
- 各镜像站自己的站点保持原样,可以继续以自己的名号提供镜像服务和做宣传。
- 各镜像站维护的官方源,可以自愿通知开源软件官方,将官方源切换为镜像联盟。
- 对于一个开源软件镜像,如果镜像联盟已经申请成为中国大陆地区官方源,在镜像运行良好的情况下,各镜像站不得以自己的名义再申请成为官方源。
成为镜像站的建议:
- 服务器在中国大陆境内
- 网络条件较为稳定,有固定IP地址
镜像站分类:
- 主站:镜像联盟的核心节点,要求很稳定,从各运营商网络访问延迟都较低。
- 大陆主镜像:每个镜像有一个主镜像节点,从上游源同步,其他镜像节点都从它同步。要求比较稳定,出国访问带宽较大。
- 公开镜像:要求比较稳定,出校带宽不太小。
- IPv6-only镜像:学校不允许IPv4对外提供服务的,镜像联盟只将校内IPv4和临近的IPv6调度到此镜像。
- 校内镜像:出校带宽不大或学校不允许对外提供服务的,可以申请成为校内镜像,并提供学校IP地址范围,镜像联盟将把此IP范围的请求调度到校内镜像,其他请求将不会调度到此镜像。
- 代理服务器:如果校内公网速度普遍较慢,手头有一台公网速度快的服务器,但没有存储资源的,可以搭建自己学校内的“代理服务器”,不存储任何镜像,只做代理。提供学校IP地址范围,镜像联盟将把此IP范围的请求调度到代理服务器。
是否容许非高校镜像参与:
在tuna邮件列表中,一些公司、机构表示愿意合作。他们往往拥有以G计的公网可调度带宽,而高校源的CERNET带宽比较好,如果高校与爱好开源的公司机构能达成合作,将使得教育网和公网都有较好的访问速度。而且这些公司里有经验的技术人员也能给我们一些技术指导和支持。
如果有公司机构参与,则镜像联盟名字里的“教育网”可能不合适了。如果叫“中国(大陆)开源软件镜像联盟”,好像名头有些大啊~