我的 FOSS 社区中的开发者住在哪里?对于大型开源社区,与开发者进行个人接触是不可能的,回答这个简单的问题可能很困难。
在某些项目中,开发者可以选择注册个人地理信息,例如居住国家或城市或 GPS 坐标。例如,Debian 就是这种情况(如下所示)。在其他项目中,会收集 IP 地址——之后可以对其进行地理位置分析。此信息允许跟踪不同类型的访问(到开发存储库、下载区域、论坛等)。但大多数项目不具备这些跟踪能力。
此地图显示了 Debian 开发者的位置。CC BY-SA 4.0。
幸运的是,有一种方法,即使它不能产生关于确切位置的大量细节,也可以用于可视化您的社区如何在世界各地分布:时区分析。时区不适合细粒度的位置,但足以了解大致的地理区域。
时区分析使用开发者与某些存储库交互时作为副产品提供的信息
- Git 在提交记录中包含本地时间。当提交在项目 Git 存储库中合并时,作者时间(包括时区标签)通常不会更改。请注意,对提交执行某些操作可能会更改其时间,切换到执行操作的人员的时区标签。尽管如此,在大多数情况下,该信息对于了解提交作者的时区仍然足够可靠。
时区分析的一个例子。它显示了 2014 年 OpenStack 每个时区的 Git 作者数量。CC BY-SA 4.0。
- 邮件发送者在所有发送的消息中提供本地时间,包括时区标签。在许多情况下,存档邮件列表的软件会保持此时间不变。在这些情况下,对邮件列表存储库的分析允许识别发送者的时区。
时区分析的另一个例子,显示了 2014 年发送到 Eclipse 邮件列表的每个时区的消息数量。CC BY-SA 4.0。
在这两种情况下,请注意至少三个麻烦来源
- 执行提交或发送消息的机器人可以将其本地时区设置为对其所在机器方便的任何时区;在任何情况下,机器人都不是人类活动。在某些项目中,机器人可能占 git 存储库或邮件列表中大部分活动,这意味着为了进行可靠的分析,必须识别并删除机器人。
- 人们将其机器上的时区设置为居住时区以外的时区。例如,经常进行全球旅行的人可能将其时区设置为 UTC+0(世界标准时间,以前的格林威治时间)。这意味着对应于 UTC+0 的时区可能被过度表示。
- 许多国家每年切换两次时区(夏令时),但并非所有国家都这样做。而且那些切换的国家并非在同一日期切换。
世界时区地图。作者:Phoenix B 1of3。CC BY-SA 3.0。
时区分析仅提供社区地理分布的高级视图。例如,您无法区分欧洲贡献者和非洲贡献者,因为它们位于同一时区。您可以大致识别来自大型区域的人员(但该列表并不精确,因此请查看地图以获取详细信息和更准确的描述)
- UTC+12:新西兰。
- UTC+10,UTC+11:澳大利亚。
- UTC+9:日本,韩国。
- UTC+7,UTC+8:中国,俄罗斯东部,印度支那。
- UTC+6:印度(实际上是 UTC+5:30)。
- UTC+3 至 UTC+5:俄罗斯西部,东非,中东。
- UTC+0 至 UTC+2:西欧和中欧,西非。
- UTC-2,UTC-3:巴西,阿根廷,智利。
- UTC-4 至 UTC-6:北美中部和东海岸(美国,加拿大,墨西哥),中美洲,南美洲西海岸。
- UTC-8,UTC-7:北美西海岸(美国,加拿大)。
对于某些用途,这已经足够了。例如,上面关于 OpenStack Git 作者的图表清楚地表明,大多数开发者来自北美和西欧,远东和其他地区也有一些参与。Eclipse 邮件发送者的分布更加集中在西欧,北美有大量参与,世界其他地区只有少量存在。
您可以使用这种研究来跟踪增加地理多样性的政策结果,了解开发者来自哪里,或决定会议地点或聊天会话开始时间。总的来说,时区分析是了解您的开发者来自何处的全局概况的简单方法。
本文基于书籍 Evaluating FOSS Projects 的内容。
最开放
月度
月度
一系列文章,重点介绍首次为 Opensource.com 做出贡献的贡献者。
2 条评论