深度.開源.社區 - DAU 2015 講稿

大纲

  • 深度文化
  • 深度开源
  • 深度社区

深度 (团队) 文化

  • 专注务实
  • 开放心胸
  • 乐于分享
  • 求新求变
  • 追求完美

深度开源

代码仓库 - gitcafe


https://gitcafe.com/deepin

代码仓库 - github


https://github.com/linuxdeepin

桌面环境

  • 目前共 93 个项目
    • 源码
    • 建构脚本
    • 打包脚本
  • 完整重现我们的工作成果

贡献社区

  • 取之于开源并回馈开源
    • Patch 贡献
    • 问题回报
    • 专人参与开源项目
  • 以 Linux 社区成长为己任
    • 开发成果集成至其他发行版
    • 建立市场以便于发布
  • 长期目标

以 wine 项目参与为例

  • 目的: 减少 Windows => Linux 成本
    • 降低学习曲线
    • 延后厂商投入成本
  • wine 是十分有效的手段
    • 但不是万灵丹
    • 需要投入开发人员

wine 参与 - 目前情况

  • 目前一共 3 名全职人员进行开发
  • 参与方式
    0. 发现问题/需要加强/实现的部份
    0. 与 CrossWeavers 中国区开发人员讨论
    0. 结论发至 wine 社区
  • 提交的 patch 分布于以下模块
    • gdiplus.dll
    • ole32.dll
    • mshtml.dll
    • mlang.dll
    • quartz.dll
    • user32.dll
    • wbemprox.dll
    • iphlpapi.dll
    • svchost.exe
    • reg.exe
    • cmd.exe
  • Patch 收录情况
    • 1/3 已合并至 wine upstream
    • 2/3 在 CrossWeavers 版的 wine 仓库中

wine 参与 - 己集成 patch

  • 共 11 个,
    • Wed Jul 22 09:38:42 2015 +0800 - e48c3e466cb49e556db44725be19aabc58b9ce26
    • Thu Jan 22 15:51:40 2015 +0800 - d5d4c19226273efe1ce1a11782bfbd70e58a70d3
    • Thu Jan 22 15:08:38 2015 +0800 - c0020b3ac39712f20f3c040d308dca76ea1a059d
    • Thu Jan 22 12:07:48 2015 +0800 - fd08da6035d2bfcd11818b9a7c1f2ad86a6172af
    • Mon Dec 22 16:43:47 2014 +0800 - 5fa7402a36ee0e1238434598ff589e3de42f80cd
    • ...

wine 参与 - 打个广告

  • 我们需要牛人加入
  • 尤其是领域如: GDI+, OpenGL/Direct3D, Audio/Video
  • 能力要求 - 熟 C & Linux 编程, 开源工具
  • 但是

贡献至其他发行版方面 - 以 Arch Linux 为例

  • 由团队成员常态维护
  • Deepin 2014 桌面可正常使用
  • Deepin 2015 部份应用可用
  • 成果已被上游收录

应用生态現況

  • 打包成果无法重用
  • 相依问题造成安装失败
  • 安装中断造成包信息不全
  • 升级造成的可用性问题
  • API/ABI 变动造成兼容问题
  • 应用资源占用无法控制

改善计划

  • 短期目标
    • 系统, 框架, 应用各自独立
    • 以容器打包/发布/管理
    • 固定 API/ABI 版本
    • 元子化安装/更新
    • selinux 安全管控
  • 中长期目标
    • 限制系统资源可见度
    • 完善访问及授权机制
    • 让非开源, 第三方应用更好的被管理
    • 统一发行版间的打包方式
  • 与 mobile 平台不同, Linux 桌面还有相当的工作量要投入

深度社区

现况

  • 有各种沟通管道

官网


http://www.deepin.org/

论坛


讨论空间 - http://bbs.deepin.org/

百科


Deepin 及开源相关知识库 - http://wiki.deepin.org/index.php?title=首页

博客


用作发布官方消息 - http://blog.deepin.org/

代码审查


https://cr.deepin.io/#/q/status:open

Bugzilla


https://bugzilla.deepin.io

User/Developer Mailing List



http://wiki.deepin.org/index.php?title=首页

IRC


http://webchat.freenode.net/?channels=deepin

其他

  • 微信官方帐号
  • 微博
  • Facebook
  • 为了更好的跟国际用户接轨, 以上管道有多语或直接英文入口

但是...

  • 需求常无反馈 (但有处理), 或时间较长
  • 项目进展不够透明
  • 社区参与信息不清

这些问题急需解决

增加问题反馈速度

  • 专人查看/收录 patch
  • 定时查看 issue
  • 改善工作习惯/任务重心及流程
  • 堆动内部参与论坛/邮件列表/...讨论
  • 增加即时讨论管道如 gitter

提供清楚的参与说明

  • README.md
  • Contribution guide
  • Hacking Guide
  • 补全源码注释
  • 在线文档供查找

完善设施让社区能更早参与进来

  • 构想/设计先于代码发布
  • 开放 Jinkens 建构服务
  • 开放变动快速的 experimental 源
  • 缩短发布周期
  • 版本发布加 tag & GPG sign
  • Release 及 issue 的推送频道

最后

期待你的吐嘈, 让我们能做得更好