如果你了解 Samba 和微软 Windows 系统的关系,看到这个标题,也许你会有点感到吃惊。听起来好像很不可能,但是这一切都是真的,微软在 GPLv3 协议许可下给曾经的敌人,开源项目 Samba 贡献代码。
当然这也许不会让你感到太吃惊。毕竟微软之前已经支持了 CodePlex 上面的很多项目,而且他们将加入 Python、PHP 语言和 Drupal(Drupal CMS)项目的开发。但是我要强调的是,微软为 Samba 贡献代码是意义完全不同的事情,因为Samba 是微软的老敌人。
首先让我们来了解一下Samba。Samba是 Unix/Linux 系统下的,和 Windows 实现互通功能的标准软件套件,遵循 GPLv3 (GNU GENERAL PUBLIC LICENSE Version 3) 协议,同时 Samba 项目是自由软件管理局(Software Freedom Conservancy)的一员。Samba 通过使用winbinds守护程序将 Linux/Unix 桌面和服务器系统无缝集成到 Windows 活动目录(Active Directory)环境。(Winbind是Samba套件的功能之一。它允许Unix系统利用Windows NT的用户帐号信息。winbind验证器是Samba winbindd服务进程的客户端。在使用该验证器之前,必须安装Samba和运行winbindd服务。)
Samba 使得任何基于SMB/CIFS的客户端提供安全可靠且快速的文件和打印服务变得可能,它适用于包括 DOS 、 Windows 、 OS/2 、Linux 等操作系统。Samba 也可用于网络附属存储(NAS:Network Attached Storage)。Linux 可以提供 Web 和 Email 等边缘化的服务,但不可忽略的是,Samba 使得 Linux 可以为数以百万计的企业提供文件和打印服务。
简单的说,Samba 使得 Linux(微软的竞争对手) 可以融入 Windows 的工作组,并分走 Windows 的奶油和蛋糕。自从1992年 Samba 项目启动 ,微软对它就一直感到不爽。直到2007年,微软在欧盟的反垄断案中败诉,然后被强制要求向 Samba 公开他们的网络控制协议,这件事情之后,微软才开始慢慢学习和 Samba 接触。
但一切在2011年10月10日这一切发生了改变,这一天微软开源技术中心的 Stephen Zarkos 为 Firefox 和 Samba 的 NT 局域网管理器认证的扩展保护提交了一些概念证明代码。虽然这仅仅是计算机软件开源事业的一小步,但它是实现 Samba/Windows 互操作性的一大步。
Samba 团队的 Chris Hertel 在文章中写道:“在过去的年月里,收到来自微软的补丁代码是一件无法想象的事情,但是时代已经变了,战争也该结束。对于软件专利我仍然持否定态度,因为它阻止了软件的创新。但是现在,在为建立一个更强大的社区和提高SMB的互操作性的战斗前线上,微软正和我们并肩作战。“