2.3.3 优秀的开源社区
什么是开源?
开源是源代码可以任意获取的计算机软件,这种软件的著作权持有人在软件协议的规定下保留一部分权利并允许用户学习、修改以及以任何目的向任何人分发该软件。
开源协议通常符合开放源代码的定义的要求。
但是后续因为各种原因(有一段有趣的历史,大伙可以去了解一下)开源也变为了很多种形式,比如说较为严格的,如果你使用了我的代码,你就必须也得开源,以及可以自由使用只需要标记参考了哪些源码就行。
这里面有非常多有趣的历史故事以及各种渊源,感兴趣的同学可以自行了解一下
灵活使用开源社区
开源社区有时候是我们大伙学习一个新技术,查找某一个资料非常好的一种方式。
例如中国的优秀开源社区,Datawhale,他们会有组队学习的活动,可以去查找他们的公众号,然后免费加入牵引着你学习某一个模块有趣的知识。
比如硬件的一生一芯,南大 nju 的开源项目,手把手教你做出一个 CPU,当然非常的困难,大家有兴趣可以报名
当然也有国内的厂商为了自己的生态搞出了一些开源社区,比如说 paddle 飞桨高校领航团,让你使用他们的技术,然后他们出资帮助你学习。
如果说国外的
GitHub: Where the world builds software(全世界最大的开源社区)
在本章内容 /2023 旧版内容 / 3. 编程思维体系构建 / 3.5git 与 github 中详细介绍了 github 和 git 的使用方法,大家可以参考一下
同时我介绍一个有趣的搜索信息的方法,
举例:如果你想学习某个语言,可以在 github 上搜索
awesome(你想学的东西)
例如 awesome C
开源的意义
本章内容节选自 Datawhale 5 位成员在 AI TIME 的分享,《清华、北大、上交大、哈工大、中山大学 5 位同学眼中的开源》。
Z 世代的开源新态度
杨毅远,王琦与江季作为《Easy RL: 强化学习教程》的作者,他们有着丰富的开源经历与感受。
杨毅远:开源收获的是一个正向反馈
在互联网上开源自己的论文代码、项目代码以及学习心得等内容,也有助于和他人沟通交流,收获的也是一个正向反馈。针对问题普通人如何实现开源,杨毅远认为还是要先拥抱开源,不必操之过急,开源工作需要是有意义的工作,是一个漫长的工作。
王琦:开源的过程虽然会占用自己的一部分时间,但这却是一个幸福的烦恼。
论文末尾大多会附上代码地址,即代码开源。大家在看到论文代码开源的情况下会认为这篇论文能够复现的可能性比较大。虽然在将开源项目发布到 GitHub 之后给他人问题答复的过程可能会占用自己的一部分时间,但这可以算是一个幸福的烦恼。
江季:敢于开源的人也是一个乐于分享,心态积极的人。
互联网上的开源是需要勇气的,毕竟开源后的代码要在互联网上面临网友们的考验。江季对于开源的领域也有自己独到的见解,他以春秋战国时期的百家争鸣为例,阐述了无论是对于工科生还是文科生,开源这件事都是很适用的。
张文涛:能够与志同道合的人交流,是开源过程中至关重要的一环。
开源不是一个瞬间,而是需要持续地去做,无论是主动还是被动。将项目发布到网络上只是一个起点,之后反复与他人交流和解决问题,进而对项目进行不断的修正。
陈安东:要像种一棵树一样等到自己的开源工作开花结果。
开源可以分为三点:首先是要知道自己想要什么;第二点是做开源一定要有始有终,只有完整的开源工作才能被大家使用和学习,完整的工作才能在之后有优化迭代的空间;第三是要有一个” 开源是一个长期的过程” 这样的心态。
作为年轻一代,我们眼中的企业开源
王琦:企业的目的可能是先通过开源抢占市场,后续再通过推行定制化的服务来盈利。
陈安东:开源是一种企业与市场自我革命的做法,这种革命能够促进技术的发展,最终为用户带来好处。
一个行业的开源企业对传统 1 对 1 收费的市场是一个不小的冲击,因为这个市场份额也就随着这家免费的开源企业而不断减小。但是由于开源带来的技术分享反而使市场更加集中与优质化,技术也随着开源而更快速的迭代,从而产生了更好用的产品。
张文涛:开源有利于提升产品的影响力
虽然公司在做开源之前不一定有明确商业目的,但是可能在开源过程中发现一些可盈利的点来开发出其产品线。然后,企业可以将这块收入的一部分反馈到开源的过程之中来增加产品的影响力。
杨毅远:开源不失为一种提高公司知名度和用户信任感的方式
如果是一家中小型的创业公司,是否可以把自己核心的一部分开源出来?这样不失为一种提高公司知名度和用户信任感的方式。此外,当把实验代码开源到网络上之后,人们也希望有其他同领域的专家、研究人员可以一起来滚动更新这个任务。
关于未来的开源,我们想说……
江季:开源是一个很有前景的领域,然而现在的开源文化还并不成熟,开源确实是仍然在路上。
开源目前仍然存在不够合格的现象,比如说某些人的开源工作难以复现。开源是一个很有前景的领域,尤其是在促进学术界发展上。然而现在的开源文化还并不成熟,开源网站中占据大部分篇幅的还是广告,并没有形成知识分享的模式,开源确实是仍然在路上。 张文涛:开源的形式丰富多样,暂时不必思考太多,可以先和志同道合的人一起前进。
王琦:三体人的先进在于一代又一代的持续知识共享,我们可以先模仿、学习他人的项目。
我们如今做的东西,可能在历史长河之中早已被他人做过。如果提前了解到这些,可以很大地提升我们的工作效率。如果想做一个优质的开源项目,我们可以先模仿、学习他人的项目。
陈安东:开源应该是一个特别酷的东西,要敢于让别人看到自己的工作。
如今的开源还远远不够,大多数人还停留在在闭门造车的阶段。鼓励大家将自己的项目分享出来让大家来一起参与,接受大家的评价,彼此交流与指出问题,这样不但可以让开源工作更好,也可以让参与开源的大家收获满满。