php发展

首页 » 常识 » 常识 » 关于开源的思考开源如何影响程序员
TUhjnbcbe - 2020/12/28 13:48:00
北京一般治疗白癜风费用多少钱         https://m-mip.39.net/news/mipso_5218115.html

Apple核心系统高级工程师Asta谢(谢孟*)就《开源如何影响程序员》这一主题,结合自身经历、从开源中得到的自我提升,详细阐述了自己对开源的理解,如何在国内做开源,并成为GitHub上Go语言领域中国排名第一,以及如何同国内外开源者一起参与开源的过程。

什么是开源?

我们都喜欢开源,在国内一提到开源也都认为是好事情。但到底什么是开源,也许大部分人对开源理念都不够清晰。

国内多数软件公司或开发者对于开源的热情,仅仅局限以下两方面:免费的代码;深入参与的开源活动。对开源,我们用的多,贡献少。国内发起的有一定影响力的开源项目,也是凤毛麟角。好的现象是貌似Apache基金会上,逐渐能见到很多国内公司贡献的代码,成为顶级项目。

我曾听过自由软件精神领袖理查德·马修·斯托曼(RichardMatthewStallman)的演讲,演讲中他特别强调“Freeisnotfree”,对这句话我的个人解释是“自由,而不是免费”。free开源是自由,但不等于免费。开源是一种商业行为。试想一下,我们平日用谷歌百度做搜索,表面是免费,背后隐藏的是商业广告给他们带来的巨大利润。我们在尽情享用那些开源的免费大餐时,已然完全忘记开源的真正力量——开源是自由的,但不是免费的。

除此之外,对开源定义的理解,也可以借用先鲁迅先生所说的“拿来主义”。把资本主义的资源拿来,给我们社会主义用。而拿来主义并非是不好的,原因是只有当你去用了这个产品,你才能去了解开源,了解他开源的产品到底是什么样的。live开始前,一个同学问我怎样参与到一个开源项目之中。我的回答是,先拿来主义,把一个开源项目拿过来,自己先用起来。事实上这个观点可能和多数人不同。多数人的感觉是开源就需要贡献进去,需要付出。直白地说,拿来主义是第一步。不使用又如何参与?

但拿来主义并非一概而论。只做个“helloword”,写一个demo,就半途而废说这个东西不过如此,这样的态度是无法真正参与进去。真正贡献一个开源产品,需要做到以下几点:

理解一个开源产品的应用场景是什么;

想明白当初这个作者为什么会设计它,设计这个产品当初是为了解决哪一些问题;

原作者解决的这些场景问题,是否符合我的场景问题?

基于[3]的判断,如果你们处在同样的场景同样的问题。才可以使用“拿来主义”。应用也不是浅尝辄止,要进行深入研究。至少做到把他们的文档读一遍。

使用之后发现一些功能不能满足自己的需求,此时你可以说,这个开源有缺失,再贡献进去自己的代码。把这个功能完善。

以上是我认为的开源的使用方式和路径,很多开源项目也都是这样发展起来的。

我认为的理想开源,及国内现状

首先,开放的源代码。很多国内开源项目,也仅实现了这第一步。比如,公司开源某项目的源代码,直接扔到github上,即认为自己开源了。真正的开源,开源源代码,是最小的一步。

其次,有详细的文档。任何一个好的开源项目,都该有一个新手入门、详细的文档类东西。国内多数开发者,在这部分同样做得相对较差。

再次,是一个活跃的社区。国内开发者社区,比如我在国内做beego时,使用较多的是qq群、

1
查看完整版本: 关于开源的思考开源如何影响程序员