【开源访谈】Gitc 作者夏天访谈实录

虫虫 发布于 2012/09/04 16:18
阅读 5K+
收藏 22

关于开源访谈

开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源软件的应用与发展。

【作者简介】

夏天

夏天 , 03年加入阿里从事研发工作至今。支付宝创始团队成员,gitcd.com开源代码分享、托管平台创始人。

【软件简介】

gitc 是国人开发的一款代码托管平台,以github为目标,打造中国代码分享、托管平台。

【访谈实录】

1.    能否先介绍一下你自己(技术背景、工作经历、学习经历)
科班出身,03年加入阿里巴巴至今,从事软件研发工作9年。主要从事业务方面研发(即使用较成熟的技术来实现一些商业目标),03年-04年在阿里参与全球最大商人社区研发,05年初加入支付宝技术部,主持了支付宝第一代交易接口的设计与研发。后主要从事金融方面的技术研发,大家所用的支付宝各种银行接口大部分出自我之手。2011年至今到支付宝前端技术部,从事基础平台建设工作。
从狭义的技术角度:使用各种技术手段来实现业务非常精通,譬如搜索引擎的使用、使用mina设计高效socket通讯业务系统、ajax在web应用上的使用、html5(github上有开源的连连看游戏html5简单实现)、等等。
从软件工程角度:本人在业务分析,系统架构设计,以及技术团队建设上有独到见解和丰富经验。

2.    是什么促使你开发 gitc?为什么取这个名字?
之前使用过github,使用github目的很简单:希望从小入手,积累真正属于自己的东西,我有dreamhost服务器,也建了ssh的git服务器,感觉速度不怎么样,账号管理和安全性太差,且无法实现多人共享研发,而progit上推荐的搭建git服务器的软件,需要复杂配置和权限。
开发gitc,最基本的源自目前公司内的一些项目,需要进行一些技术研究,研究过程中,发现使用纯Java就可以实现git服务器功能,并且不用复杂配置。也可以说gitc是一些研究性技术的代码集合,通过研发gitc这款软件,逐步发现,其实git还是挺适合嵌入一些需要使用到文件版本管理的系统,用来做二次开发。从自己本身来说,从事软件行业这么多年,其实也是有心想打造一款真正属于自己的产品。
名字:gitc这个名字比较短小。

3.   市面上有没有类似 gitc 的系统?gitc 有没有一些核心的技术优势?
自从上次oschina给做了微博上推广,通过一些人吐嘈也看到了一些同类产品。gitc这款产品的核心技术优势:全Java,是属于较深度研发。我可以列举一些比较实际的例子:
a、gitc的ssh服务使用的apache sshd,upload-pack和receive-pack的报文格式是自行解析的(详细资料在git源码下的/Documentation/technical)
b、读取git仓库的一些信息使用的jgit,和eclipse的egit同源包,对于git仓库的RevCommit,Ref等有较深刻认识。
c、页面展示部分使用了搜索引擎,对每个分支最近一次RevCommit进行索引,该技术的应用,使得gitcd.com上仓库各个分支树在网页上浏览速度平均<200毫秒(实际一般是80毫秒左右),这点github都做不到,github的每个文件日志信息还是使用ajax请求异步加载的。
其它不详细列举了,在很多技术细节上非常巧妙的设计处理,使得整个软件在品质方面相对比较可控,在业务后续规划和研发上也能很给力。

4.    gitc 是你个人的项目还是属于 Alibaba 的项目?也就是说这个项目的知识产权属于谁?
gitc属于个人项目,所有知识产权属于我自己的。

5.    gitc 目前怎么推广,应用情况如何?
考虑到很多重要不紧急的社会化业务功能还没有实现,第一版也发布过一个可自行部署版本,后续发现在核心基础建设上还需要做很多工作,所以后续持续在研发基础核心功能和fix一些bug,目前还没有做过推广:)。每天都有零星几个用户注册,使用的人寥寥无几,有2-3个比较忠实的用户,一直在使用gitcd.com的在线服务。我目前所在支付宝研发团队一直在使用gitcd.com的最新一个可部署版本,效果还不错,我自己也是天天都会使用。

