Total Pageviews

Tuesday 17 January 2012

为何我喜欢BSD甚于Linux

其实我接触BSD的时间不长,也就是2010年三月份才接触并且使用。但是从此感觉一发不可收拾,甚至可以说是对BSD有种狂热。为什么我喜欢BSD甚于Linux,且看以下几点原因。

第一,BSD比Linux更紧密,更稳定。在Linux里面,没有真正的基本系统的概念。每个包,每个零件都来自于不同的开发人员或者项目,由发行商自行 决定如何打包。而BSD不同,内核和userland都是由core team开发和维护,是一个统一的整体,组成了BSD系统的base system。而ports或者pkgsrc软件都是建立在base system之上的外部软件,完全可以剥离。当然,本身BSD base里面其实就包含了相当多的工具,比如xz,gcc,clang,tar等等。虽然没看过BSD src(我也看不懂),但是BSD这种结构相对比较稳定。

第二,BSD简洁,并且易用,符合KISS。在基本安装的情况下,BSD只会安装base或者加上ports以及src,但是不含任何外部软件。这使得系 统高度可定制,在其上可以随心所欲搭建自己的环境。这点其实和Gentoo/Funtoo很像,Gentoo/Funtoo是给用户提供好了 stage3,然后再由用户自行定制。我说BSD简洁易用,便是因为这个。这里我也再强调一次,易用≠用户友好,这两个概念一定要分清。

第三,BSD风格和配置都相对统一,Linux的配置方式千差万别。虽然我的观点是Linux发行版的差异主要体现在包管理器,但是不得不承 认,Linux的基本配置方法也有很大区别。所以我至今也搞不太清哪些发行版有/etc/inittab,哪些发行版有/etc/rc.d,哪些发行版有 /etc/init.d,还是两个目录都有。虽然Linux发行遵循LSB,但是在配置方面,真的是每家都有自己的方法。而BSD的配置方法相对统一,开 机服务都在/etc/rc.conf设置,包管理也有统一的pkg_add。所以很多人形容BSD是严谨的学院派,而Linux是热闹的大集市。

第四,更喜欢BSD的精神和理念。Linux很大程度上要依赖GNU软件,通过我跟国外其他爱好者的交流,发现他们很多人其实挺排斥GNU授权,原因就在 GNU的许可比较严格,不够自由。ZFS无法用于Linux的遗憾,也是因为GNU许可过于严格。而BSD授权则基本无限制,相对GNU授权,要自由的 多。GNU和BSD许可的具体区别,可以自行搜索。当然,很多软件的源代码其实是多重许可的。

第五,不喜欢Linux社区的风气。这几天下来,我感觉国内的Linux社区相对比较浮躁,Linux vs Windows或者Linux发行版之间的优劣对比永远是争论不完的话题。而且确实有相当一部分才入门的没多久的Linux用户有点目中无人,非常自负。 这部分人对于新手的提问冷嘲热讽,间接把新手拒之门外。与之相反,BSD社区的氛围更友好,基本处在互相学习和交流的情况下。没人拿来比较,没人冷嘲热 讽,没人自以为是。我喜欢这种良好的学习氛围。

第六,在BSD,我觉得我进步更快。其实这个跟我的爱好有关,越是难的东西,我的兴趣就越大(能力范围之内而言)。很不巧,BSD比主流Linux要难入 门一点。个人认为其难度和Arch差不多。经过这一年多的使用,我确实学了很多东西,也养成了不少好习惯。比如现在会处理简单的编译错误,遇到解决不了的 问题就去提交PR(BSD社区鼓励用户多提交PR,以帮助完善系统)。这些东西我在Linux下面很少有机会能学到。

BSD虽然默默无闻,但是却是个了不起的家族(BSD及其分支也是有不少的,以我所知的,至少有十几个)。BSD不以商业为导向,而是专注于技术的研究,也为开源界作出了不少贡献。如果有机会,也希望有更多的人来使用,贡献。

No comments:

Post a Comment