豆瓣代码托管系统 CODE 正式开源

简介:

Douban CODE 是豆瓣开发的一个基于 git 版本控制系统的协作平台。

可能很多人有点诧异,CODE不是已经开源了么? 是的,2014年2月14日CODE的早期版本就开源到了github。但是后来由于很多原因没有在做下去, 今天, 它真的开源了。

让我坚持下来的也是我想给外界看到豆瓣工程师文化的结晶, 这是一种情怀, 今天我想说说我和CODE的故事

CODE 的意义

CODE为什么开源:希望更多的人可以使用 CODE,希望更多的人可以一起开发 CODE。 - Code Team

市面上有 gitlab,有 github 企业版。我们折腾一个这样的东西有什么意义呢?以下是我的看法:

  1. CODE是一款豆瓣工程师自发组织, 基于我们自己的需要做出来的. 他其实是互联网公司程序员的一个需要, CODE曾经给github的同事们演示, 获得了很高的赞誉.
  2. 它并不是github的python克隆版, 有些地方却是和github殊途同归.
  3. 当你产品发展到一定地步, 对这个版本控制工具会有更多的定制化需求, 这个时候会需要二次开发. 假如你是个ruby开发很多的公司, 也不算个问题. 但是假如大家用非ruby的语言为主, 那么就很痛苦. ruby虽然在配置管理, web开发上面有一席之位, 但是没有python这么普遍. 同事们的参与局限性就多了很多.
  4. 假如你所在公司是python系, 或者爱好python系的, 那么CODE真的是一个很不错的选择. 首先它是免费的, 它是由国内python最大应用公司的工程师们开发, 质量有保证. 看代码的过程中也能学习到一些python的技巧, 豆瓣的玩法, 了解豆瓣的开发流程.
  5. 我一直觉得轮子是需要造的, 这个过程你能了解造轮子的乐趣, 一直在用其他人的东西那么永远只会停留在这个程度上.
  6. 用CODE, 看CODE代码的时候, 仿佛可以看到那帮有情怀, 有工程师文化的同学们在讨论需求, code review… 我一直认为这种关系和友谊才是最好的团队具有的

情怀

好吧, 啥是情怀呢?

情怀就是以心灵的满足而不是功利的得失作为自己的行为标准的一种品质。 一件没什么用的事,还是要去做,也许只因为我喜欢,也许只因为它看起来很美 – 知乎@宋老末

「我坚信程序员都是有情怀的. 」

从我决定继续这件事, 到现在已经4个月有余. 这个过程里面经历蛮多, 比如我经历着从技术转型做管理, 部门问题多多, 人员也在我强力介入下也流动蛮大的 -。-; 我也要花很大的精力陪女儿; 我一直也在不断的给自己充电, 我现在也要开始写书了… 做了TL, 唯一的感觉就是时间不够用, 我是个蛮有洁癖的人, 以前做普通工程师的时候按期完成我职责范围内的就好了, 现在责任大了, 看着产品线的sentry里那么多的报错, 看着Trello里面堆积那么多的card还没有机会做… 尤其在我使用一种新的管理风格有关, 让我倍敢压力, 非常辛苦.

要不是@xTao不断催促, 可能还要拖期.

是什么支撑我的情怀?

除了眼前的苟且,还有诗和远方 - 知乎@戴晓溪

我和CODE

告诉你们个小秘密, 我来豆瓣其实也是和CODE有很大的关系的… 在这里感谢@xTao和邢老师.

这一切是为什么捏?

话说那是13年下半年, 我的前公司从svn转到了gitlab. 我们在内部搭建了一个gitlab服务器. 各个产品线的代码都开始往上面迁移, 我不得不说它是市面上非常好的开源选择. 但是过了一段时间我就发现了问题:

我是python系的, 我有时候对它是不满意的, 有想法二次开发的.

这里我提一点, 很多人都说: “哎呀不要局限于编程语言, 不要去争论xx是宇宙第一语言”. 我的观点是, 只有0.1%的天才+4.9%的有天赋, 能力很强的人是可以这么说的. 剩下的95%都是在给自己学的不好找个理由和慰藉罢了. 我的观点是, 想要走在金字塔尖就需要有执念, 否则只能沦落到只能打打嘴炮的地步.

我曾经尝试一边翻着一边去读gitlab的源码, 想尝试定制它. 努力了差不多一个月放弃了. 原因无二, 这种临时报佛脚去玩转一个大公司北京多为大牛参与的开源项目的必然结果.

很痛苦, 但是内心又多有不甘, 于是决定做一个大事: 用python造个gitlab的轮子:

  1. 样式扒gitlab
  2. 根据gitlab的路由方式添加url
  3. 使用pygit2作为git后端

做起来才知道, 这是一个非常浩大的工程, 对于我当时的技术能力来说是个非常大的挑战. 我汲取前后端知识就基本直接用在这个项目上了.

但是有一天, 我有个放弃的念头.

