开放源代码(Open Source)


自从接触到开放源代码(Open Source),真是深深地爱上它。先不看它license的问题。就因为开放源代码,身为一个程序编写员,才有机会学到其他人的编写方式。虽然程序编写主要是知道一个程序设计语言(programming language)的语法(syntax),但不同的人会用不一样的习惯(convention),如Microsoft喜欢用Hungarian notation,有的人喜欢用CamelCase等等。只有多接触各种各样的源代码(source code),或是不一样的程序设计语言,才会增强属于自己的程序编写的技巧。(这就像机器学习Machine Learning一样。有机会我会介绍这个。)

开放源代码,主要就是自由和开放,就可以自由学习、自由修改、自由改善,并继续地开放下去。也正是有这种观念,才有今天的Android、才有人人都在用的Google Chrome。就算某某人是Apple的支持者,他所用的Safari的WebKit引擎也是开放源代码的。而HTML,虽然跟开放源代码无关,但是它是属于自由文件格式(Open Format)。如果没有这个自由文件格式,我们就不能用任何一个网页浏览器(web browser)去浏览任何网页。

正是这份自由,很多人才能够加强自身对电脑的认识,比如安装Linux,从中了解harddisk,partition,bootloader等等的术语。这份自由,给了那些愿意学习的学者,一份无疆界的知识领域。也透过类似Linux的操作系统,学会了如何使用“命令”(command),将一部电脑的作用发挥到淋漓尽致。

(当然,并非很多人喜欢“浪费”时间学习。他们由于各种理由,喜欢外表精致,介面看似高级的操作系统。某些人喜欢用手指滑来滑去的介面,认为这才是“高级”。)

正是开放源代码,本人体会到了几个要点:

  • 自由。正是自由,一切都返璞归真,无为而治,无招胜有招。
  • 取长补短。既然自由,就可以自由修改,也可以从其它的源代码那里学习,甚至是竞争对手的源代码。因此,将各各不同的优点集合起来,就可以取长补短。
  • 编写源代码(也)是一种艺术。有人认为,程序编写是科学,因为都是逻辑和数学运算的。讲求的都是资料处理等。但是,一个好的程序编写员,最重要的就是要将源代码写得他人也看得懂(并非只是自己看得懂而已)。因为这些源代码是开放的。他人可以“阅读”。为了让他人明白,语法本身是不能改变的了,所以必须在注释方面解释得清楚。代码风格需要清晰易读。这就是所谓的“艺术”。(它是一种艺术。并非把别人的源代码盗取后修改,就叫做程序编写员。)
  • 编写源代码,呈现自己的风格。因为是一种艺术,当拥有一定的程序编写技巧后,自己的风格会渐渐鲜明。这就是每个人艺术的一种风格。
  • 群体意识。因为是开放的,每个人都可以分享。共同志向的开发者就会集合在一起,一起分工合作地开发。当然,并非每个开发者都是友善的。就如现实生活中,也是会遇到一些评语不友善的开发者或使用者给予不适当的批评。有些可以不必理会;有些可以当着忠言逆耳。透过这样的群体互动,能够加强自身对他人的批评做出适当的反应。
  • 自由选择。正是自由,若不喜欢某个人写的程序,某某人可以不用,也可以修改。就像Linux Distribution一样。有那么多的选择,就选个适合自己的。

总结,开放源代码,就是一种自由的艺术。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s