欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  精华频道

开源社区“大牛”关于“开源”的大讨论

程序员文章站 2022-02-22 08:18:42
...
开源软件在当今软件市场中的重要性逐渐凸显,越来越多的企业和开发者选择将自己的产品以开源形式发布,也有越来越多的企业开始采用开源软件。

尽管国内不乏一些优秀的开源项目,但不可否认,与国外相比,国内的开源起步比较晚,开源氛围还存在不小的差距。如何建立一个稳固发展的社区,让更多的开发者参与到社区中,是一个亟待解决的问题。

个人开发者该如何参与开源?开源能够给予我们什么?……带着这些问题,我们邀请了开源界的一些大牛,请他们来谈一谈他们眼中的“开源”。他们是(按文中回复顺序排列):

  • zozoh(张志昊,Nutz作者,注:另一位作者wendal正在赶来)
  • 杜玉杰(中国OpenStack用户组管理员、社区经理,息壤开源社区共同发起人)
  • 姜宁(Apache多个开源项目 Camel、CXF、ServiceMix、ActiveMQ 专职贡献者)
  • 庄表伟(息壤开源社区发起人)
  • 程开源(程旭文,息壤开源社区发起人,开源力量社区平台创建人,“开源力量公开课”创办人)

怎么理解开源?是不是把软件源代码公布出来就算是开源项目? 开源社区“大牛”关于“开源”的大讨论

程开源    写道
我理解的开源其实是社会协同生产的一种模式,通过将源代码开放出来,使得使用者可以有机会参与到产品生产中。

zozoh    写道
同上。只公布源代码也算开源项目,因此有“比较规范的开源项目”、“假开源”等说法。

杜玉杰    写道
公布源码并不意味着一定允许用户修改或再分发,所以说源代码开放的软件并不一定是开源软件,要看它是如何规范软件的使用、发布、复制和派生等整个过程的,简单来说就是看是否遵循开源软件许可协议。

早期开源软件有严格统一的定义,OSI对开源软件定义的十个条款基本上算是一个事实的标准,但现在业界也有把Free and Open Source Software(简称FOOS)统称为广义的开源软件。

姜宁    写道
开源软件许可协议是理解开源的关键。简单的开放源代码并不能使其成为开源项目。在Apache社区建设中常提到的一个原则就是“Community over code”。成熟开放的社区是成就一个成功的开源项目的基石。

庄表伟    写道
首先同意楼上的诸位,其实这个问题几乎是有共识的,基于某种许可协议发布的源代码,才是正式的开源项目。但是,在Github上有很多并无明确许可协议的开源项目,也有很多的开发者参与其中,这些项目,也是开源生态圈的一部分。


辛辛苦苦做了一个软件,为什么要开放出来呢?您做开源的初衷是什么? 开源社区“大牛”关于“开源”的大讨论

zozoh    写道
当初就是为了要开放出来,才做的 Nutz……

杜玉杰    写道
我是开源社区的受益者所以也希望能够让更多人受益。

姜宁    写道
这是一个舍与得的关系。 只有降低了大家获取你劳动成果的门槛,才会吸引更多的人和你一起来为共同的目标前进,当有了更多人的参与,会大幅度降低你今后开发和维护的成本。

庄表伟    写道
我做了一个很不错的东西,当然希望更多的人知道。当我在那里自我吹嘘的时候,有人会问:你凭什么啊?谁知道你做得好不好啊?那么,一旦开源出来,事情就很简单,大家都看得到了。再者,文人可以以文会友。Coder自然可以以Code会友。这是一种寻求同道的方法。

程开源    写道
将项目开源出来通常有两个目的:

  • 知识分享,想让更多的人使用自己写的作品,早期开源项目基本都是这个目的;
  • 商业驱动,开源实际是企业的市场行为,通过开源占有市场,增强企业影响力,降低企业研发成本。


国内的开源环境与国外的对比? 开源社区“大牛”关于“开源”的大讨论

zozoh    写道
不了解国外,觉得谈论环境木有意义。

杜玉杰    写道
我在国内参与发起过中国OpenStack社区等开源社区,并有幸作为OpenStack基金会独立董事也参与过国际OpenStack基金会的运作,对比感觉国内不乏优秀的开发者,而最缺乏的是完善的管理*(如开源基金会等)以及职业的社区管理者。

姜宁    写道
国内开源生态环境没有国外的好,我们更多的停留在使用的层次上,很少能真正参与到开源项目的开发中。

庄表伟    写道
国内有大量的开源使用着、有少量的开源开发者、开源社区(基本上是使用者的社区),但是,没有一个成型的开源环境。因为,大多数开发者没有足够的空余时间,投入与自己职业无关的开源项目。

