2008-04-24
《如何做开源项目——ABC》 读后感
文章出自不祥,内容如下:
谈开源不能不谈免费,现在国内几乎所有的所谓开源软件,根本不具备任何开源特征,对开源领域及计算机业的奉献甚少。比如Discuz一类的论坛什么的。
他们都抓住了人贪婪的本性,一味的将开源同免费划成等号。我们今天就不详细讲述他们的罪过,我们在这里讲讲,假如你想做开源你需要做好什么样的心理和技
术的准备。
心理准备:
1、做的时候就要考虑好你的项目要发展10年甚至100年。长期的考虑可以更好的规划你的项目,放下浮躁的心态,认真的做事情。
一个开源项目同一个公司的项目不同。公司的项目是计划式项目,利益为目的,如果公司破产或业务改变那么项目就可能会取消。而开源项目不一定,很多项目都
是由爱好者发起维护的,你要准备好即使你离开,这个项目也会继续,一个项目的发展目的不仅仅是为了你个人(当然你出发点可能是为了个人,但是项目能否存
活关键一点在于心态)。
2、万事怀着感恩的心。宽待别人,善于倾听别人的意见,但同时也要保证自己的设计思路不被打乱。
一定要倾听别人的意见,但是作为项目的执行者,要以自己的理解为准则。不要怕自己做错了,做的不好。记住你有10年的时间来使项目完善。一个项目如果想
发展起来一定是有很多人参与的,所以不要做一言堂。
3、尊重合约。不是要求别人尊重你的合约,而是尊重他人的。不偷窃他人的代码,尊重微软这类公司,对盗版憎恨。这是做开源的基础,如果做不到,恐怕你还
需要学习。建议,如果有时间请先看过圣经,在圣经中你会学习信用是多么重要的。
开源最大的敌人是谁?不是商业软件,不是微软,是盗版。如果你想别人尊重你的劳动成果你现在就应该尊重微软这类公司。我们现在不是土匪时代(英雄时
代),盗版不利于我们的科技进步,人人想着不劳而获,贪婪不要占据你全身。尊重合同,可以得到所有人的尊重,因此请注意,如果你要抄袭别人代码。请为他
们保留版权说明,别啥都是你做的。你也想搞个小汉芯吗?
4、作好心态,不论你是为了盈利你还是为了兴趣,做开源就要做好心态,你要允许别人在没给你任何好处的时候利用你的成果获利。
不论你是为了盈利,还是为了兴趣,只要不违背开源的精神,你对这个行业都有贡献。请不要做的太自私,既然开源的就要让大家共同享受知识带来的好处,不然
你开源干吗,还是继续去搞“免费软件”吧。
5、不要相信那些说“我愿意参加你的项目,我希望参与工作”的人,真正参与项目的人从来不会表态他只会给你一个patch然后告诉你你代码有什么问
题。
根据多年的经验,以及多次项目的失败总结,基本上热火朝天的跟你说这句话的人,根本对你一点帮助也没有。真正愿意参与做事情的人,是不会说这句话的。这
不仅仅在国内,在海外也是有这个特点的。
技术准备:
你可以选择sourceforge.net或是你自己弄服务器做开源,不论怎么样。不是简单有个下载,有个web就叫开源的,你需要一些工具来帮助
你:
1.WIKI
你的网站可以采用WIKI这样可以方便参与者编辑修改页面,尤其是编写文档的时候很重要。当然国内的垃圾广告太厉害了,如果你是中文网站,就做上权限
吧。我推荐你可以使用dokuwiki来做。
2.BugTracker
作为一个长期发展的项目,你总的做计划吧,你总的允许别人向你报告错误吧。你需要一个缺陷跟踪系统。如果你系统有什么问题或别人对你系统有什么需求,他
可以在bug tracker里发出需求。推荐你使用mantis这个代码是php编写的很简单容易使用。
3.SVN
你需要协同工作,就一定需要一个SVN现在几乎所有的项目都有自己的SVN仓,SVN不仅仅可以协同工作。他还可以对你的代码做历史记录。网上可以下载
到svn的中文pdf 你搜索一下看看。
4.Maillist或是BBS
有这样一个特点,老外是习惯使用Maillist的,而中国人习惯使用BBS。所以根据你自己的需要给项目选择一个沟通方式。
5.QQ或IRC
如果你项目针对国内,建立一个QQ群是很重要的。当然你也可以建立一个IRC房间,上www.freenode.org上去申请一个,所有的大型项目都
在freenode上有实时的讨论组。
有了以上,你还需要怎么做?很简单,开始干事情,别记得请别人加入项目。记得你是要发展10年,你的项目只要做的好,做一些简单的宣传,很快就有人找上
门来了。
6.GPLv2/LGPL/MPL.....想好用什么协议
你当然可以自己“开创”一些协议,不过我建议你使用一些标准的协议,这些协议精力了时间的磨练,并且在法律和道德的问题上他们更能经的住考验。协议很
多,每个厂家比如SUN都有自己的或APACHE也有自己的。但是目前最流行的还是GPLv2 LGPL MPL等。
个人感觉,做开源项目,首先要有真正有意义的想法(自认为即可),开源项目是一个长期的投入,如果只是一个简单平庸的主意,还是别让费时间的好,我们可以去做的事情太多,我们没有那么多的时间面面具到。
然后摆正心态,你不要指望它可以一夜成名,或许它将来可以给你带来一些名气,但是,任何事情都要一个发展的过程,任何想法大家都需要一个接受的时间。何况是开源项目(如果价值在任何人面前,都一目了然了,也许他就不应该是一个开源项目)。
引用
谈开源不能不谈免费,现在国内几乎所有的所谓开源软件,根本不具备任何开源特征,对开源领域及计算机业的奉献甚少。比如Discuz一类的论坛什么的。
他们都抓住了人贪婪的本性,一味的将开源同免费划成等号。我们今天就不详细讲述他们的罪过,我们在这里讲讲,假如你想做开源你需要做好什么样的心理和技
术的准备。
心理准备:
1、做的时候就要考虑好你的项目要发展10年甚至100年。长期的考虑可以更好的规划你的项目,放下浮躁的心态,认真的做事情。
一个开源项目同一个公司的项目不同。公司的项目是计划式项目,利益为目的,如果公司破产或业务改变那么项目就可能会取消。而开源项目不一定,很多项目都
是由爱好者发起维护的,你要准备好即使你离开,这个项目也会继续,一个项目的发展目的不仅仅是为了你个人(当然你出发点可能是为了个人,但是项目能否存
活关键一点在于心态)。
2、万事怀着感恩的心。宽待别人,善于倾听别人的意见,但同时也要保证自己的设计思路不被打乱。
一定要倾听别人的意见,但是作为项目的执行者,要以自己的理解为准则。不要怕自己做错了,做的不好。记住你有10年的时间来使项目完善。一个项目如果想
发展起来一定是有很多人参与的,所以不要做一言堂。
3、尊重合约。不是要求别人尊重你的合约,而是尊重他人的。不偷窃他人的代码,尊重微软这类公司,对盗版憎恨。这是做开源的基础,如果做不到,恐怕你还
需要学习。建议,如果有时间请先看过圣经,在圣经中你会学习信用是多么重要的。
开源最大的敌人是谁?不是商业软件,不是微软,是盗版。如果你想别人尊重你的劳动成果你现在就应该尊重微软这类公司。我们现在不是土匪时代(英雄时
代),盗版不利于我们的科技进步,人人想着不劳而获,贪婪不要占据你全身。尊重合同,可以得到所有人的尊重,因此请注意,如果你要抄袭别人代码。请为他
们保留版权说明,别啥都是你做的。你也想搞个小汉芯吗?
4、作好心态,不论你是为了盈利你还是为了兴趣,做开源就要做好心态,你要允许别人在没给你任何好处的时候利用你的成果获利。
不论你是为了盈利,还是为了兴趣,只要不违背开源的精神,你对这个行业都有贡献。请不要做的太自私,既然开源的就要让大家共同享受知识带来的好处,不然
你开源干吗,还是继续去搞“免费软件”吧。
5、不要相信那些说“我愿意参加你的项目,我希望参与工作”的人,真正参与项目的人从来不会表态他只会给你一个patch然后告诉你你代码有什么问
题。
根据多年的经验,以及多次项目的失败总结,基本上热火朝天的跟你说这句话的人,根本对你一点帮助也没有。真正愿意参与做事情的人,是不会说这句话的。这
不仅仅在国内,在海外也是有这个特点的。
技术准备:
你可以选择sourceforge.net或是你自己弄服务器做开源,不论怎么样。不是简单有个下载,有个web就叫开源的,你需要一些工具来帮助
你:
1.WIKI
你的网站可以采用WIKI这样可以方便参与者编辑修改页面,尤其是编写文档的时候很重要。当然国内的垃圾广告太厉害了,如果你是中文网站,就做上权限
吧。我推荐你可以使用dokuwiki来做。
2.BugTracker
作为一个长期发展的项目,你总的做计划吧,你总的允许别人向你报告错误吧。你需要一个缺陷跟踪系统。如果你系统有什么问题或别人对你系统有什么需求,他
可以在bug tracker里发出需求。推荐你使用mantis这个代码是php编写的很简单容易使用。
3.SVN
你需要协同工作,就一定需要一个SVN现在几乎所有的项目都有自己的SVN仓,SVN不仅仅可以协同工作。他还可以对你的代码做历史记录。网上可以下载
到svn的中文pdf 你搜索一下看看。
4.Maillist或是BBS
有这样一个特点,老外是习惯使用Maillist的,而中国人习惯使用BBS。所以根据你自己的需要给项目选择一个沟通方式。
5.QQ或IRC
如果你项目针对国内,建立一个QQ群是很重要的。当然你也可以建立一个IRC房间,上www.freenode.org上去申请一个,所有的大型项目都
在freenode上有实时的讨论组。
有了以上,你还需要怎么做?很简单,开始干事情,别记得请别人加入项目。记得你是要发展10年,你的项目只要做的好,做一些简单的宣传,很快就有人找上
门来了。
6.GPLv2/LGPL/MPL.....想好用什么协议
你当然可以自己“开创”一些协议,不过我建议你使用一些标准的协议,这些协议精力了时间的磨练,并且在法律和道德的问题上他们更能经的住考验。协议很
多,每个厂家比如SUN都有自己的或APACHE也有自己的。但是目前最流行的还是GPLv2 LGPL MPL等。
个人感觉,做开源项目,首先要有真正有意义的想法(自认为即可),开源项目是一个长期的投入,如果只是一个简单平庸的主意,还是别让费时间的好,我们可以去做的事情太多,我们没有那么多的时间面面具到。
然后摆正心态,你不要指望它可以一夜成名,或许它将来可以给你带来一些名气,但是,任何事情都要一个发展的过程,任何想法大家都需要一个接受的时间。何况是开源项目(如果价值在任何人面前,都一目了然了,也许他就不应该是一个开源项目)。
评论
jiarry
2008-04-27
万事怀着感恩的心。宽待别人,善于倾听别人的意见,但同时也要保证自己的设计思路不被打乱。
leadyu
2008-04-25
good! up!
javatar
2008-04-25
说得很好!
发表评论
- 浏览: 177745 次
- 性别:

- 来自: 初到北京

- 详细资料
搜索本博客
最新评论
-
JSI Side 代码风格与规范 ...
1. new String(”test”) != new String(” ...
-- by hotoo -
JSA压缩Prototype1.6时, ...
xhtml要套CDATA的吧? 应该没问题的
-- by csf178 -
补充一下2007年度总结 ...
有追求的淫啊
-- by dogo -
技术人成长的阶段特征
自我否认中...
-- by tangshuo -
JSI Side 代码风格与规范 ...
每种语言都有自己的访问控制方式 既然javascript没提供scope对象以 ...
-- by csf178






评论排行榜