Shell's Home

Mar 13, 2011 - 2 minute read - Comments

linux社区规模估量

debian是一种重要的linux发行,基于其上有很多衍生,其中最知名的就是ubuntu。debian的包是通过ftp mirrors来进行发布的,因此一个国家的镜像数量,大概能够反映出这个国家debian社区的规模。也大概的,能够说明这个国家开源软件社区的发展。

debian的所有官方镜像有一个列表,具体在这里(http://www.debian.org/mirrors/list)。我利用wget下载了这个镜像,然后写了一个简单的脚本来处理这个文件。文件发布在这里(http://shell909090.org/debmircnt.py)。以下是结果。

United States 48
Germany 32
France 28
Taiwan 13
Australia 12
Japan 11
Great Britain 11
Canada 11
Portugal 9
Italy 9
Russia 8
Sweden 8
Spain 8
Czech Republic 8
Brazil 8
Austria 7
Bulgaria 7
Poland 7
Turkey 7
Netherlands 7
Hungary 5
Greece 5
Ukraine 5
Belgium 5
Thailand 5
Croatia 4
Finland 4
Lithuania 4
South Africa 3
Romania 3
Switzerland 3
Denmark 3
China 3
Korea 3
Slovakia 3
Latvia 2
India 2
Mexico 2
New Zealand 2
Indonesia 2
Chile 2
Slovenia 2
Iceland 2
Belarus 2
Israel 2
Argentina 2
Ireland 2
Nicaragua 1
Colombia 1
Uzbekistan 1
Kazakhstan 1
Estonia 1
Luxembourg 1
Moldova 1
New Caledonia 1
Hong Kong 1
Bosnia and Herzegovina 1
Venezuela 1
El Salvador 1
Singapore 1
Algeria 1
Norway 1
French Polynesia 1
Costa Rica 1
Malta 1
Bangladesh 1
360

这个列表有几个有趣的数据。首先是中国的排名,不算太差,三个镜像,在第30名上下,比香港的一个镜像好多了。不过考虑到香港的人口和中国的人口,让人有点笑不起来。其次是俄罗斯的排名,以8个镜像居于11位。这也不难理解,因为俄罗斯不使用英文,所以在俄罗斯流行的不是常见的英文发行版本。德国比法国多出四个镜像居于第二位,美国是debian的发源地,以48个镜像的惊人数量居于第一。世界全部镜像是360个,光是前三位的镜像数量就占了将近三分之一。台湾地区以13个镜像居于第四,这到让人很是意外,居然比日本还多。

为了减少特殊性,我又选择了一种社区系统,gentoo。之所以选择社区系统,是因为这些系统更少用于商业用途,相对比较反映社区力量。对于gentoo,可以在这里下到镜像列表(http://www.gentoo.org/main/en/mirrors2.xml),我也写了一个脚本(http://shell909090.org/gtomircnt.py),结果如下。

USA 47
Germany 30
Netherlands 12
Ukraine 11
Canada 11
UK 10
Russia 10
Czech Republic 10
Austria 9
Portugal 9
Japan 9
Sweden 9
China 9
Poland 8
France 7
Brazil 7
Greece 6
Romania 6
Slovakia 6
South Korea 5
Bulgaria 4
Spain 4
Taiwan 4
Kazakhstan 3
Turkey 3
Finland 3
Ireland 3
Hungary 2
Switzerland 2
Denmark 2
Bosnia and Herzegovina 2
Iceland 2
Israel 2
Thailand 2
Argentina 2
Lithuania 2
Kuwait 2
Malaysia 1
Latvia 1
Hong Kong 1
Indonesia 1
Norway 1
280

这次就好多了,中国以9个镜像居于10位左右(具体是13,但是同样是9个镜像的国家比较多)。但是注意,这个脚本并不区分镜像类别。就是说,对于同一个镜像的ftp,http和rsync,会被计算做三个。我认为这从某个方面能够反应镜像质量,所以并没有严格区分(当然,得承认,部分原因是因为我懒的写代码了)。美国依旧排名第一,德国居于第二,第三变成了荷兰。依然,头三名占据了世界三分之一左右的镜像。乌克兰和捷克的上榜让我颇为惊讶,这些东欧国家为何偏爱gentoo呢?法国只有7个镜像,看来在法国debian衍生系列比gentoo系列要流行的多。台湾四个镜像,香港一个镜像,都是比较正常的数据。

对比两个发行的不同排名,会发现一些比较有意思的东西。例如美帝国主义势力的强大,德国紧随其后。台湾地区和法国偏好debian系统,东欧和中国偏好gentoo。对此,我个人觉得有两种可能。gentoo和debian相比,对授权的限制更加松散,对系统的管理要求更加高一些。因此东欧和中国对gentoo的偏好,可以解释为这两个地区偏好license限制更加多的软件,或者是这两个地区的管理水准更高?

当然,不排除还有一种可能。就是gentoo社区规模比debian小很多,从而发生了涨落效应。gentoo的280个镜像很多被重复计算了,真实镜像大概就100多。比起debian实打实的360个二级镜像,还是太少了。因此,只要在一个国家中多加一个镜像,就很容易的排到很前面。从而引发随机涨落效应。