Facebook Open Academy 是由斯坦福大学教授同时也是 Facebook 现代化教育负责人的 Jay Borenstein 发起,由 Facebook 赞助的一个活动。每年召集全球知名高校学生、教职员工以及知名开源项目负责人来到 Facebook 总部进行为期两天的见面交流及现场 Hackathon。

Facebook Open Academy

这次有幸代表四川大学参加 2015 年的 Open Academy 活动,参加 Ruby on Rails 项目的开发维护。这一星期短暂的美国之行收获颇多,在此应学院老师要求写一篇总结记录一下这次活动的经过。

经过了在学校近 20 天的集训、准备护照签证、兑换美元等前期准备,我们 8 个学生及两位老师于 2015 年 1 月 30 日在成都双流机场出发前往美国旧金山。其中我们 4 人乘坐的是美联航由成都直旧金山的 UA8 航班的 波音 787-8 型飞机。 经过近 13 个小时的飞行于美国东部时间 2015 年 1 月 30 日早晨顺利到达旧金山国际机场。在机场办理了入境登记即出门乘坐 Shuttle 到达 Facebook 预定的酒店——位于机场附近的 Marriott 酒店。

Facebook Open Academy

当天中午,乘坐东航航班的另外几位同学和老师到达酒店,短暂的商讨之后立即出发前往斯坦福大学参观。从 Millbrae 乘坐 Caltrain 用了大概 40 分钟到达了 Palo Alto,然后乘坐免费校车到达斯坦福大学。在门口有学生导游带着游客参观校园, 本来是需要预约的,但我们行程匆忙没来得及预约就跟随其中一批游客跟着学生导游逛校园。

Facebook Open Academy Facebook Open Academy

斯坦福校园面积很大,我们只逛了其中一部分,除了位于最中间的教堂我们没有再参观其他建筑的内部,这也是比较遗憾的一点, 没有进入图书馆和教学楼参观。但是对于学校和国内的学校很明显的区别就是在这里,学生才是主人, 在斯坦福组织活动和张贴海报不需要去审批、借展板什么的,学生宿舍从外观上看比川大的“留学生公寓” 还好得多。路上看到很多人都穿着印有 Stanford 的文化衫,可见大家对于学校的认同感和归属感是很强的。 随处可见一边晒着太阳一边看书的和草坪上进行各种集体性的体育活动的学生。

Facebook Open Academy Facebook Open Academy Facebook Open Academy Facebook Open Academy Facebook Open Academy

第二天 1 月 31 号就是 Open Academy 活动开始的日子,由于参加活动的所有学生、老师和 Mentor 都住在这个酒店, 那天在酒店吃早餐的时候就开始“勾搭”身边的人,大都是参加这个活动的。然后乘坐大巴来到 Facebook 位于 Menlo Park 的总部。Facebook 总部建筑规模并不大,由一圈不超过三层的建筑围起来,中间有一条街,周围是面积跟建筑还差不多大的停车场。 后面是一片湿地,周围也比较空旷,所以第一次来会有一种像是来到乡下的感觉。

Facebook Open Academy Facebook Open Academy

下车进门,在一个 iPad 上勾选自己的 Facebook 账号签到,领取自己的名字牌,然后在活动组织人 Aga Kaminska 的带领下来到活动主要的房间。两个由会议室改造的房间摆满了桌椅,按照开源项目分组,同一个组的学生和 Mentor 坐在一块,所有学校的教职员工单独坐在一块。名字牌的带子的颜色可以区分自己的角色,灰色是学生,蓝色是 Faculty,绿色是 Mentor。

Facebook Open Academy

