① 什么是开源
开源即开放源代码。
开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或着作权所有者等拥有程序的原始码。
有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放原代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。
(1)哪些人需要阅读源码扩展阅读:
开放原始码的定义由Bruce Perens(Debian创始人之一)定义如下:
自由再散布(Free Distribution):允许获得原始码的人可自由再将此原始码散布。
原始码(Source Code):程序的可执行档在散布时,必需以随附完整原始码或是可让人方便的事后取得原始码。
衍生着作(Derived Works):让人可依此原始码修改后,在依照同一授权条款的情形下再散布。
原创作者程序原始码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的程序码做分别,保障原始的程序码完整性。
不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放原始码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。
对程序在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。 散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。
授权条款不得专属于特定产品(License Must Not Be Specific to a Proct):若多个程序组合成一套软件,则当某一开放原始码的程序单独散布时,也必需要符合开放原始码的条件。
授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放原始码软件与其他非开放原始码软件一起散布时(例如放在同一光盘片),不得限制其他软件的授权条件也要遵照开放原始码的授权。
授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。
② 2020 の 泽阳
2020 年的泽阳
在2020年,泽阳设定了一系列目标并为之努力,以下是对他这一年经历的详细回顾:
每周一篇短文,三周一篇长文:泽阳在年初设定了每周一篇短文,三周一篇长文的写作计划,但遗憾的是,这个计划只维持到了4月份。他发现自己难以找到一个适合的方向长期作文,且短文质量不高,因此最终未能坚持下去。
深入精通某一个方向,在专业上有所成就:泽阳在网络、运行时性能上进行了深挖,虽然尚未达到有所成就的程度,但他的努力和专业探索精神值得肯定。
成为 Node.js Collaborators:这是泽阳在2020年取得的重要成就之一。他重拾了一直以来未能实现的目标,开始深入研究Node.js源码,并积极为官方提交PR(Pull Request)。Node.js社区对新手非常友好,感谢first commit的贡献者,并在Code Review过程中保持礼貌。泽阳通过持续贡献,最终被TSC(Technical Steering Committee)成员提名为Collaborators。这一过程中,他展现了极高的热情和毅力,每天下班回到寝室就啃源码,查看感兴趣的issues列表并着手修复,睡前和醒来都会关注PR的Review状态。
健身,维持体重到120左右:泽阳在回到广州后,通过跑步和清淡饮食,成功地将体重减到了122左右,虽然略高于目标体重,但他的健身成果仍然值得肯定。
听一场演唱会:由于疫情的影响,泽阳喜欢的民谣歌手没有开演唱会的计划,因此他未能完成这一目标。但他参与了陈奕迅的云演唱会,也算是一种替代性的体验。
英语水平能够和社区的人日常交流:泽阳意识到英语在工作和社区交流中的重要性,因此他开始报班学习英语。虽然目前还需要翻译来确保语义的准确性,但他希望在明年年底之前能够不用翻译就能和社区的人进行日常交流。
总结:
2020年对泽阳来说是一个充满挑战和收获的一年。他在Node.js社区取得了显着的成就,成为了Collaborators,并深入研究了源码。同时,他也在阅读、旅行和健身等方面有所收获。虽然有些目标未能实现,但他的努力和坚持精神值得肯定。展望未来,泽阳计划在新的一年里参与到v8贡献中,并设定了新的目标和计划。