之前我对豆瓣也没有什么特别的感觉. 直到有天我看到清风在 C2D2 的分享

http://segmentfault.com/a/1190000000410324 http://www.infoq.com/cn/articles/douban-code-2years http://www.infoq.com/cn/presentations/tools-love-knot-of-engineer-culture

我才知道在遥远的豆瓣, 有这样一帮人和我有同样的想法. 我称他们为geek. 这是我向往的地方呀. 于是, 我决定去豆瓣

CODE开源不久, 我就到了豆瓣.

非常遗憾, 我进来的时候, CODE的核心开发大多离开了豆瓣. 我没有机会和他们一起做CODE. CODE功能也接近稳定, 心情蛮失落的我只是修了几十个bug. 加一些功能, 比如:

  1. 鼠标放在团队上也会hover一个team的card
  2. telchar - 类似quora的qlint
  3. 鼠标emoji会悬浮图片的放大版本
  4. 项目的guidelines

等等.

CODE的未来

我会保证CODE会一直做下去. 但是单个人的能力精力有限, 我欢迎更多的公司都来用CODE, 帮助它变得更好. 也欢迎更多的同学参与进来.

未来CODE会做以下几件事情(不断补充中)

  1. 完善CODE的功能 - 现在放出来, 跑起来了. 但是预计还会有很多坑
  2. 增加初始化脚本, 填充数据
  3. 修复travis-ci
  4. 国际化 - 现在code里面有很多中文, 需要英文能力很高的同学一起来做
  5. 重构 - 有很多功能都是需要重构甚至重写的
  6. 其他方面的尝试

截图时间

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

相关文章
|
2月前
|
Java jenkins 测试技术
GitHub排名第一《lntellij IDEA软件开发与应用实战手册》限时开源
IntelliJ IDEA简称IDEA,是Java语言的集成开发环境,在业界被公认为是最好的Java开发工具之一 讲解IntelliJ IDEA的诸多使用技巧,但事实上想要覆盖所有的操作要点是不可能的事情,因此笔者挑选了一些需要掌握及建议掌握的知识内容。
42 0
|
10月前
|
前端开发 JavaScript 算法
Github 最受欢迎的 35 个项目一览
Github 最受欢迎的 35 个项目一览
304 0
|
10月前
|
前端开发 JavaScript 程序员
【程序员的福音】一款C#开源的GitHub加速神器
【程序员的福音】一款C#开源的GitHub加速神器
136 0
|
程序员 开发者
玩转 GitHub profile - 打造自己的特色 GitHub 主页(交友利器🐶)
Github 作为全球最大程序员交友网站,大家在上面交友时一个具有个人特色的自我介绍自然是少不了的。🐶 今天介绍下 GitHub 的一项特色功能 - GitHub profile,以及一些列开源工具、项目来帮助打造自己特色的 GitHub profile。 GitHub profile 也是最近两年 GitHub 才新加的功能,开发者可以通过编写 README 打造属于自己的个人 GitHub 首页。
|
Web App开发 开发工具 git
推荐三款插件,让你玩转Github
推荐三款插件,让你玩转Github
|
运维 Kubernetes Cloud Native
Higress GitHub star 突破 1k,来自社区开发者和用户的寄语
一个遵循开源Ingress/Gateway API标准,提供流量调度、服务治理、安全防护三合一的高集成、易使用、易扩展、热更新的下一代云原生网关。
Higress GitHub star 突破 1k,来自社区开发者和用户的寄语
|
Arthas 算法 Java
这5个GitHub项目+3个网站,助你一飞冲天!
这5个GitHub项目+3个网站,助你一飞冲天! 小伙伴们周末好呀,这次来更新一波学习资源啦~ 👍 之前推荐过一些书,这次我们就来看看 4ye 平时常关顾的一些学习网站叭!😋 (同时会更新在菜单栏的 宝藏资源 中,方便查找) 资源一览 image-20210807235820378 CyC2018 / CS-Notes 高达 136K star 的项目! 😄 📚 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计 概览图 地址👉 github.com/CyC2018/CS-… ima
653 0
|
前端开发 JavaScript 程序员
程序员必备10个Github开源项目,一键生成后台系统
程序员必备10个Github开源项目,一键生成后台系统
276 0
程序员必备10个Github开源项目,一键生成后台系统
|
存储 安全 Devops
这个代码托管平台真的香!比 Github 速度更快!!!
这个代码托管平台真的香!比 Github 速度更快!!!
4049 0
这个代码托管平台真的香!比 Github 速度更快!!!
|
前端开发 JavaScript IDE
【Github开源】一站搞定各种开发文档
开发者的苦恼:经常要在多个API文档中切换,浏览器书签栏收藏各种语言相关的接口说明文档。 无意中在Github上发现DevDocs[1]这个开源项目,它是一个把所有开发相关的文档以web的形式做了一个综合的网站,并提供搜索,离线访问,移动版本支持,暗黑主题,快捷键操作等功能。
333 1
【Github开源】一站搞定各种开发文档