想到开源, 一直也在不断的想, 甚至几年前就开始想, 也许还是没有想明白. 但权且记录下来. 以下为我对开源存在的理解.
开源通常会和源代码关联. 毕竟往往开源的项目都会发布源代码. 最早一直的困惑是为什么会有开源, 除了要解决版权争议问题, 以及人力不足的问题, 还有什么? 既然都不是傻子, 所以注定应该是有更大收益的事.
慢慢的我理解到以下几个场景:
(待进一步更新... )
最好笑的是Boss们都以为放在机房里的机器是最宝贵的.当然也包括源码. 所以他们以为开源了就能1个人做mmo 或 webgame 了.
对于开源我还是有很多期待的, 甚至幻想Bigworld没准也开源了, 因为就过去这几年的经历的案例, 没有源码就是受制于人, 而只能忍受BigWorld 慢如牛一样的技术支持. 到18:00 准时下线. 开源就有人气 ,而且有源码很多问题都好理解了, 也知道如何去规避一些问题. 商业产品也可以转嫁很多工作给社区. 然 现实就是没有核心代码, 就像个定时炸弹一样.这就是用了Bigworld的血和泪.
同样Unity3d 以及 Flash 大多都存在这个问题, 所以我就很畏惧, 生怕最后一刻遇到无法解决的问题。 所以最喜欢 Cocos2d(X) 这么多年了,我得出这么一个结论, C++ 才是真的跨平台语言.
对于自己是否参与开源了,我自己也还是徘徊在大门之外, 一是技术也不是多精 不太好意思把写的乱糟糟的代码拿出来. 另外业余的时间也不太多, 工作的又不能拿来开源. 不过我发现了 github 提供的 gist 可以理解成分享代码片段, 我已经放了一些 觉得挺有意义, 以后会坚持下去. 围绕的都是简单的事 , 用代码完成了. 可以节省时间. 如果你是个在校的学生, 不妨也参与到开源项目中来, 更早的找到你的人生方向.
做个小广告: 有没有 搞python 的前端 后端的同学. 搞ios game unity 啥的 交流交流. 微博: http://weibo.com/cnsoft360 求个关注.
这么多年很遗憾没有一个可以拿出手的作品. 希望2014年弥补这个缺憾.
各位同学是否参与了开源 有啥心得? 不妨来晒一下. 用了开源的不在少数, 有没有尝试着反哺给社区? 期待..
有想法是很好的,但是别光自己不成体系地乱想啊,有这么多资源在那里呢,关于开源的各种思考,无论技术,经济,哲学,社会,心理各个方面的思考结晶太多太多了。
开源是社区。Tiny兄说过的。不是随便把代码扔出来就叫开源。开源讲究的是一起做,而不是各做各的,最后放出来晒牛B,你们好好学习。
开源最重要的是,在一起做的过程中可以传递很多光靠文字无法表达的东西。
如果开源后,只变成“做事的时候直接拿来改,无需自己从头写“,我觉得就失去了开源的意义。所以也不必纠结写的够不够牛,相反,把自己的计划和思考都尽快写出来放上来,然后在大家互动交流中验证提升,可能才是开源应该做的事情。
开源啊,有个很中肯的建议,不要提供中文版。我估计老赵同学说起来都是泪,他之前做了一个JS的开源库,各种文人相轻,然后最近国外一些人做了类似的工作,一个个当宝一样。
开源有两种做法:
一、 自己在工作实践当中,作出了可以重用的 lib。然后你把它放到 github 上。完善后,要打包发布到语言的开源 index 上。例如 Python 有 Pypi ,Node.js 有 npm,ruby 也有 gem (rb不熟,请纠正)。然后可以去多参加 meetup,相关语言上的社区推广一下,争取 like。
二、自己找一个有兴趣的开源框架去参与,多点去泡 mail-list,答疑解惑,混个脸熟。如果发现了 bug,可以提交到 github 上;如果自己可以解决,就修改,然后提交 merge request。先成为contributor,然后争取成为 core-contributor 。
两个方法并不冲突,可以并行。
个人认为如果大家真的对技术有热情,还是可以多搞点opensource 的放在 github 上,或者不满意某个框架,可以建立自己的 fork,然后去 enhance。个人认为程序员还是应该用代码说话。
14楼 @minddriven 我挺有感触的就是 每每遇到需求 一google 竟然有开源的.. 这个世界真的变得很美好. 程序员比任何其他行业的都太具分享精神了.. 最简单的群体.