我参加的 Ruby on Rails 项目历年来都是人数比较多的一个组,有二十来个学生和四位 Mentor。分别是来自澳大利亚 就职于 Red Hat 的 Matthew Draper、来自美国 就职于 Red Hat 的 Aaron Patterson、来自美国 就职于 Basecamp 的 Eileen M. Uchitelle 以及来自英国 就职于 Unboxed Consulting 的 Andrew White。 等人都到齐了,大家先轮流做了自我介绍,然后和自己座位周围的人简单的聊了聊互相认识了一下。坐我对面的三个学生是来自 芬兰赫尔辛基大学的学生,估计英文说得不太好一直不爱跟其他人交流;我左边两个是来自 CMU 的学生,其中一个是台湾裔人; 还有一个来自芬兰坦佩雷大学的学生;我右手边三个是来自宾夕法尼亚大学(UPENN)的学生,其中我旁边的用的一台联想 Yoga 笔记本还专门跟他交流了一下选这款笔记本的原因。

Facebook Open Academy

接下来 Jay Borenstein 和 Aga 发言讲了一下活动的相关事项,然后项目的 Mentor 就开始来巡视了。先让我们把 GitHub 的 Rails 仓库 Clone 下来,Facebook 的网络非常给力,肉身翻墙访问 GitHub 的速度也非常快,在国内估计得 好几分钟才能下载下来的任务大概十秒钟就完成了。然后让我们使用测试命令运行整个框架的测试, 这期间遇到的问题一个一个帮我们解决。测试跑通了之后,Aaron 看有些同学对 Ruby 语言不是很熟悉,就跑到演讲台上开始普及 Ruby 语言的知识。

Facebook Open Academy Facebook Open Academy

上午的活动结束后开始供应午餐,自助取食,提供米饭、面包、各种酱、猪肉、鸡肉、沙拉蔬菜、饼干甜点等,非常丰富,但毕竟 是西餐还是吃不太习惯,感觉比较干,口味偏淡。另外在会议室外面的走廊有冷藏柜和架子上摆满了饮料和零售可以随便拿取。

Facebook Open Academy Facebook Open Academy

下午组织参观了 Facebook 的园区,由于是周末不上班,所以比较冷清,看了一下标志性的 Hacker 广场和旁边的小型起重机、 到其中一个活动室玩了一下老式的街机以及难得一见的实体弹球桌。在办公区域的 Facebook Wall 上写下自己的名字拍照留念。

Facebook Open Academy Facebook Open Academy

接下来 Aaron 给我分配了一个任务,在 GitHub 的 Rails 项目的一个 Issue,叫我去测试验证这个 commit 的代码,由于作者与当前版本的代码出现冲突不能直接合并,需要我创建个 Pull Request 来合并。 进行完测试后由于我没有用过这种方法合并代码,所以一时间毫无头绪,找到 Aaron 来一步一步的教我用 git 命令行完成了合并。

第二天又找 Matthew 给我分配了个 Issue 是跟数据库关联有关的,我学习相关知识,写了测试用例,发现并没有作者所描述的问题,后来 Rails 的成员也解释说这是一个无法也不用解决的问题。

第二天下午去 Facebook 园区门口的“点赞”牌前拍照:

Facebook Open Academy Facebook Open Academy

第二天在活动会议室展示 Oculus Rift 头戴式虚拟现实显示器:

Facebook Open Academy

两天的活动时间很快就结束了,Facebook 作为活动主办方和资助方,所有人的机票和酒店住宿费用是一笔很大的开销, 活动对于来说也许并没有什么贡献,因为都是开源软件,也不是他们所需要技术,甚至有些 Mentor 来自 Facebook 的竞争对手的公司。但是我觉得这样的活动是一种对教育和开源事业的支持,对为 Facebook 不断输出优秀人才的高校的反哺,对开源项目良性循环的维持。也希望这样的活动能够更多的被国内的 IT 公司所借鉴,为学生和开源提供更多的活动和资源。

回国前接下来的 4 天由我们自己安排,2 月 2 号早上我们从 Facebook 提供的酒店 Checkout 然后乘坐 BART 前往旧金山市中心的 Powell St 车站,然后步行到之前预定好的一个青年旅社登记并寄存行李。 然后在市中心和唐人街逛了一圈。当天下午又乘坐 BART 前往位于湾区对面奥克兰市旁边的加州大学伯克利分校。

Facebook Open Academy Facebook Open Academy Facebook Open Academy Facebook Open Academy