6.    目前参与开发/维护 gitc 的人员有哪些?花费多少精力和时间?
团队总共有三人,目前实际研发的只有我一人,我自己也是gitcd.com的忠实用户,代码重构速度非常快,核心代码已经大重构过4-5次了。
周末利用业余时间2-3小时即可。一般时间都是投入在技术难点研究和攻关,实际写业务代码用不了多少时间。另外两人一个负责界面设计规划(新界面),还有一位负责未来的技术架构(大数据,并行计算等),新界面在筹备中,新架构短期还不紧迫。

7.    gitc 如何获得收入?
我们收入主要将来源于企业级会员的服务费,我们可为企业提供定制。个人用户也会根据其需求收取一些费用:譬如定期备份。绝大部分普通会员是无需担心,除了私库会有些创建个数限制,其他都正常使用。

8.    gitc 将来的发展方向?
比较明确的方向:提供一个社会化的代码托管,代码分享平台。不管是在整个互联网上,还是在公司小团体内部,都需要一个开放的代码托管,分享平台。提高大家对软件研发的实际参与程度,不是仅仅停留在吐嘈和辩论哪个东西更好。比较具体的:代码可以进行批注,打分,可以被收录为最佳代码片段,等等具有社会化的交互功能。

9.    你们开发 gitc 项目以及运营 gitcd.com,Alibaba 公司是什么态度?
我们公司没有禁止个人建立网站的做法,而且我们的很多同事都有个人站点,和公司业务无冲突的个人研究和兴趣都无需申报。gitc项目其他两个成员都是我多年好友,并不是公司的同事,本软件没有在公司内部进行过任何形式的推广,只是我们小团队内部使用 —— 以便于做一些技术验证和测试。
gitcd.com目前没有做专门运营的计划,也没有任何盈利预期,未来2年内都会在产品和技术上做积累。

10.   能否谈一下你对开源的理解,以及对国内开源技术和产品的看法?
开源,应该是吃饱了没事可做才做的,哈哈。开个玩笑,不过仔细想想,也有一些道理。由此或许也能理出一些思路:我国开源处在什么阶段?习惯AA制的老外为何大公无私开源?Hack精神?
总的来说我国开源程度还比较浅,但是近年来我国大厂商的部分核心工程师都实实在在的参与了一些开源软件的bugfix,和开放了一些自己私有的技术,让我们看到了进步。这些大产商的工程师一定都是解决了吃饱问题的:)。
我觉得像github这样开源产品近两年在中国业务很难开展。github上有成千上万开源项目,但国人主持的却很少,share的很少,我自己也有在上面主持,但是也不是什么完整的解决方案,只是非常偏僻的小众实现。
开源的涉猎面是非常广泛的,涉及到各行各业的各种软件,硬件,甚至是设计文档需求的。我们作为互联网相关技术研发的,往往只看到自己这一小块田,其实非常的小众。何况我们所讲的开源也仅仅指软件开源,现在还有硬件开源。看看oschina上国产开源,很多软件涉猎范围都是在服务终端客户——即个人客户,面还是较窄。
比较有肉的开源产品,入门技术门槛的确是有些高。不太适合大众化推广。没肉的东西,人家谁花一个晚上都可以自己重写一个。。。有肉的东西除了技术门槛,最重要的是业务领域门槛,简单点说,可能我搞互联网的根本搞不懂他这个开源的玩意是什么原理,怎么玩,说白点就是隔行如隔山。
我个人觉得把github上所有国人主持的东西理出来,也不足以组建一个内容非常丰富的社会化共享代码仓库。正是因为这样,所以觉得未来发展前景非常巨大,如果未来经济形式持续向好,将会有更多行业吃饱的来进行开源。当然也需要懂他们的我们来提供技术方面的支持。这样就能行成良性循环。

