我是怎么做开源的

oschina
 oschina
发布于 2012年05月23日
收藏 16

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

但是和别人的交流我发现他们不愿意做开源的原因如下:
1. 代码不够成熟
2. 不想写文档
3. 不想被需求和各种邮件占用太多时间

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

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

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

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

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

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

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

 

原文链接OSChina 编译

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:我是怎么做开源的
加载中

最新评论(15

jingdor
jingdor
有几个人 看过liunx开源源码?
fzxu_05
fzxu_05
链家的广告,osc得拿多少钱啊?哈哈
viwii
viwii
成型的开源代码数量too big。即使是想要读中间的一部分还要对整个框架熟悉,很不利于阅读。
难易
难易
国外也一样,呵呵,开源还是一种自觉自愿的社会公益行为。
罗树鹏
罗树鹏

引用来自“崔钢”的评论

开源项目的文档其实并不是特别的重要,为什么呢?因为有code呀。

这个我不敢苟同,如果没有理解设计意图,很多时候Code只会让你增加更多的烦恼。
崔钢
崔钢

引用来自“TonyJian”的评论

引用来自“崔钢”的评论

开源项目的文档其实并不是特别的重要,为什么呢?因为有code呀。

代码多一点,玩死你,最后就是放弃

所以说不是特别重要,关键的地方有doc就可以了,不用面面俱到。
puras
puras

引用来自“虫虫”的评论

引用来自“unifor”的评论

github写错了,不叫githut

已修正

你修正的不全哈.一共有两个地方错的咧
TonyJian
TonyJian

引用来自“崔钢”的评论

开源项目的文档其实并不是特别的重要,为什么呢?因为有code呀。

代码多一点,玩死你,最后就是放弃
黑菜妞妞
黑菜妞妞
呵呵 看源码 我也不是特别喜欢写文档
虫虫
虫虫

引用来自“unifor”的评论

github写错了,不叫githut

已修正
返回顶部
顶部