程开源    写道
国内的开源环境整体落后于国外10年以上,至今没有一个像Apache 、Linux基金会一样的开源协同生产组织出现,国内的灰狐、息壤开源社区(www.sarons.org)虽然做了一些努力,但还有很长的路要走,但毕竟开始迈出了步伐。


如何看待“外国的月亮比较圆”等类似的说法? 开源社区“大牛”关于“开源”的大讨论

zozoh    写道
我在自己周围几乎没有听到过这样的说法,所以也没啥看法。

杜玉杰    写道
没有注意过。不过亲眼所见国外的空气质量不错,天很蓝。

姜宁    写道
开源,*软件这些理念都是源于国外,很多东西到国内就有些变味了。目前大家看到开源想到最多是就是能看到源代码,我可以自己封装一下去申请国家项目或者直接卖给客户。很少会按照开源协议的规定和开源社区的规则来为这个开源项目做贡献。这样导致的结果就是国外的大牛的开源项目很好,人家做贡献赚人品,我们直接来用就行了。国内的开源项目很少有人问津,大家很少去想如何改善国内开源开发生态环境。

庄表伟    写道
这个问题……无语ing……

程开源    写道
坦率的讲,国外高质量的开源作品确实比较多,我们平时用的开源作品还大多来自于国外。 但随着国内云计算、互联网的深入发展,国内原创的好的开源项目在不断涌现,趋势逐渐向好。


成功的开源项目必备的要素是什么? 开源社区“大牛”关于“开源”的大讨论

zozoh    写道
心里不能只想着“成功”。

杜玉杰    写道
不知道成功的标准是怎样定义的,但看到知名的开源项目都有清晰的许可协议、完善的社区基础设施、明确的分工,甚至有独特的社区文化和价值观。

姜宁    写道
社区,社区,社区。 成功的开源项目是靠拥有广大用户的社区来支撑的,社区会为项目成功发展提供各种资源,开源项目的持续发展的生命力来源于健康发展的社区。

庄表伟    写道
有一个以上的使用者,就算成功。当然,这只是底线,用来给自己打气用的。真正的成功,我还是同意姜宁的观点。

程开源    写道
开源项目的成功首先是需要有价值,我们写了一个开源的Java 主题SNS产品-FocusSNS,产品还很不完善,但社区却是非常活跃。 开源项目有了用户,通过用户的不断反馈,才具体了成功的基础,然后加之良好的社区组织以及运营,以及人们通过参与项目得到价值认可和实现,这样逐渐会成为一个成功的开源项目。


