「开源之技」:那些「开源之道」最终呈现的部分

‘师夷长技以制夷’‘中学为体,西学为用’‘不要和我扯那么多,弄点实在的’,有形的技艺,能够解决现实问题的,向来是受大众所欢迎的,那些抽象的、虚构的、形而上的内容,也总是被大众所鄙夷的,「开源之道」并非不知道这些,如果没有过去6年的累积,那么谈技术也就不是「开源之道」了,这是一个相互佐证、相互成就的彼此依赖的左右手,缺一不可。是时候来聊些大众可接受的实用的内容了。

Mon Dec 20, 2021 | 2600 Words | 大约需要阅读 6 分钟 | 作者: 开源之道 |

另一种途径就是发明许多技艺(arts),通过它们来利用自然的力量;人就从威胁着他的那些条件和力量本身中构成了一座堡垒。他建筑房屋,缝制衣裳,利用火烧,不使为害,并养成共同生活的复杂技艺。这就是通过行动改变世界的方法,而另一种则是在感情和观念上改变自我的方法。人们感觉到,这种行动的方法使人桀骜不驯,甚至蔑视神力,认为这是危险的。这就说明了为什么人类很少利用他控制自然的方法来控制他自己。古人怀疑过技艺是上帝的恩赐还是对上帝特权的侵犯。而这两种见解都证明了技艺中含有某种非常的东西,这种东西或者是超人的或者是非自然的。一直很少有人预示过,人类可以借助于技艺来控制自然的力量与法则,以建立一个秩序、正义和美丽的王国,而且也很少有人注意到这样的人。

———— 约翰·杜威 《确定性的寻求》[1]

关于技艺的诠释

身处开源,或许无法见到富甲一方的土豪,可能也无缘得见政要名人,但是最大的机会在于能够见到理查德·桑内特笔下卓越的匠人[2],即真正意义上倾其所有才华和力气去把事情做好的手艺人,也就是说当我们讨论技艺的时候,不单单指的日常大多数程序员嘴里所说的某个语言好,某个IDE省事省力,而是指这个久经训练的开发者,对于以代码实现某些功能的投入程度,以及对于社会和人文的思考,如果可能的话,是那种追求自由和人性方面的考量。一定是超越那种被汉娜·阿伦特所称之为“劳动之兽”[3]的范畴。

多说一点的是,这里所指的技艺绝非是中国武侠小说中那种秘诀,即秘而不宣的某些技巧,在现代科学的视野里,是不存在孤岛的,也就是说当下的技术,尤其是计算机相关,都是集众家之长,通过开放不断发展而来的,在这个领域里保持封闭的那些,都没有经过市场的洗礼,就消失在了历史的舞台。

观念的力量

当我们做具体的事情的时候,往往并不会在意最后这件事情产生的影响和意义,随着分工的细化,人所从事的赖以换取生存必须的卡路里的工作,往往和自己的产出难以有直接的关连,比如电影《天伦之旅》[5]中罗伯特·德尼罗所饰演的主人公给电线涂保护层的工人,他的工作保护了电线不受外界的侵蚀,是可以看得见,因为工业时代电力是显著的标志,但是如今的一名开发者,自己所撰写的程序,是无法告诉朋友,因为软件本身的特性,以及为了解决人类与问题的鸿沟而发明的高级编程语言,也就是说这些从业者们无法和他人解释和形象的自己做了什么,只能从某个结果去让他人猜想。

软件吞噬世界[6],数字化深刻的改变了人们所生存的世界,以及自身的生活方式,当然也改变了很多人的职业,比如2020年,在网上疯传的一篇文章:《外卖骑手,困在系统里》[7],充分的展示了人在大数据和计算面前的无奈,而这里所有的规制都是算法——计算机程序的执行——来完成的,换句话说就是代码控制了这一切。

在技艺的实现中,作为主体参与的人,应该会思考人自身、人与人之间的关系、以及完善这些的所有活动,进而充分的展示对时间、宇宙、物质、自然的理解,能够囊括这些的也就是观念,因为人不可能掌握如此之多的知识,或者说如果想获得和利用所有的知识,那么就需要团结所有能够理解这些知识的所有人。

「开源之技」具体指什么?

「开源之道」所倡导和和本身的立场是,世界上应该只有一种软件,那就是开放源代码的。然后会正视开源所面临的问题,诸如:

  • 激励与驱动
  • 财产分配
  • 工程与完成度
  • 架构设计与共同体组织
  • 收费与营销
  • 上下游协作
  • ……

那么,关于「开源之技」就需要细分到具体的实现,如果回到上世纪7、80年代的话,Richard Stallman 的梦想是完成实现一个完全自由的操作系统——GNU,那么当下应该是,一个完整的技术栈是由完全的开源项目所实现的,那么涉及其中任何的技术相关都可以纳入「开源之技」的范畴,也可以从另外的角度来看,如设计、架构、应用等。

总结一句话,那就是任何将软件生产过程置于「开源之道」下的技艺,均是「开源之技」所纳入的范围。

如何参与「开源之技」

「开源之道」以布道的角度希望能够有开发者以外行人们能够看得懂的语言撰写诠释技艺的文章,比如一串信息的意义,比如一款App是如何整体进行服务的,比如某个项目的运行机制和架构设计。

开源的技艺和共同体的组织之间的关系,仍然属于「开源之技」的范畴,而且是尤其强调的。

分析当下较为成功的开源项目的技术、设计、应用相关的内容,以LWN为最佳,深度诠释Linux相关的技术实现。

开源作为一种类似工业时代精益生产的方式而存在于软件开发的流水线上,《大教堂与集市》[8]做过至为重要的总结和分析。那么方法论和集体行动的逻辑,无论如何都是“多元主义”共存的,于是「开源之技」更在乎的从那些无数的设计、分析、编码、维护、退休中总结出犹如精益一样清晰的方法,或许过程更为重要,犹如复杂理论[9]中所提出的,我们或许能做的也就是将它们记录下来。

敬爱的读者,如果你认同上面的观点,不妨以下列任何方式来参与进来:

  • 翻译或撰写符合上述原则的文章,可以选择发表在「开源之道」的网站上;
  • 参与到「开源之技」的日常讨论中;
  • 参与到「开源之技」的Meetup当中,“如何让自己的技术被理解”;
  • 兑现Upstream First 原则,亲力亲为到每个上游的开源项目中;
  • 创造性的利用「开源之技」为用户提供服务,并能够收取和自身付出等同的费用;

参考资料

  1. 《确定性的寻求:关于知行关系的研究》,[美] 约翰·杜威,华东师范大学出版社, 2019-8-1
  2. 《匠人》, [美] 理查德·桑内特,上海译文出版社,2015-7
  3. 《人的境况》,[美] 汉娜·阿伦特(Hannah Arendt),上海人民出版社,2017-4-1
  4. 《创新者:一群技术狂人和鬼才程序员如何改变世界》,[美] 沃尔特·艾萨克森,中信出版集团,2017-4
  5. 天伦之旅 Everybody’s Fine (2009),2009-12-04(美国)
  6. https://future.a16z.com/software-is-eating-the-world/ ,最后访问时间:2021.12.20
  7. https://mp.weixin.qq.com/s/Mes1RqIOdp48CMw4pXTwXw,最后访问时间:2021.12.20
  8. 《大教堂与集市:Musings on Linux and Open Source by an Accidental Revolutionary》, [美国] Eric S·Raymond,机械工业出版社,2014-5
  9. 《Overcomplicated: Technology at the Limits of Comprehension》,[美] Samuel Arbesman,湛庐文化/四川人民出版社,2019-5-31