关于开源软件镜像联盟(非技术篇)

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带宽比较好,如果高校与爱好开源的公司机构能达成合作,将使得教育网和公网都有较好的访问速度。而且这些公司里有经验的技术人员也能给我们一些技术指导和支持。

如果有公司机构参与,则镜像联盟名字里的“教育网”可能不合适了。如果叫“中国(大陆)开源软件镜像联盟”,好像名头有些大啊~