Debian 19岁:在git上回顾代码的生命之树

原创
系统
2012年8月16日,Debian迎来了自己的19岁生日。一般而言,技术控们庆祝项目生日的做法就是聚在一起讨论分享,吃个蛋糕什么的(比如去年的Linux 20周年庆)。今年,Debian的开发者之一Raphael Hertzog用了另一个庆祝方式:做视频。

【51CTO快讯】2012年8月16日,Debian迎来了自己的19岁生日(顺便说一句,昨天是51CTO的七周年纪念日)。一般而言,技术控们庆祝项目生日的做法就是聚在一起讨论分享,吃个蛋糕什么的(比如去年的Linux 20周年庆)。今年,Debian的开发者之一Raphaël Hertzog用了另一个庆祝方式:做视频

Raphaël Hertzog在1998年成为了一名Debian Developer(有关DD在Debian社区的定义,可参考51CTO之前的系列文章《开源社区是如何运作的》),现在也同时运作着一个属于自己的公司。今天这段视频有关 dpkg :这是Debian生态环境下的安装包体系。

以下的数字统计来自dpkg的git仓库,到目前为止的commit编号已经到达 9a06920 。当然,git 仓库是2007年建立的,里面只记录了dpkg的很小一部分历史,不过Raphaël尝试对git的记录和1996年到2007年这段期间的记录进行了一次整合。

总体来说,1996年4月到2012年8月的这段时间:

146人为dpkg贡献过代码(结果来自 git log --pretty='%aN'|sort -u|wc -l)

commit总数为6948个(结果来自 git log --pretty='%aN'|sort -u|wc -l)

添加/修改过 3133612 行代码(结果来自 git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/;')

目前,dpkg源代码树一共包含 28303 行C代码,14956 行Perl代码,6984行shell代码(数据来自David A. Wheeler的SLOCCount),并且被翻译成了40种语言(虽然大部分翻译都是不完整的)

历史上的5个贡献代码最多的开发者(结果来自 git log --pretty='%aN'|sort| uniq -c|sort -k1 -n -r|head -n 5):

Guillem Jover, 2663 commits

Raphaël Hertzog, 993 commits

Wichert Akkerman, 682 commits

Christian Perrier, 368 commits

Adam Heath, 342 commits

不过,以上的数据并不具备完全的代表性,因为还有很多人,比如Ian Jackson(最初用C重写dpkg的作者),Scott James Remnant(在导入tarball之后会发现他曾经活跃过很长一段时间)。每个 tarball 被视为一个commit,不过往往包含不止一处的更新。

那么,重头戏来了:以下是 Raphaël 制作的视频:dpkg git commit 历史的可视化展示

Visualization of dpkg's git commit history - Apr 1996 - Aug 2012

视频制作工具叫做Gource,感兴趣的朋友们也可以去玩玩看(李晨光做过一个Gource的介绍,推荐看看)。

作为Linux领域的鼻祖之一,Debian的成长其实也是很多开源社区成长的一个缩影。而观看这段代码树的成长历程,让人不禁开始怀疑,这些机器与代码组成的系统,是否早已有了自己的生命。

总之,Debian,祝你19岁生日快乐!

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2013-08-19 09:09:10

Debian

2016-03-07 10:32:15

Facebook产品经理故事

2013-12-09 10:42:31

Windows 9

2015-09-14 08:43:42

程序员谷歌经验教训

2023-04-06 18:48:34

2021-04-16 15:04:07

GitGit工作树Linux

2011-03-25 11:29:57

nagiosDebian

2013-12-13 09:47:23

2012-12-07 13:25:03

职业规划总结开发人员

2017-12-13 09:53:57

程序员编程编码

2018-06-07 14:32:27

2018-04-15 15:43:46

Git技巧命令

2019-12-30 09:03:49

职业阿里云网络

2018-01-03 11:48:46

程序员编程语言学习

2013-05-23 14:25:44

JDBC

2010-02-24 15:21:47

Linux编程

2014-05-06 10:24:00

2021-01-22 05:55:12

GitAngularJStype

2013-05-28 10:08:41

IO输出

2023-07-13 15:13:47

Python编程语言
点赞
收藏

51CTO技术栈公众号