任何想法转变为蓬勃发展的、打破现状的文化,都归功于以该想法为中心的人们的热情。正是社区的信念和坚定不移的承诺,将一个想法推向能够带来改变的事物。
社区本身就具有影响力,但当应用于软件世界时,这种影响力会达到更高的高度。开源软件在软件编写方式、系统构建方式以及创新发生方式方面带来革命的中心原因之一,是构成开源软件一部分的社区的活力。正是来自各行各业的人们对这个社区的贡献,为开源软件渗透到各行各业铺平了道路,并在技术民主化方面发挥了至关重要的作用。
Jim Salter 是开源社区的积极贡献者之一,他通过自己的倡议和项目,丰富着这种文化,并在此过程中激励着许多人。作为一名作家、技术专家和开源企业家,他分享了他对与 FreeBSD 和开源的联系、他的开源文档项目、他的咨询公司 JRS Systems 以及 All Things Open 2015 的看法。
请您谈谈您首次设置 FreeBSD 服务器的经历。是什么让您选择了 FreeBSD?它有何不同之处?
信不信由你,我当时主要是一个 Windows 用户,并且对它很满意。但我知道 Windows 非常不适合互联网托管服务,而我对互联网托管服务非常感兴趣。那时,一个名为 Walnut Creek CDROM 的小网站——更广为人知的名字是“ftp.cdrom.com”——的流量比世界上任何其他网站都多得多。更棒的是,它是在 FreeBSD 上实现的,而且只用了相对较少的实际硬件!对我来说,这似乎是显而易见的:是时候学习 FreeBSD 了。
我一开始是将我的个人网站迁移到一个位于佛罗里达州的小型专用主机上,该主机专门提供专用 FreeBSD 服务器。不过,他做了大部分的繁重工作——当我拿到服务器时,它已经运行着 FreeBSD 3.0,并安装和配置了 Apache 和原生 FTP 服务器。我真正要做的只是通过 FTP 上传我的网站。哎,好吧。不过,这总算是一个开始!
我第一次真正意义上的、千真万确的、我是 root 用户并且一切都由我负责的体验是在一两年后,也就是 2001 年初的 FreeBSD 4.3。我构建了一个服务器放在我的客厅里,最终目标是让它为我的个人网页运行一个 UltimateBB 论坛。我做的第一件事是在它上面运行 Samba 并将我的所有文件都转储到它上面——这迫使我每天实际使用这台机器,我知道这是我真正学习它的唯一方法。那段时光很有趣。到 2002 年,我已经学到了足够的知识,不再需要向我的网络主机付费了——我为他提供技术支持,所以他免费为我提供专用服务器。我应该得到一件 T 恤:愿意做系统管理员换取服务器空间!
不过,我不确定这是否完全说明了为什么 FreeBSD 更好。在早期,它确实以比 Linux 更稳定和性能更高而闻名,而且据我所知,这名副其实。老实说,对我影响更大的是它更符合逻辑。我很难完成 Linux 的安装,更不用说实际使用了,因为那时整个东西看起来像是一个混乱的大杂烩。然而,FreeBSD……它以“难”而闻名。但在实践中,我发现 FreeBSD 比 Linux 容易得多,因为它更一致。当然,安装程序可能是 NCURSES 文本界面而不是图形界面,但谁在乎呢?它很有道理——操作系统的其余布局也是如此。我认为,将整个操作系统置于委员会的控制之下,而不仅仅是内核,这是一个优势。
是什么启发您创建了 FreeBSDWiki.net?该网站的目标是什么?
当我学习 FreeBSD 以及一般的类 Unix 操作系统时,我对文档的质量感到非常沮丧。我非常沮丧,以至于我真的不想仅仅为现有文档做出贡献,因为我觉得我的文档目标与主流文档目标太不一样了。手册页和其他官方文档通常是理论使用和冗长的练习;博客文章通常有太多的“故事时间”和解释,而没有足够的“这是我们所做的/你所做的”。我想通过示例来记录——给我看配置,给我看命令!我也到了这样的地步:我经常需要重新创建一项我第一次花了五个小时才弄清楚的任务……而第二次重新弄清楚它又需要四个小时。
那时,维基百科仍然显得很新奇和神奇。公开可编辑文档的整个想法仍然显得非常古怪,但维基百科已经成功地做了好几年了,所以我想为什么不呢?于是 freebsdwiki.net 就诞生了。我尝试记录像我这样的新手需要知道的事情和任务,并且我还记录了我所做或学到的所有新事物。所有文章都侧重于示例,而简略地列出每种可能的选项。我将该网站的副标题定为“FreeBSD For The Impatient”(面向不耐烦的 FreeBSD 用户)。几年后,我偶然发现我的 FreeBSDwiki 是地球上 500 个最大的维基百科之一,这让我觉得很酷。
老实说,这些年来它一直处于衰落状态。我不再真正活跃于 FreeBSD 社区,并且维基垃圾信息问题变得太猖獗而无法处理。我最终为 mediawiki 编写了自己的垃圾邮件过滤插件,该插件在一段时间内非常成功,但最终到了我每天要花半个小时手动删除过滤器遗漏的垃圾邮件的地步,这实在是太多了。我最终将该网站设为“私有”,至少在编辑方面是这样——任何人仍然可以查看它。不过,它越来越过时了,我真的需要看看是否有人愿意接管它。
随着 Linux 被世界各地的大型企业用于运行,您认为开源工具和技术在当今和未来的系统管理中扮演什么角色?
我直言不讳地说:学习拥抱开源,否则将被埋没。就这么简单。
就我个人而言,我热爱开源。我热爱它的意识形态,我热爱它的代码,我喜欢它给我的感觉,那就是我知道,当我学习一个开源应用程序或操作系统时,我可以将这些知识随身携带,并在任何地方用于任何用途。这才是真正的力量!你学会了使用 Photoshop,现在你被价值 1000 美元或更多的软件许可所束缚——你可能能够或可能无法让组织为你购买它,或者你可能拥有或可能不拥有自己的许可证,并且可能能够在任何给定的组织中使用它。这太糟糕了,在过去的日子里,我被许可问题困扰的次数多得我都记不清了。但是现在呢?学习使用 Krita 或 GIMP,你可以将它带到任何地方。它是你的。当你学会如何使用它时,你获得的那些能力是你的。你可以合法地在任何地方、以任何方式使用它们。我希望更多的人明白这真正代表着什么。
不过,我离题了。无论你个人喜欢还是讨厌 FOSS,你最好学会利用它,否则你将被抛在后面。是的,世界上仍然存在专有软件巨头——而且很可能永远都会存在。不过,他们也必须学会利用和拥抱 FOSS。当他们不这样做时,他们就会付出代价。没有人有足够的钱来超越整个开源世界。当您只编写自己的特殊配方时,您可以使专有编码成为一项有利可图的主张,但如果您尝试以这种方式完成所有事情,您将无法跟上步伐。
这种趋势不会停止。FOSS 不再仅仅是业余爱好者的领域——业余爱好者仍然存在,但他们已经与由行业巨头全职雇用的专业开发人员联手,专门从事开源工作。像 Google、HP 和 IBM 这样的公司早就意识到,当涉及到他们“特殊配方”之下的基础设施时,与世界其他地方合作而不是购买专有软件或自行开发在财务上更合理——这意味着如果您尝试在“仅限内部”产品上竞争,您将背负严重的的技术和财务债务。
总结:习惯使用 FOSS,如果你不想作为一个公司或个人开发者被抛在后面,那就赶快行动。
在您的咨询实践中,您如何使用开源软件来解决客户的问题?您的客户如何看待开源软件作为满足其业务需求的解决方案?
我在小型企业领域工作很多,在小型企业领域,成本是一个更重要的因素。不过,即便在微型企业层面,成本也不是最重要的。听起来很疯狂?好吧,让我们面对现实:如果你支付三到四名全职员工的工资,即使是专有和昂贵的东西,你的工资单也会使你的 IT 预算相形见绌。
真正重要的是技术的可靠性、可维护性、易于部署性以及它如何改善组织的工作流程。FOSS 在前三项方面非常出色。可悲的是,在最后一项方面,它经常不足。这通常不是因为 FOSS 本身有什么问题——只是因为世界上很多地方仍然依赖于用于日常商品流程的庞大专有软件。
这这一切意味着什么?这意味着我在每家企业中都部署了 Linux,但它通常隐藏在后台,最终用户不会直接看到它。让我们看一个例子:我认为 LibreOffice 非常棒——我个人非常喜欢它,胜过 MS Office——但它通常不适合商业环境。同样,这并不是因为 LO 有什么问题——它是一款很棒的产品——而是因为我的客户与之交互的大多数企业都在使用 MS Office,并且非常依赖其功能和 bug。让一个训练有素的最终用户访问一个办公套件,并花几个小时来操作它,他们经常会生成一个表面上看起来还不错的文档,但底下却是一团糟糕的意大利面条代码。最终用户生成的文档可能包含宏。哎。章节标题很可能是手动单独格式化的,而不是从样式中定义的。哎。一个“只是粗体”的句子实际上也可能是斜体,然后取消斜体,经过四到五个字体设置,不同的字距调整,以及你能想到的所有其他可怕的东西都隐藏在表面之下,因为用户只是不断地敲击它,直到它“最终看起来正确”。您可以依靠 LibreOffice 很好地呈现格式良好的 MS Office 文档,但呈现“您期望在现实世界中时不时收到的那种 MS Office 文档”则完全是另一回事。
因此,尽管我很想这样做,但我很少在商业环境中部署 LibreOffice。当一份意味着数十万美元收入的合同取决于用户与使用价值数百美元的办公套件编写的格式糟糕的文档进行良好交互时,您会咬紧牙关,并为每位用户花费数百美元购买该套件。同样,对于真正从事图形设计的企业来说,GiMP 和 Krita 通常是不可能的。是的,有一些不合群的人了解逆流而上的困难,并且愿意接受它,但在大多数情况下,顺应潮流更有意义,无论您是否喜欢它。
等一下,虽然。我不是说过“每个客户端都用 Linux”吗?它在哪里?就像我说的,它在后端。即使有 Windows Server 2012 机器,它们也是运行在 Linux 主机上的虚拟机,使用 Linux Kernel Virtual Machine 作为虚拟机监控程序,并使用 openZFS 进行存储。我开发了自己的融合基础设施平台 Sanoid 来促进这一点。这意味着我可以做一些事情,比如在几秒钟内回滚被 Cryptowall 攻击的虚拟机,而不是花费数小时从笨拙的备份中恢复,而且我可以每天通过廉价的 5mbps 住宅式互联网连接异地复制 TB 级的数据……但是用户看不到任何不同的东西可能会阻碍他们的工作流程。
在我的客户现场,你还会看到很多 BIND9、很多 openVPN、很多 Apache、Varnish 和一些 Postfix——就像我说的,后端的东西。在前端,你会看到相当多的 Wordpress(我将称之为“前端”,仅仅因为最终用户通常直接在上面发帖),以及跨学科的软件安装。“跨学科?” 嗯,建筑师可能会拥有并使用完整版的 Photoshop,但一家只想偶尔编辑图像的机械工程公司可能会使用 Krita 或 GIMP。你明白我的意思了吧。
FOSS 正开始打入终端用户领域,主要是通过跨平台软件。越来越多的人熟悉 Thunderbird、Pidgin、LibreOffice 和 GIMP。每个人都知道 Firefox。Chrome 是我所有客户的默认浏览器——是的,我知道,Chrome 本身是专有的,Chromium 在 FOSS 和专有代码之间存在一些有争议的划分,但它仍然比 Internet Explorer 或 Edge 好得多!我预计这种情况在未来十年或二十年会增加——主要以 Windows 本身入侵商业领域的方式——从用户的家庭系统向上渗透,而不是反过来。
您能给我们预告一下今年您将在 All Things Open 上谈论什么吗?
我的演讲是Move Over, Rsync。我现在就先说出重点:如果你没有使用文件系统级别的复制,你的备份绝对烂透了。这当然是一个会让几乎所有资深系统管理员感到恼火的说法,但这正是重点!
我将要谈论 ZFS 复制,以及它如何在某些常见用例中以多个数量级击败 Rsync 的性能——是的,真的——并且本质上更安全可靠。我有没有提到我经常每天通过 5mbps 的互联网连接异地复制多个 TB 的数据,通常在一个小时或更短的时间内?因为,嗯,我就是这么做的。
演讲者访谈
本文是 All Things Open 演讲者访谈 系列的一部分。All Things Open 是一个探索企业中的开源、开放技术和开放网络的会议.
1 条评论