想到开源, 一直也在不断的想, 甚至几年前就开始想, 也许还是没有想明白. 但权且记录下来

cnsoft 发布于 2014年01月22日 | 更新于 2014年02月20日
无人欣赏。

想到开源, 一直也在不断的想, 甚至几年前就开始想, 也许还是没有想明白. 但权且记录下来. 以下为我对开源存在的理解.

开源通常会和源代码关联. 毕竟往往开源的项目都会发布源代码. 最早一直的困惑是为什么会有开源, 除了要解决版权争议问题, 以及人力不足的问题, 还有什么? 既然都不是傻子, 所以注定应该是有更大收益的事.

慢慢的我理解到以下几个场景:

  1. 专职的大牛们,还想业余时间写东西(自己喜欢的) , 但是没人用也不行, 就开源了, 可以看看用户的反馈, 甚至于可以加速项目的发展. 也有从开源变成闭源的先例.
  2. 初创公司失败, 又不想浪费资源, 于是选择开源, 本着大爱无疆的教义, 但年久失修, 一时也不容易compile 和实际应用到工作中.
  3. 提供服务的厂商, 依托自己的平台,开源了若干sdk , 旨在提供用户快速接入的可能. 以云提供商居多. 也有很多平台类的. 他们开源有个特点, 与产业无关, 只关系自己的一亩三分地.
  4. 很多公司希望从开源项目开始, 网罗一群真正有用的人才. 所以选择了开源, 然后鼓励开发者自己玩. 其实有很多公司还是假开源, 只是放一些陈货. 真正优化过的,可以商用的部分 就不是难么轻易的开源了, 更像是个展示. 展示他们可以做什么.
  5. 还有一些是被逼迫的, 因为产品代码用到了某个库, 然后就只好开源了. 然后估计就再也不维护了 .
  6. 有一些爱好者想学习某个技术或者研究某个方向, 自己研究太闷了, 就开源一部分出来, 有人参与的话 再深度共享. 互惠互利. 甚至以后找工作时 履历上也可以写上 github 的 repository 数量.
  7. 足够牛的人纯展示,比如 Box2d 作者开源很早了. 有源码不代表着啥其实. 成果还是人家的 对不.

(待进一步更新... )

最好笑的是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年弥补这个缺憾.

各位同学是否参与了开源 有啥心得? 不妨来晒一下. 用了开源的不在少数, 有没有尝试着反哺给社区? 期待..

共16条回复
tinyfool 回复于 2014年01月22日

你的思路略微有点乱

cnsoft 回复于 2014年01月22日

1楼 @tinyfool 有些语无伦次 哈哈.

coredump 回复于 2014年01月22日

有想法是很好的,但是别光自己不成体系地乱想啊,有这么多资源在那里呢,关于开源的各种思考,无论技术,经济,哲学,社会,心理各个方面的思考结晶太多太多了。

adad184 回复于 2014年01月22日

C++跨平台 不能热更新是硬伤 所以现在都搞lua/js了

搬运哥 回复于 2014年01月22日

微博关注你了,我接下来就打算走上开源道路,先从帮助一小部分人开始

清醒疯子 回复于 2014年01月22日

开源是社区。Tiny兄说过的。不是随便把代码扔出来就叫开源。开源讲究的是一起做,而不是各做各的,最后放出来晒牛B,你们好好学习。

开源最重要的是,在一起做的过程中可以传递很多光靠文字无法表达的东西。

如果开源后,只变成“做事的时候直接拿来改,无需自己从头写“,我觉得就失去了开源的意义。所以也不必纠结写的够不够牛,相反,把自己的计划和思考都尽快写出来放上来,然后在大家互动交流中验证提升,可能才是开源应该做的事情。

清醒疯子 回复于 2014年01月22日

6楼 @清醒疯子

源码开放,只是更利于互动交流。互动交流,才是开源的真正价值,所以才说开源是社区。

coredump 回复于 2014年01月22日

4楼 @adad184 C/C++ hot reload原理上没什么障碍,当然实践上不是那么简单的事情,但是也不是没有案例

coredump 回复于 2014年01月22日

除了看别人对开源如何想之外,还应该多去调研实际的开源社区,top10的都去看看,了解一下,就知道了。

adad184 回复于 2014年01月22日

8楼 @coredump C++的热更新 跟开发效率比 不值一提啊.... 所以快糙猛的脚本嵌入现在才这么火.. 不过碰到性能问题的时候还是只能交给C++

coredump 回复于 2014年01月22日

10楼 @adad184 所以只是个别现象

董一凡 回复于 2014年01月23日

开源啊,有个很中肯的建议,不要提供中文版。我估计老赵同学说起来都是泪,他之前做了一个JS的开源库,各种文人相轻,然后最近国外一些人做了类似的工作,一个个当宝一样。

tinyfool 回复于 2014年01月23日

12楼 @董一凡 非常有道理

minddriven 回复于 2014年01月23日

开源有两种做法:

一、 自己在工作实践当中,作出了可以重用的 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。个人认为程序员还是应该用代码说话。

cnsoft 回复于 2014年01月24日

14楼 @minddriven 我挺有感触的就是 每每遇到需求 一google 竟然有开源的.. 这个世界真的变得很美好. 程序员比任何其他行业的都太具分享精神了.. 最简单的群体.

cnsoft 回复于 2014年02月20日

今日开源: Godot 媲美Unity3d的游戏Engine! https://github.com/okamstudio/godot 传送门在此.

本帖有16个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]