• 我是怎么做开源的
    时间:2012-05-24   作者:oschina.net   出处:oschina.net

    我最近发现我对开源(Open Source)的看法和我的很多朋友不一样。我对开源的态度一贯是: 这段代码能够很好的解决我的问题。假如它也能解决你的问题,我很欣慰。但是假如它不能,我愿意做一些改进,但是我也会拒绝一些让代码变的臃肿的的想法。最后,做一个成熟的库大约需要几年的时间。成熟我是指足够的稳定来发布一个最终的版本,或者有人做了一个高级版本。我不认为一个开源的项目能说明我在这个行业的成就。

    但是和别人的交流我发现他们不愿意做开源的原因如下:

    1. 代码不够成熟
    2. 不想写文档
    3. 不想被需求和各种邮件占用太多时间

    我完全理解这几点,但是我开发生涯中的一些事件改变了我的看法。

    那是我的第一个开源项目,我一直不敢拿出来开源,直到我把他用在生产环境中稳定的运行了一年,我有足够的自信相信我这个项目能解决一些问题。它是一个 .NET 对象关系映射库,叫做 NORM,在2005年发布。我相信你没有听说过这个项目。我花了好几个月的时间来完善这个项目,但是没有人在乎。然后我就不想再发布什么东西了。我现在相信不论我发布什么都不会引起人们的注意,所以我最好还是尽快的发布,如果不行,那就承认失败,然后继续前进。

    没有人会为自己写文档,他们为其他将要用这个软件的人写文档。人们很少从使用他们开源软件的人那里得到什么。这个简单的现实导致文档的稀缺。但是,缺乏文档不代表你不能开源你的软件,它只是意味着你的软件推广起来会比较慢。

    我两年以前开源了 expectations,没有任何文档,并且在一年之内都没有任何文档。在这一年中,很少有人关注了这个项目。但是这个项目确实对一些人来讲很有用,所以还是有一些应用。最终,有一些用户开始产生一些 pull request,提交一些文档。他们的共享让我产生了撰写文档的动力。我没有动力为潜在的使用者提供文档。但是我把代码放在那里,有人用了,这个就让我产生了动力,因为这些使用者实实在在就在那里。

    如果你很幸运的创建了一个广泛使用的项目,你将毫无疑问的被各种邮件淹没。刚开始,我相信任何人都会被这种成功冲昏头脑,认为增加的工作量不是什么大问题。但是慢慢的你会发现,这就像是第二份全职工作,然后你会想着究竟是为了什么?在开发者中的声誉并不能让你提早退休。不管怎样,这不能成为你不做开源的借口。还有,我相信 GitHut 已经改变了游戏规则。如果你的项目托管在 GitHub,当你打算停止维护这个项目的时候,会有很多人愿意 fork 你的项目,继续开发的。

    我并没有因为离开自己的项目而良心不安。如果你的想法真的有价值,会有人愿意接替你的位置的。很有可能是有几个人愿意接替你,然后最强的那个生存了下来。我见到的类似的项目有 Capistrano。Jamis Buck 在2009年高调的离开了这个项目,但是我知道还是有很多人到今天还在使用它。我坚信假如你的项目真的很好,即使有一天你决定去做其他事情,这个项目也会活的很好。

    我看起来不像是一个开源的好公民,过早的发布,过早的离开。如果真的是这样的话,我愿意接受批评,但在我看来事实并不是这样。

    网友留言/评论

    我要留言/评论

    相关文章

    怎样才能做出有效果的广告:做广告没效果,是最让企业苦恼的事情。这意味着好不容易赚来的钱,打了水漂,一点动静都没有,甚至是一朵浪花都没激起。在一些场合经常能碰到一些人问我,现在广告效果越来越不好该怎么按之类的问题,每当我跟前来洽谈合作的客户提起做广告的话题,一些客户要么是连连摇头,要么是不住地摆手,都说之前做过广告,几乎没什么太大的效果,得不偿失。
    马化腾:未来移动互联网时代应用为王:腾讯公司董事会主席兼首席执行官马化腾表示,去年,整个移动互联网行业发生了翻天覆地的变化,未来移动互联网时代应用为王,任何一个开发者一旦有了好的创意,开发了受欢迎的应用就会迅速被人发现,并在瞬间流行。
    Daniel Cook谈独立开发者的常见错误:GameLook编译 / Spry Fox公司创意总监Daniel Cook 在本文中介绍了那些对独立开发者们来说常见而又致命的错误并鼓励他们勇敢吸取教训。
    史蒂夫·乔布斯谈团队建设:我偶然读到了由Rama Dev Jager 和 Rafael Ortiz 在1998年写的《In the Company of Giants》这本书里的一段节选。他们采访苹果公司CEO 史蒂夫·乔布斯,下面的就是他关于团队建设的一些谈话:
    不懂技术的人不要对懂技术的人说这很容易实现:“这个网站相当简单,所有你需要做的就是完成X,Y,Z。你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来。”
    RFC 6585发布,新增4个 HTTP 状态码:RFC 6585 最近刚刚发布,该文档描述了 4 个新的 HTTP 状态码。
    通天塔导游(TourDeBabel) - 关于程序设计语言的精彩评论:译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来。 巴别塔不建自毁,与其说上帝的分化将人类的语言复杂化,不如说是人类自身心灵和谐不再的分崩离析。之所以后来有了翻译,不仅是为了加强人类之间的交流,更寄达了一种愿望,希望能以此消除人际的隔阂,获求来自心灵的和谐及慰藉。真正的译者,把握血脉,抚平创痕,通传天籁,开启心门。
    正在改变世界的硅谷创业趋势:如果你对云计算应用的理解还停留在同步和共享个人私密文档的层面上,那么你可能会错过很多正在发生的激动人心的变化。
    创业公司如何确定技术路线:首先要说的是,我认为创业公司的技术路线选择并不是一个技术问题。如果是一个纯粹的技术问题,那么很可能会一直争论不休,最后的结果就像某个笑话里面说的,某公司一直到倒闭技术路线还没统一。因此,本文不会向你推荐任何一个具体的技术方案。
    体验经济:互联网生存的秘密:作者以四个互联网创新的小故事诠释了做互联网产品的秘诀:多想想怎样才能让产品有趣。下面四个小故事,能帮你一窥互联网生存的小秘密。