开源是创造*还是重新发明*? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
你可以批评他人的*做得不好,做得有多烂,但不可否定制造*的权利及付出的努力……(via http://wendal.net/411.html)。

杜玉杰    写道
给zozoh +1。

姜宁    写道
开源是创新的试验场,开源促进创新。很多时候开源让我们有改进*的能力,当*改得多,我们就有了创造其他*的能力。

庄表伟    写道
不同花纹的*,也需要申请不同的专利的。


开源是温饱解决之后才考虑的么?如何看待开源项目商业化? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
起码我是。

开源项目的所有者愿意商业化,谁也拦不住,人家有这个权利。不过对于 Nutz 这个开源项目,我们承诺一直免费 ,绝对不会收费,也不会和大家抖小机灵,变相收钱的。事实上,我们比较鄙视所谓的“社区版”和”商业版”。

杜玉杰    写道
我现在基本上算是靠开源解决了温饱问题。

开源软件不等于免费软件,开源软件也不等于说不能有商业开发,任何开源项目的发展模式都是和其许可协议密切相关的。确实有很多开源项目最后由于商业原因夭折了,但商业化也未必能够挽救所有的开源项目,经营一个开源项目和经营一个企业一样有风险。

姜宁    写道
我比较幸运从06年公司就给我开工资,专职做开源项目。

我现在所在的公司就是靠开源项目赚钱的,我当然赞成开源项目商业化,否则我的工资就不知道从那来了。这里我想澄清的是开源项目和商业软件的区别。有些多企业在使用开源项目的直接成果,有些企业在购买基于开源项目的商业软件,这些都是市场的需要。开源项目很多时候无法提供向商业软件的那样的服务支持,例如一个版本提供10年的维护期,安全补丁的及时更新等等。还有一句话就是商业产品是给用户省时间,开源项目在给用户省钱的同时需要用户自己投入更多的时间。

庄表伟    写道
做开源又不是一种淫欲。

商业项目与赚钱不排斥,赞成好的开源项目赚到钱。

程开源    写道
对于个人,可能是。 对于企业,是有计划的商业行为。

成功的开源项目,如Linux、Apache基金会的项目,参与项目的人和企业都实现了商业价值,不过大多数情况下,赚钱是开源的衍生价值。

您每天投入在开源项目上的时间大概有多少? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
最近不太多,平均不超过半小时。wendal 花的时间多一些。如果忙过这段时间会多花一些时间。

杜玉杰    写道
总是在跟开源打交道,不知算不算投入?

姜宁    写道
我算是全职吧。

庄表伟    写道
平均不超过半小时,最近太忙了。

程开源    写道
我现在全职打理开源力量,是我们的创业项目,通过“向最牛x的开源技术专家学习”,旨在让更多的人掌握开源技术,最近我们推出了“开源力量公开课”,每周二线上线下同时开课,欢迎大家多参与。

您从开源中得到了什么? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
快乐。

杜玉杰    写道
工作的乐趣。

姜宁    写道
结交了很多朋友,也收获了很多乐趣。

庄表伟    写道
我能做这个,而且我喜欢做这个。

程开源    写道
同众多牛人一起创造的乐趣和成就感。

该如何选择开源协议? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
我们选最宽松的。

杜玉杰    写道
看出发点是什么,前面说过任何开源项目的发展模式都是和其许可协议密切相关的,看你打算如何经营你的项目。

姜宁    写道
GPL give me everything, MPL give me something, ASL give me credit。

我看好宽松,并且对商业友好的Apache 软件许可。

庄表伟    写道
与项目的具体性质有关。

程开源    写道
看各自的目的,如果是出于降低研成本的考虑,建议用Apache License;如果是出于知识*传播,建议用GPL/LGPL等,如果是商业考虑,建议用多License并存。

列举出您心中的开源项目Top5,并给出理由。 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
wendal 比较在行。

杜玉杰    写道
  • Top1 GNU项目,该项目的发起者不仅定义了GNU GPL许可协议,同时也是*软件的精神领袖,该项目对开源运动影响深远。
  • Top2 Linux项目,世界上最具影响力的开源项目,开源社区典范。
  • Top3 Apache项目,其背后的基金会以及其运作模式对开源社区影响深远。
  • Top4 Git项目,正影响无数开发者的工作方式。
  • Top5 OpenStack项目,不解释了。

姜宁    写道
项目太多,还没真排过……

庄表伟    写道
这个TopX,重要吗?

程开源    写道
  • No1. Gcc ,早期开源产品的妈,没有她,好多开源产品无从谈起;
  • No2. Linux开源产品的家 ;
  • No.3 MySQL 开源产品的肚子
  • ……

谈谈您的开源项目!有没有想放弃的时候?您是如何坚持下来的? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
因为没有过想放弃,所以也没怎么坚持。

杜玉杰    写道
我还在不断学习中。

姜宁    写道
我参与的开源项目背后基本都有公司在后面推动。如果我放弃现在的工作的话,我不太可能会放弃现在参与的项目,这和Apache软基金会项目都是面向个人的有很大关系。只要我愿意,我对项目的贡献不会因为我工作的变动而受到阻止。

庄表伟    写道
我的开源项目,都是出于兴趣来做的,不必专门介绍,也许到某个时候,没兴趣了,就不做了呗。我猜想,大多数开源项目背后的心态,都是类似这样的吧。

国内开源将如何发展?你的建议是? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
Github 用的人越来越多,会越来越多的人和开源项目沾边。我觉得蛮好的,没啥建议。

杜玉杰    写道
题目太大,也不是我能预测得到的,另外自己做得也还不够好还需要继续努力。

姜宁    写道
前途是光明的,道路是曲折的。我的建议就是营造好的开源生态环境。

庄表伟    写道
其实,关于国内的开源,我并没有太多的话想说,只有三句话想说:

  • 开源力量公开课这样的形式,我觉得很有前途
  • 开源人应该多找机会聚聚
  • 最缺的是一个或者更多个健康运作的开源基金会,希望早日看到开源基金会的成立
程开源    写道
国内的开源发展,最需要大家的协作意识,并意识到协作其实需要规则,具体就不讲了,大家可以在由40多位共同发起人发起的息壤开源社区得到一些答案。

您最希望对打算从事开源的开发者说的话是? 开源社区“大牛”关于“开源”的大讨论


zozoh    写道
多写代码,少吹牛B。

杜玉杰    写道
别光听我瞎说,要相信你自己。

姜宁    写道
开源就是重在掺和,在掺和中你能开拓视野,学到知识,收获友谊,成就事业 :)。

庄表伟    写道
zozoh +1,如果喜欢,就去coding,然后发布代码。

程开源    写道
放出代码前,想清楚,你是想通过开源赚钱呢,还是分享,如果是前者,按商业的作法玩开源,就像MySQL, Jboss 一样;如果后者,请多学习一下Apache ,Linux Kernel的作法。 末了,希望大家多参与到我们发起的开源基金会-息壤开源中来。