Python shell Ubuntu Android php mysql linux命令 HTML5 google wordpress centos java Firefox nginx apache 微软 linux Windows 程序员 开源

12306开源项目组的近况、愿景和阻力

2012 年 9 月 28 日凌晨 1:38,12306NG.org 注册成功,其创始人李大学表示:“这将是项目组自己的网站,完全公益!我们将通过此网站发布项目所有成果,包括源代码、技术方案、各类文档等。此网站也是我们项目组讨论、协作、分享的地方。”

当天下午 12306NG 开源项目组正式开始筹备。

四个多月过去了,该买票的也都买了,像我这样没买到票的也该绝望了,但开源项目组的成员们还在继续努力。近日我采访了 12306NG 项目组的几位核心成员,看看这一群“站起来”的程序员们都干得如何。

“12306 NG 是一个平台,在这个平台下我们希望能够把自己做的东西付诸实用,以后当我们应对这类高并发问题,或者处理一些大数据的时候,能够有一种合用的解决方案。”

12306NG 项目整体负责人 Ender 告诉我,目前已经成立十个子项目组,每个项目组有专门的人员负责项目进度。每个项目组设有管理者 2-3 人,开发人员大概有 4-5 人左右,每个小组的实际情况并不相同。目前总共约有 100 多人,成员每周会定期进行讨论并汇报进展。

procedure

架构

“订票系统其实相当于一个具体的业务。”据 Ender 介绍,整个大项目分成了十个模块,每个模块有针对性地解决订票流程中存在某一个具体的问题,并尝试对它们进行优化。“我们针对每一个问题做了一些技术上的调研,然后将整个大问题分解成了一些子模块。”

目前项目组包含了 HgLSG 业务网关项目组、NgPM 票池项目组、NgSG 服务网关项目组、Ng4IOS 项目组、Ng4Android 项目组、NgSql 项目组、NgWeb 前端开发组、NgTF 恶意流量控制系统、NgTG 交易网关项目组和 NgSSO 用户认证系统这十个项目组。

“在项目的前期,我们主要分析目前存在的问题,然后通过寻找一些实用的技术分别提出解决方案,包括开源的技术。”目前整个前期准备阶段已经完成,项目组内部已经定下了一个技术框架和项目间衔接的过程,每个子项目正在完善当中。

“我们将每个子模块尽可能地独立开来,力求让每一个子模块能独立运作,解决其对应的问题。”Ender 表示整个项目的成果可能有两种呈现形式:可以独立使用的子模块成品,以及将各个子模块衔接起来的庞大系统。

ticket

进度和阻力

关于进度问题,12306NG 移动端项目负责人李先生表示:“要完成整个项目还需要很长的时间,目前还没有定下具体的时间表。”

当我问及项目面临的阻力时,李先生表示:“最大的阻力在于坚持。在国内程序开发这个领域里,有许多人看见别人都在做某件事情,于是就想参加进来。但许多项目不是一天两天就能完成的,于是就有很多人中途退出了。”

据了解,李先生本身也是一名互联网创业者,自组团队开发一款叫做“飞速”的手机上网加速、节省流量的工具。他也是完全凭兴趣参与了这个项目,挤出少有的业余时间管理自己负责的子模块。

除了人员问题之外,项目组也承担了一些法律上的风险。“虽然我们开发的东西和目前存在的许多抢票插件不一样,但没有人能够保证项目完成后会不会承担 更大的风险。”李先生表示 12306NG 的任务是对整个订票系统进行优化,解决系统中存在的问题,而不是粗暴地利用漏洞,开发插件。

组内的多数成员都是利用业余时间参加项目,每个人的时间都不确定,需要耗费许多精力进行协调。而李先生也坦言,成员没有任何报酬。

Ender 表示:“这是一件有意义的事情,于是大部分人都在坚持。”

Do

一切为了开源

12306NG 项目组创始人李大学在项目组内部说出了他的愿景:“我们做这个产品,不仅仅是为了解决订票这一个问题,而是而是希望通过这个项目让更多的人懂得什么是‘开源’,在中国宣扬开源的精神。”

Ender 相信,他们建立的平台能够“让每个人能够接触其他的专业人士,也能过学习一些相关的技术,让开源的概念能够在中国延续下去。”他坦言,在中国要想真正提倡这种概念,是一件异常艰难的任务,但若先完成一个实用且有影响力的项目,也是很有价值的。

“中国的开源精神有些欠缺。”Ender 认为,组织开源精神在国内深入推广的原因有很多,它和目前中国的工作体制于工作方式有很大的关联。“在公司里生存就是为了工作,而不是把工作当做真正的爱好,大家自然就不愿意去参与其他的事情。”

“技术是不断迭代更新的,新技术替代旧技术,如此往复循环,但这需要有人来努力。”

愿景

谈到未来的规划,Ender 的回答非常实际:“我们内部的每一次沟通都是围绕着一个目的——可行性。如果我们觉得这种方式对开源理念在中国的推广有好处的话,我们会在后期进行推广。 但在这之前,我们必须要确定这么做是真正有效的,我们才会考虑去实施。因为到目前效果还不算太满意,所以不希望太高调。”

他认为过早地去规划未来是一种不负责任的行为,“你只有把东西展现给大家,大家觉得好,你的付出才有意义。”

恐怕我们真正需要的,不仅仅是“站起来”,而是“做下去”。

文:爱范儿

延伸阅读

评论