【大话DTCC】关于开源的思考,为什么要开源?

  ?

关于开源这个事,为什么要开源?我首先想到的就是开源能吸引更多的人帮助发现bug,帮助贡献代码,帮助提高质量,所有这些最终都会回馈到自己的项目,这相当于用另一种方式获得利益。拿开源来说,我觉得不存在真正的无私,或多或少应该都存有自己的私心吧。

试想一下,我们平日用谷歌百度做搜索,表面是免费,背后隐藏的是商业广告给他们带来的巨大利润。我们在尽情享用那些开源的免费大餐时,已然完全忘记开源的真正力量——开源是自由的,但不是免费的。


那么,你认为什么才是真正意义上的开源?

今日话题

☑ 你对真正意义上的开源如何理解,对比国内外开源环境现状?

☑ 关于阅读开源项目的源码,有哪些经验值得分享?

☑一个项目开源到底有哪些考虑?维护一个大型开源项目是怎样的体验?

hh7yx

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


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

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

对于开源我还是有很多期待的, 甚至幻想Bigworld没准也开源了, 因为就过去这几年的经历的案例, 没有源码就是受制于人, 而只能忍受BigWorld 慢如牛一样的技术支持. 到18:00 准时下线.  有源码很多问题都好理解了, 也知道如何去规避一些问题.  当然现实是没有,  有时候不是花钱就能解决的。 就像个定时炸弹一样.

迷倪小魏

1.你对真正意义上的开源如何理解,对比国内外开源环境现状?


开源是一种精神,这种精神是,我希望把我的东西能够分享出去让更多的人去使用它。对于开源者来说,能够从中获得什么东西各有不同,有些人为了金钱利益,有些人为了兴趣。

2.关于阅读开源项目的源码,有哪些经验值得分享?


虽然说好的开源项目都有非常严格的代码检查政策,所有进到版本库里面的代码都需要有相关领域的负责人来检查通过后才能够被Commit,但是很多时候,一些开发者的经验不足和Code reviewer的疏忽会导致一些不那么好的代码被提交

3.一个项目开源到底有哪些考虑?


通常一个开源项目,有几个程序员在做是不成问题的。但是大部分的开源项目缺乏一些周边人员,例如到各个组织中推广项目,获得反馈。和各种dist和开源平台协调,负责收集bug,控制项目发行,进行打包。负责项目的测试和文档工作,以及英文文档的翻译工作。这些工作并不需要专业知识,但是琐碎而且费时,程序员并不大乐意做。而且控制项目的release,还有进行协调要有一定的经验,也不是程序员擅长的领域。所以相当多的开源项目,就是程序员拍脑袋写,然后用户两眼一摸黑的用。没有合适的文档,没有各种系统的适用包,没有bug和用户意见反馈。

4.维护一个大型开源项目是怎样的体验?


(1)写好自导性的文字和文档;
(2)态度,对待用户和贡献者有好的态度是至关重要的;
(3)营销,也许你能写出最有用最完美的代码并实现代码运行,但是你对技术社区的贡献会因为你允许人们重复使用你的代码而无限放大。

lastwinner

天下没有免费的午餐,早餐、晚餐和夜宵也同样。


于最终客户而言,开源产品一般是免费的,但服务不是免费的,甚至比商业产品的服务费还高许多,那么算一算账,到底选开源的还是选商业的?


开源项目会采取不同的ULA,有的ULA会禁止商业使用,或者商业使用收费但个人使用免费。


一个典型的开源项目是Eclipse,各厂商基于此开发了商业IDE项目,如MyEclipse、WSAD(WebSphere Studio Application Developer),这些是收费的
“永动机”的悖论告诉我们,纯贡献而不收益是不可能的。所以开源项目中一大部分是由一些大公司或基金会发起的,少数是能力超强的个人发起的。基金会背后也是有软硬件巨头支撑的,没有持续的投入,开源项目不是做不起来或者做不长久的。


所以,开源的目的是集结大批人士的脑力而形成的项目,这对发起方和参与方都是有利的,可以有效提升开源项目的开发效率,进而提升相应项目的质量,如软件开发进度与质量、DB支撑能力等等。


btw:欢迎google广告,不讨厌,时不时还对我们有用;讨厌百度广告,黑,真黑。

更多大会详情,请点击“阅读原文”进入DTCC2017官网了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值