当前位置:网站首页>程序员搞开源,读什么书最合适?
程序员搞开源,读什么书最合适?
2022-07-05 09:39:00 【CSDN资讯】
作者 | 彭慧中 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
1998 年,“开源”这一术语诞生于开放软件倡议书(the Open Software Initiative)。最初,开源只是一个边缘化的活动,后来却登上了软件开发的舞台中心。开源的崛起源于技术创新和商业革新的良性循环,随着时代的进步与发展,在过去十年里,开源的复兴已势不可挡。
本期 CSDN 重磅打造开源直播栏目《开源圆桌派》以“认识开源,读什么书?”为主题,邀请到了开源之道主创适兕、开源社 2021 理事长庄表伟两位嘉宾,以及两位特邀互动专家: Milvus 开源项目的首席布道师顾钧,以及 CSDN 资深博主“大妈”(CSDN ID),在栏目策划者何苗的主持之下,给我们的初学者提供一些关于如何认识开源世界的建议。那么这些开源世界的引路人,究竟给我们带来了哪些金玉良言呢?
扫码可查看回放
开源阅读入门之道
何苗:各位老师读过的第一本开源类书籍是什么?从中收获了哪些呢?
适兕:早在 2007 年,我读的第一本开源书籍英文名叫《The Success of Open Source》,中文名为《开源的成功之路》,这是一本绝版书。我当时觉得这本开源类的书,为什么总讲一些财产分配、政治等与开源不相关的内容,于是我便草草看完后把它丢在了一旁,还在豆瓣上给出了仅两颗星的评价。
然而,当我在 10 年后再拿起这本书细读时,才发现这本书实在是太经典了,只是 10 年前的我并不能理解其中深意。10 年后,我光是读完了中文版还不够,还想办法去找来了英文原版,最后还把它的参考文献等资料搜刮了一遍拿来补充阅读,因此我一共阅读了三遍。
或许这跟我们的个人经历有关,2007 年那时候我只是一个初出茅庐的小伙子,只顾着追求各种酷炫的技术。然而 10 年期间经历很多事情,人的阅历增加了,回顾这本书时发现这本书有很多可取之处。
因此,认识开源是一个循序渐进的过程。随着我们见识的增长,在每个阶段,对于开源的理解都不一样。
庄表伟:我读过的开源书籍印象深刻的有《黑客与画家》、《大教堂与集市》等,都是非常著名的开源书籍。
但追溯到最早的时候,大概是在 2008 年,我看了一本书名字叫《梦断代码》,英文名为《Dream in Code》。这本书讲的是一个开源项目的失败经历,主角们是当时在社区里鼎鼎有名的一群大牛,他们想做一个开源项目最后却失败了,这个故事告诉我们开源并没有想象中那么简单。这本书令我受益匪浅,学到了很多经验教训。因此我还专门在豆瓣上写了一篇书评,名为《外国大牛也不过如此》(https://book.douban.com/review/1499854/)。
何苗:读书是开启智慧的重要方式之一,而我们在之前了解到适兕老师曾说庄表伟老师不同意开源需要启蒙,这个问题不知道两位老师能不能来给我们解读一下?
适兕:“开源”是一个舶来品,当你挖掘开源的核心本质时,你会发现跟我们东方文化是有差异的,因为它不是土生土长的东西,那么就可能需要通过写书、写文章,或者是做演讲的方式,让这些受过教育的这些大学生,或者是已经工作的人接触这样的文化。
因此我认为开源是需要启蒙的。在我们这片土地上,如果你想拥抱开源,认为它是一种很好的文化、很好的生产力方式以及协作方式的话,就需要去接受启蒙教育,深入地了解这样一个舶来品。
庄表伟:德国哲学家马克斯 · 韦伯有部名著《新教伦理与资本主义精神》。他提出一种社会学的方法论非常的重要,名为“解释性理解”。首先,什么叫解释?解释就是讲清楚事情的来龙去脉,它具有严密的逻辑性,并且是可以被验证的。而“理解”很多时候是私人的,且具有个性的。因此,当韦伯去推出他的一套学术的观点时,他非常理性地构建了一个学术性的“解释”,但是他又很谦虚的说这是一种私人的“理解”,这是我对于“解释性理解”的看法。
那么回到开源,如果我们对开源构建了一种“解释”,并把这个“解释”进行普及,告诉大家这就是开源的来龙去脉,你们就应该这么来理解开源,这样的行为事实上就是“启蒙”教育,那么我为什么不认可这种“启蒙”?
其实我更希望的场景是,尽管我对开源构建了某种“解释”,但大家还是可以仅看成是我个人的“理解”,也就是刚刚提到的“解释性理解”。当我把我的理解传递出来之后,你可以按照我的思路去理解开源,当然你也可以有自己的理解。大家可以从不同的角度,不同的立场,甚至是不同的接受程度去理解开源的某个部分,因为这个世界本来就是开放的,这就是为什么我对于“启蒙”这个词有所疑虑的原因。
顾钧:我觉得开源对于很多人来讲,是相对来说比较新的概念,所以它的基本规则、实践案例以及发展历史,其实大家是需要去了解的。
在我看来,初入一个新的领域,你要先学习它的规则,让自己和大家在同一个语境下去谈话。为了实现这个目的,那么一定需要借助书籍或者其他工具去帮助大家了解这些东西。从这个角度来说,你可以说它是一个启蒙的过程。当然或许因为每个人对“启蒙”这个词理解不太一样,但我觉得是需要有人带领大家进入到新的领域的。
何苗:最近有哪本开源书会让你放下手机来全情投入的去读?请各位老师与大家分享一下。
顾钧:开源书籍我会推荐《罗伯特议事规则》,这是一个很多开源社区和开源基金会当中,大家进行协作讨论最后达成决议的一个比较常用的规则。
尽管我们很多人接触开源不久,但事实上,开源不是一个新的概念,它是有一套既定规则的,所以你学习并尊重这个规则,才能够参与到更好的参与到开源中去。毕竟开源的核心其实是一种协作方式,而协作的基础就是大家都尊重并使用这个规则,所以学会这个规则是最基本的。
庄表伟:我推荐建盛写的《开源之迷》。大家需要注意的是,标题中的“迷”不是“谜语”的“谜”,它是迷人的迷。建盛想表达的,不是说开源有未解之谜,而是带领读者去了解开源为什么这么迷人。
首先,这本书一开头就告诉大家,开源是一个非常庞大和复杂的世界。紧接着,建盛作为书中的“导游”,带领大家探索开源世界中的各大名胜古迹以及伟人先贤,大家就可以随着建盛的指引慢慢深入。总之,这本书非常适合那些对开源了解不深的初学者,这也是我非常推荐这本书的一个原因。
何苗:有些居心叵测的人拿开源做幌子,呼吁大家奉献,如何运用读书帮助人们识别这种伎俩?
大妈:我认为,初学者可以先带着目的地去阅读一本开源书籍,当他读到这本书的最后,还会发现其他参考书目,因此可以通过这样的线索阅读更多相关书籍。慢慢地,当你读书的范围越来越广,对开源的了解越来越深之后,你会发觉自己不得不按照书中描述的方式去实践,或是加入到开源社区中才能理解真正地理解书中的深意。如果书中的概念不跟经验相匹配,那么依旧是纸上谈兵。而读书则是一盏引领进入这个世界的初学者的指路明灯。
适兕:随着我们社会节奏的加速,每个人的思考时间越来越少了,就像我经常用的一个词:“裹挟”,也就是说大家都是被时代的洪流推着走。年轻人进入这种加速的社会之后,基本上不会思考了,因为工作已经让他忙不过来,更不用说深入思考开源相关的问题了。
而我们今天建议的书籍或许就能让年轻人明白在他996的工作之外,若还有余力想要参与开源时应该怎么做,让他明白,当自己做成了一个开源项目时,最后成果的财产权归谁?当这个项目被商业化之后,需要去重新发布License的时候,要不要经过本人等一系列问题。其实我觉得当遇到这些问题时,最靠谱的方式就是去看一看我们刚刚列出的书单,因为我们踩过坑,也经历过各种社会捶打,在这当中成长起来的,甚至可以说这些书单就是一系列“避坑指南”。
如何破解“读书无用论”
何苗:有人认为“书读再多,也不能写程序,没什么用”,那么非功利性读书与有目的性阅读你更喜欢哪种方式,为什么?
庄表伟:从没听说功利性读书能够真正学到什么。为要达到某种目的选择功利性地读书,这本质上是在应付功利性考试。功利性读书没有意义,尤其是社会上所谓的热门书籍,通过功利性阅读,最多只是增加一点谈资而已,没有任何意义。
适兕:功利性和非功利性还是要看如何定义。比如,作为一个文学爱好者,有很多经典名著或许我这辈子不一定能有时间细细品读。阅读文学名著这对于我来说是种享受,而这种享受是很奢侈的,我无法做到花大把时间来享受这些。而阅读大量开源书籍则是因为,当我想跟人对话开源的时候,发现自己的知识储备明显不足、认知也亟待提升,因此需要大量的阅读输入。就像我写开源书籍的过程中,绝大部分的时间都花在了查阅资料上。这导致我把“读书”当作自己输入的重要工具。我阅读过的书籍都是以带着问题去书籍中寻求答案的方式完成的。这很难说是功利的还是非功利的。
顾钧:我觉得世界读书日的设立其实就是鼓励大家多读书。读书本身就是一件好事情,或许没有必要区分它是功利的还是非功利的。例如在写书或者是做一些专题研究的时候,更合理的说法是我们需要带着目的去阅读。写书和研究可能是和你的工作有关系,或许从这个层面上可以称它为功利的,但其实并不会对读书的结果有什么影响。读书或许只需要区分是带有目的性地阅读,还是仅仅为了消遣而阅读,这就够了。
何苗:如果说人的一生所读之书后来大部分都可能会忘记,那么读书的意义对你而言是什么?
大妈:读过的书不会完全忘记,只是细节模糊了。但留在你脑海中的印记就是独属于你的资产。读书比做其他事情所产出的成果要来得更慢,并且很艰苦,要沉下心来才能读进去,但读书投入的时间精力我觉得是值得的。
如果养成了看书的习惯后,你会发觉自己看的书会越来越丰富,这将对自身产生巨大的影响,并且这种影响是具有“复利”(利滚利)的,只要你一直坚持读下去,久而久之就会印证老祖宗说的那句话:“腹有诗书气自华”。
当一本书你认真读进去的时候,会发现其实每一本书都有它的“遗憾”,因为一件事或许永远无法只靠一本书来说尽。所以当看到这些“遗憾”之后,你会顺着这些“遗憾”继续去探寻,随着读的书会越来越多,或许有一天甚至会推翻某些前人的理论,从而创立出自己的也未尝可知。
庄表伟:我来简单总结一下我的观点。
第一,读过的书能带来情感共鸣。当然这里说的读书也包括小说,虽然我不记得书中的重要情节,但是那些人物的情感我们能够有所体会。虽然我们没有经历过别人的人生,但是我们依然能够将自己带入去与书中的人物共情。
第二,读书能增长能力。包括共情能力、看透本质的能力,养成豁达心态的能力等,这些都是可以通过阅读获得的。
第三,读书能提升人的精神层次。当我们读到某些段落、某些句子的时候,会有一种豁然开朗的感觉,同时顿悟了很多道理,这时候的心境便会有所不同。
第四,就是刚才“大妈”刚刚说的,读书能提升人的气质。
第五,读书可以构建个人知识地图。这个世界有很多的知识类别错综复杂,但是我们读了那么多书之后,知识与知识之间是能够串联起来的,形成一幅巨大的地图,于是我们在知识的海洋当中就更不容易迷茫。
第六,读书能带来好的品位。读书多了,慢慢地我们就有了更好的鉴赏能力,不管是对于书还是对于人,亦或是对于一些言论,我们都能够更好地分别出高下。这就是一种品位,是通过读书增长的见识和习得的。
顾钧:我认为读完一本书忘记了内容其实很正常。就像做一个开源项目,最后可能会失败,但结果和过程是两件事,有时候需要分开了去看待。因为结果是没有人能够保证的,但过程是否有价值或许每个人都有不同的理解。有的人喜欢享受过程,也能意识到过程本身所蕴含的价值。当然有的人可能会更看重结果,认为看一本书就一定要得到一个确定性的收获,不然就是浪费了时间或者浪费了金钱。
因此,人和人之间偏好肯定是不一样的。个人认为,在很多情况下过程可能会比结果更重要,因为结果也只是在每个时间点上的阶段性的成果,但是人生很长,你会读很多本书,会做很多个项目,某一次的结果或许不那么的重要,但过程才是把你不同的人生阶段串联起来的重要部分,所以我觉得读书的过程可能是更重要的。
以上就是 4 位嘉宾的全部分享内容。相信还在开源世界门口徘徊的伙伴能够通过这一期对话内容汲取到自身所需的养分。未来,开源世界还需要更多的有志青年共同参与探索与创新,构建更开放、更高效的良性开源生态。
— 推荐阅读 —
《新程序员001-004》已全面上市
欢迎扫描下方二维码或点击进入立即订阅
即可畅享电子书及精美纸质书。
*AI 考高数得分 81,网友:AI 模型也免不了“内卷”!
*B站大量虚拟主播被集体强制退款:收入蒸发,还倒欠B站;乔布斯被追授美国总统自由勋章;Grafana 9 发布|极客头条
*“放弃 GitHub ,时机已到”,软件自由保护协会怒批
边栏推荐
- Roll up, break 35 - year - old Anxiety, animation Demonstration CPU recording Function call Process
- 从“化学家”到开发者,从甲骨文到 TDengine,我人生的两次重要抉择
- Theme. AppCompat. Light. Darkactionbar not found
- What are the advantages of the live teaching system to improve learning quickly?
- From "chemist" to developer, from Oracle to tdengine, two important choices in my life
- Roll up, break through 35 year old anxiety, and animate the CPU to record the function call process
- Develop and implement movie recommendation applet based on wechat cloud
- 让AI替企业做复杂决策真的靠谱吗?参与直播,斯坦福博士来分享他的选择|量子位·视点...
- Kotlin Compose 与原生 嵌套使用
- How to choose the right chain management software?
猜你喜欢
On July 2, I invite you to TD Hero online press conference
Small program startup performance optimization practice
从“化学家”到开发者,从甲骨文到 TDengine,我人生的两次重要抉择
QT realizes signal transmission and reception between two windows
Charm of code language
写入速度提升数十倍,TDengine 在拓斯达智能工厂解决方案上的应用
盗版DALL·E成梗图之王?日产5万张图像,挤爆抱抱脸服务器,OpenAI勒令改名
RMS TO EAP通过MQTT简单实现
一种用于干式脑电图的高密度256通道电极帽
【OpenCV 例程200篇】219. 添加数字水印(盲水印)
随机推荐
[200 opencv routines] 219 Add digital watermark (blind watermark)
Tdengine offline upgrade process
单片机原理与接口技术(ESP8266/ESP32)机器人类草稿
Cerebral Cortex:有向脑连接识别帕金森病中广泛存在的功能网络异常
【C语言】动态内存开辟的使用『malloc』
La voie de l'évolution du système intelligent d'inspection et d'ordonnancement des petites procédures de Baidu
Tutorial on building a framework for middle office business system
7 月 2 日邀你来TD Hero 线上发布会
Solve liquibase – waiting for changelog lock Cause database deadlock
Roll up, break 35 - year - old Anxiety, animation Demonstration CPU recording Function call Process
TDengine 连接器上线 Google Data Studio 应用商店
搞数据库是不是越老越吃香?
Kotlin compose and native nesting
Community group buying exploded overnight. How should this new model of e-commerce operate?
Cent7 Oracle database installation error
双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)
Optimize database queries using the cursor object of SQLite
从“化学家”到开发者,从甲骨文到TDengine,我人生的两次重要抉择
Analysis on the wallet system architecture of Baidu trading platform
Apache dolphin scheduler system architecture design