11.    你有什么建议给程序员初学者吗?
参加工作的前两年,多动手,多练习,少说少吐嘈。平时多积累,可以使用github或者gitcd这类代码托管工具,对自己平时一些学习代码,实验代码,进行一些存档,这些都是最实在最基础的积累。从gitc这款软件逐步壮大的过程,初学者门可以看到,积累到一定程度,的确是可以发力的。

12.    能否给开源中国提一些意见和建议?
有空可以一起合作,哈哈,一起给大家提供代码托管服务。

加载中
0
summer
summer
@铂金小猪 有我的访谈,快来看啊
summer
summer
@铂金小猪 沙县好灭
铂金小猪
铂金小猪
回复 @蟋蟀哥哥 : 我觉得你可以去屎了。
蟋蟀哥哥
蟋蟀哥哥
@铂金小猪 刚拉完,还是热乎的
铂金小猪
铂金小猪
回复 @蟋蟀哥哥 : ···你跟他说。话说你还欠我碗意大利米线
蟋蟀哥哥
蟋蟀哥哥
@铂金小猪 下回找你的沙师弟请客吃饭
下一页
0
kext
kext
不错,我打算把我github上的项目迁移到gitc, @summer
summer
summer
全力支持,不过我发现,大家其实还是喜欢建私库的居多,你不要看共享库那几个一直没有什么变动,其实好几个哥们都偷偷建私库。人家不太公开的。。。
0
douglarek
douglarek
我是Git的重度患者,我想问一下 @夏天 同学,gitc有什么优势让我放弃GitHub(存放我的公有仓库)和Bitbucket(存放我的私有仓库),不要说访问一个在国内一个在国外,说一下优势吧?
Liuxd
Liuxd
同问啊,这两个已经做得很好了,各有鲜明优势。gitc优势在哪?
0
summer
summer

引用来自“Java行者”的答案

我是Git的重度患者,我想问一下 @夏天 同学,gitc有什么优势让我放弃GitHub(存放我的公有仓库)和Bitbucket(存放我的私有仓库),不要说访问一个在国内一个在国外,说一下优势吧?

我个人观点:不存在放弃哪个的说法,你觉得哪个好就用那个。

产品功能是各有千秋,何况gitcd.com的在线服务才刚刚起步,分享以及社区化思想还没有落实到这个产品上,这些都是后续要花大力气做的。所以在这些重要特性上gitcd和github,bitbucket这些前辈基本没有可比性。

如果你不care与整个软件世界的交互,安静做自己的软件,做自己的积累,放在哪里其实都一样。因为push,或者pull虽然说在gitcd.com要快一点点,但是这两个操作也并不是常用操作。

线下部署版本gitc,在配置和兼容性方面是最大优势,未来加入的新特性,如:需求管理,小团队社区化服务,也将是很大的亮点,为小团队研发提供强有力支持。

0
Heroin
Heroin

gitc 支持那些协议?

支持https么?

0
SevensChan
SevensChan
孤陋寡闻 第一次听gitc 上去看看~
0
晋哥哥
晋哥哥
考虑到国内环境,不看好
0
ccflow周朋
ccflow周朋
支持。    
0
summer
summer

引用来自“Heroin”的答案

gitc 支持那些协议?

支持https么?

只支持ssh
Heroin
Heroin
回复 @summer : 我们公司就https好使, ssh是不能用的, 并且http的话能被嗅探到
ddatsh
ddatsh
还是要支持下HTTPS的好
summer
summer
回复 @Heroin : 应该不会吧,虽然我自己也搞一些http接口的,但是目前ssh是效率最高,安全性最好的协议。所有客户端都支持ssh的,不想再在这块投入了。http或者https协议恐怕是有些公司网络屏蔽ssh协议(其实是屏蔽私自做VPN)才用到的吧。我不了解他们做https的初衷,你或许是说gitcd.com网站是否会支持https?网站上会考虑支持的。
Heroin
Heroin
未来会支持https么?
返回顶部
顶部