CSDN:你们如何对项目进行管理?团队成员之间是如何分工和协作的?程序的开发流程是什么样? 王勇:我们内部主要用 tower.im 这个在线协作工具来分配和协调任务的,我们一般都把一个产品的团队规模控制在5人以内。不管是设计还是程序上出了问题,大家都会迅速的坐在一起讨论问题,然后根据问题和每个阶段性的目标写到 tower.im上,然后把任务分给合适的人员进行处理。 在完成任务中,大家随时可以在 tower.im 进行实时的交流和沟通,即使团队成员不在公司也会非常迅速的相互沟通。因为 tower.im 有非常高效的任务分配和管理功能,我们每天会针对当天要完成的事情进行划分并创建 50~100条的 tower 任务,而每个任务都小到 1 个小时就能处理完,因为每个任务都很小,所以团队成员完成的非常迅速。即使中间出了问题,1个小时粒度的交流都能非常迅速的进行调整和改进,也正是因为每个任务都非常简单,不会像传统的软件开发项目那样死板。一旦出了问题,就会付出数以月记的返工。基于这种微小粒度的项目控制,LinuxDeepin 一直处于高速的敏捷开发模式。 我们每个产品都会经历这样的开发好周期: 产品定位→需求分析→UE设计→高保真设计图→UI设计图→技术框架实现→项目代码实现→QA质量管理→测试版提前发送给社区体验→用户反馈→Bug修正→正式版发布 你会发现,我们和 Linux 社区开发方式不同之处在于,我们有非常严格的产品设计流程。我们的每一个成品、每一个控件甚至是每一个像素,我们都会进行认真的分析和探讨,包括:
这些都是我们每天会花非常多的时间去想去做的事情。而传统的 Linux 社区开发应用软件完全没有这么严格的设计流程,一旦遇到项目中期功能冲突的时候,软件的设计和流程就会遇到不合理的地方。传统的Linux 社区欠缺的正是这些注重交互流程的设计师,导致 Linux 桌面在基础的用户体验上没法做到和Windows/Mac 一样好,而为 Linux 社区的开发注入设计思维正是 Linux Deepin 这些年来想改变的事情。 而另外一个不同之处,在于我们由非常严格的 QA 测试环节,在软件开发中不可能没有 Bug,我们在发正式版前都会跟用户进行详细的沟通来及时解决Bug,从而保障软件的稳定性,具体的细节我会在介绍社区的时候和大家分享。 CSDN:Linux Deepin项目是开源免费的,项目和团队的运营资金来自哪里?你们是否从这个项目中获得收入?本项目有没有商业模式?在此过程中你们有哪些感悟? 王勇:Linux Deepin 项目对于个人使用是永久免费的,但是对于企业和商业用途是收费的。选择 Linux Deepin 每年能为企业节省大量的IT成本,还能充分根据自己的需求进行灵活的定制。 Linux Deepin 的项目初期的资金主要来源于 Deepin 的个人投入,到今年为止,我们已经通过 Linux Deepin 操作系统项目达到了收支平衡。 Linux Deepin 的商业收入主要来源于基于 Linux 操作系统本身的项目定制,以及 Linux 相关的软件研发项目。 在探索 Linux 商业化的步伐中,主要的问题是从政府部门到企业以及个人对Linux 的认识存在很多误解,认为 Linux 只是计算机高手的玩具。其实Linux 发展到今天,无论是基本的生活娱乐、企业办公,还是基础设施以及到信息安全,Linux 本身都已经非常的强大了,完全能满足日常办公和生活所需。 其次,中国在教育领域的推广力度还不够,一个完全开源的操作系统更能在基础科学上推动整个国家的科技水平提升,而像 Windows这种完全闭源的系统是根本不可能办到的。 CSDN:在Linux Deepin项目发展过程中都遇到了哪些困难,你们是如何解决的? 王勇:在 Linux Deepin 项目发展过程中,我们遇到了非常多的问题,这些问题也是 Linux 桌面为什么没法做到和 Windows/Mac 商业系统抗衡的原因,下面我具体和大家分享一下: 1. Linux 社区有很强大的开发力量,但是鲜有设计驱动的项目。 我们访问 Github 等开发平台,就会惊讶于整个 Linux 以及开源社区在开发力量上的强大。全球有千万的开发者给 Linux 各个层次贡献代码,但是为什么 Linux桌面做了十几年做不好?是因为从来没有任何 Linux 团队把交互设计当成最重要的任务。很多软件都非常强大,但是非常难用,甚至是把界面当成是功能的堆砌,而不是通过合理的设计,让每个功能在合理的布局上摆放,同时保持界面的简洁和操作的简单。 而 Linux Deepin 通过两年的产品实践就是想告诉 Linux 社区的这些天才开发者们,其实做一个兼顾功能和设计的产品一点都不难,只要我们每天多花一些心思在思考用户怎么更好用上,Linux 的软件的用户群就不单单只是极客了。 2. Linux开发缺乏标准化。 很多 Linux 发行版本每次都在炫耀技术上有多么高超的变化,这些缺乏标准化的变化,不但让下游的开发者数以月记的工作付之东流,而且还让用户承担不稳定的风险。Linux Deepin 不论开发还是设计,都有非常标准化的文档。我们希望通过不断扩大的影响力让更多的人知道:一个稳定的技术和标准才能让更多的开发者不用担心兼容性问题,才能让更多的用户加入 Linux 阵营中。 3. Linux 社区应该更团结、更务实。 无论去到任何一个 Linux 社区,都会发现大家吵的最火的不是怎么解决问题,而是暴露出问题然后进行无聊的争吵谁是对的?这是让我们最为困惑的事情。因为这就像没有建设性意见进行讨论,不会有任何结果的,就像很多人抱怨Linux这不好用那不好用,自己不去做,甚至还要通过某种方式表达自己是高手的优越感。 呼吁国内开源社区的每一个人摒弃这种只耍嘴皮子的行为,没有任何人能预测未来是什么,更没有任何人能妄断别人能成为什么,耍嘴皮子不能解决任何现有问题,反而会引发社区内部矛盾。Linux Deepin 通过实际行动证明:大家一直以来抱怨的中文编码、娱乐、系统稳定、输入法等问题通过 2 年时间就能很好的解决,而如果我们大家更加务实和团结,去真正的解决 Linux 桌面发展中遇到的问题,我们相信 Linux 会发展的远远要比今天更好。 CSDN:简单介绍一下Linux Deepin社区的情况。 王勇:Linux Deepin 社区现在其实是一个更加偏向于普通用户的社区,我们经常会和社区的每位成员进行互动,了解用户在日常使用中遇到的各种各样问题,除了每位工程师都看论坛中用户的讨论外,我们每周四都会花一整天的时间去解决用户报告的Bug 和建议。 我们每天都提醒自己一句话:Linux Deepin 为用户而生。和大多数IT公司拼用户数或者把用户当成市场占有率的数据不一样,我们相信只有真正的解决用户的问题才是头等大事,只要为每一个用户关心的细节而改进,我们做的产品才能吸引更多的忠实用户。 除了在产品建议上,我们在全球都举行了大型的翻译协作项目。举个例子,Linux Deepin 2013 发布不到一周后,几十个软件的西班牙语和葡萄牙语就翻译成功,如果没有社区力量的帮助,这些都几乎很难在一周之内完成。 我很欣慰 Linux Deepin 整个社区的氛围要比传统的Linux 社区更加务实,这里没有无谓的争吵,相反有非常多的建设性意见和鼓励。LinuxDeepin 正是有了这么正能量的社区支持才能坚强地走到今天。 CSDN:有没有和其他社区展开合作?有没有团队外的其他开发者参与贡献?其他社区成员参与项目贡献的形式有哪些? 王勇:有,比如向 Debian社区贡献中文翻译文档、Linux Deepin和搜狗以及 Fcitx作者翁雪天合作开发了搜狗输入法、把 Linux Deepin 搜集的 Bug反馈给Debian/Ubuntu/WPS等社区。还有帮助其他发行版的开发者移植深度软件,比如深度桌面环境和深度系列软件已经成功移植到OpenSuse 和 ArchLinux。 我们所有项目都是开放源代码的,我们经常会收到社区开发者给我们发送来的补丁,这里面不但有国内开发者,还有很多国外的开发者,而且社区开发者提交补丁的频率和质量都非常高。 除了补丁外,外部开发者还会从功能建议、程序设计、文档方面提供诸多的帮助。 CSDN: Linux Deepin项目未来的发展计划是什么(如未来版本特色)? 王勇:Linux Deepin 项目的未来计划很简单:为每一个用户关心的细节而努力。 比如,未来我们会开发智能窗口管理器,不论用户在虚拟机、一般性能的机器还是高性能机器都能非常流畅地体验深度操作系统;我们会在影音娱乐、基础文件交互、移动操作系统结合方面做更多创新的集成式体验; 我们未来可能会和更多硬件厂商合作,做出让人们惊叹的实体产品。 现在的“开箱即用”已经不再是我们目标,我们未来版本的目标是,开机后用户惊呼一声:Wow, Deepin! CSDN:目前 Linux Deepin 只有桌面版本,未来是否会考虑推出服务器和移动版本? 王勇:就像我开始说的一样,Linux 从来不缺乏编程高手,Linux 缺乏的是设计和用户体验,我们在很长一段时间内都不会涉足服务器版。因为贪多不是我们的目标,我们的目标是把一件事情做好、做到极致。 移动版本我们会涉足,当然 Linux Deepin 不会只是装上移动硬件就完事了。如果我们推动移动版本,也会和桌面版本一样,一定是极佳的用户体验。 |