Android
, Java
,Data Analysis
Open Data Kit 是一个致力于数据收集、整理的开源大数据平台。从消除脊髓灰质炎(对抗疾病)到热带雨林的保护,ODK 帮助了数千个组织快速、准确、离线和大规模的收集数据。 ODK 软件的用户包括世界红十字会、世界卫生组织、疾病控制中心、珍-古道尔研究所 (Jane Goodall Institute)、盖茨基金会、卡特中心 (Carter Center) 等等。该项目发源于 University of Washington 的计算机实验室,是一个充满公益情怀的项目。
Open Data Kit 的管理人员是一对超级有爱的夫妇:Yaw 和 Hélène。他们不仅仅是阅历丰富的技术高手,并且还会在社区里面经常分享自己的生活(比如湾区养娃攻略、荷兰菜做法等等),社区不大但是氛围很好,大家都很熟(之前办美国实习签证还得到了社区大佬的很多帮助)。同时,ODK 社区在开源项目研发上有着非常良好的管理和运营:Github 有 Bot、Repo 有 CI、团队有 QA、社区有 Forum、开发者用 Slack…… 可以说开源体验非常友好了。而且社区的朋友非常 nice、乐于助人。Yaw 曾经是 Google 工程师,现在是公益企业 Nafundi 的创始人;Hélène 一直是一个计算机科学教育者、曾在 UW 任教,遇到问题随时 turn to them, 往往都可以得到很多的指导。所以参与 ODK 项目的收获不仅仅是技术的提升,更会是一段快乐难忘的体验。
社区里面技术栈主要是 Java 相关,核心软件是 ODK Collect (一款 Android 软件)。但是社区项目也有前端后端支持,参与的学生一般不会参与太多业务逻辑开发而会更注重技术方面的探索,不像常规的软件开发实习。
目前社区已经连续参与了 3 年 Google Summer of Code,但是录取的学生数量非常少,每年都不超过 2 个。毕竟是 GSoC 现在为数不多的 Java、 Android 项目,竞争相对激烈。印度的学生非常多, 2019 录取的 @huangyz0918 是该项目唯一录取过的中国学生,剩下基本上全是印度朋友。所以录取之后和印度学生(或是 mentor)的交流必不可少。
录取没有什么捷径,但是比较容易上手,因为通过 Slack 的方式比较方便水群 (混脸熟),但是切记不要私发邮件给 mentor (社区规定,可能是每年申请人比较多怕打扰到 mentor),所有讨论、交流甚至 proposal 都要 public,写好的 proposal 要 post 到社区让所有人 review (包括你的竞争者),越早公开你的 proposal 你能够获得的修改建议就越多。
另外一个就是持续的贡献 commit,越多越好 (就目前几年来看,是按照你给它们核心软件贡献 commit 数量排名决定的录取),每年在对应项目下面录取的学生基本上只有 1 个,所以一般都是取 contributor list 里面最前面的那个。往年录取的学生基本上都贡献了超过 10 个 commit,所以申请这个 org 的项目去要尽早的准备,不能够光靠 proposal。
并且 proposal 不是很好写,我 mentor 去年的 proposal 写了将近 40 页,我自己的也写了 20 页左右,需要很多时间打磨。如果遇到移动应用的开发相关可能还要在 proposal 里面加上一些设计图,这就同时要求你的 PS、Sketch 能力了……
今年参与的项目是一个 Android 项目,主要做的是无网络设备之间数据传输的问题,需要对 Java 网络开发,蓝牙、Wifi Direct、甚至 NFC 原理和适配有一定的了解,具体的可以参照 proposal。