我的 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 条评论