开源简史-自由软件与专有软件的对抗

今天,我们将告诉您商业解决方案如何在适当的时候几乎取代了免费分发的代码。 以及哪个开发商开始纠正这种情况。


/图片Peter Hamer CC BY-SA

在科学与国家安全之间


第二次世界大战时期是美国技术突破的时期。 科研机构与军事组织的合作在无线电密码学半导体领域取得了成果。

战后,这项研究为晶体管之类的发明奠定了基础,科学联系变成了业务联系。 开始了计算机的积极发展。

第一台商用计算机IBM 701被非正式地称为“ 防御计算器” 。 从1952年到1955年,只有19台该计算机下线了。 无法购买它们,但可以租用一个月的大量资金-约12,000美元(按现代标准为107,000美元)。

可以预期的是,提供这种奢侈品的公司名单几乎完全由科学和国家机构组成 。 而且,以这种钱,他们获得了“裸机” 硬件,而没有任何软件和操作系统。

为了简化工作,工程师相互传递了程序。 学术合作精神在业界盛行。 科研机构,军事客户和大型企业创建了知识共享小组,其劳工产品属于公共领域

程序交换期


其成员彼此共享资源的最著名团体是PACT,SHARE和DECUS。 第一个是PACT-编码技术的进步项目-由洛克希德和道格拉斯等军事承包商的代表以及IBM组成。

他们共同为IBM 701和704开发了一系列使用散列方法的同名编译器 。 该小组的领导人在此类项目的工作中强调了“合作的价值”,并承诺今后将保持这种精神。

PACT的后继者是1955年成立的SHARE组,创建了SOS (共享操作系统)操作系统。 按照现代标准,这种原始的信息输入和输出解决方案在通用汽车公司的内部发展中得到了发展。 SOS为第一批处理操作系统奠定了基础,该操作系统执行了一个或不同用户准备的多项任务。 在50年代末和60年代初,类似的系统主导了计算机市场。

1961年,另一个团体出现了,叫做DECUS (数字设备计算机用户协会)。 参加者彼此交换了磁带程序。 DECUS持续了很长时间-1998年仍由5万人组成。

由于科学合作和软件交换 Interlisp和UCI Lisp编程语言出现了 ,这种文化推动了开放Unix OS的发展。 但是在60年代末-70年代初,发生了几项重要事件,从而中止了开源的发展。 他们使程序成为可以货币化的产品。

付费软件和知识产权


如果没有与IBM 701捆绑在一起的软件,那么在随后的大型机中,它会变得越来越多。 所有这些软件都包含在系统的价格中,并作为一组提供。 从监管者的角度来看,这是对垄断的攻击。 经过一番压力和诉讼威胁后, IBM投降了,并于1969年开始单独销售软件。 这导致了IBM机器软件市场的兴起。

相对高级的语言-FORTRAN和COBOL-变得很普遍,并且微型计算机进入了发烧友的家。 用户和程序员之间的界限开始形成。 出现了复杂的软件系统,包括面向个人使用的软件系统。 而且他们的创作者很合乎逻辑地希望保护自己的作品。 这引起了公众的讨论:是否可以对软件产品申请专利? 知识产权法如何适用于他们?

1974年,成立了一个特别委员会 ,以确保程序员在美国法律中的权利。 从那时起,软件制造商就与发明家保持了同等水平。 不久之后,美国上诉法院裁定版权延伸至计算机程序。 开发人员能够控制谁使用他们的工作结果。 1983年,免费软件让位给专有软件。 然后,IBM停止透露其程序的源代码。

因此,整个免费软件交换时代已经结束。 但是有些人不愿意忍受这一点。 制作自由软件的人们现在兴旺发达。

多媒体课程


1960年代的软件市场类似于Cherkizovsky:虽然有很多东西,但它们并不能很好地融合在一起。 对于几乎每种新的计算机型号,该操作系统都是从头开始编写的。 越来越多的程序在不公开的情况下发布,并且缺乏标准化增加了其开发成本。
可以使用Multics操作系统为例,对当时IT行业的情况进行最生动的说明。

麻省理工学院,贝尔实验室和通用电气公司参加了它的创建,但是他们不能融合在一起。 分配给开发人员的任务是雄心勃勃的,工作人员由年轻,经验不足的程序员组成。 经过五年的发展,该系统注定不会在计算机市场上获得成功。 对导致失败的错误计算的详细分析随后专门用于另一篇文章

贝尔实验室系统发布后不久,他们就认为是浪费时间而离开了该项目。 但是,并非所有公司员工都同意这一观点。 对于Ken Thompson和Dennis Ritchie来说,这种经验是OS体系结构的一课。 他们看到了Multics模块化设计所固有的潜在功能-每个任务均由单独的实用程序执行-并决定开发自己的操作系统。

1969年夏天,UNICS诞生了。 汤普森在假期期间在PDP-7家用小型计算机上写下了她的第一个版本。 在项目迁移到Bell Labs之后,它更名为UNIX,并成立了一个小型开发团队。


/摄影: Jason Scott CC BY

UNIX和学术市场


开源系统于1973年向公众推出后,对于贝尔实验室的管理人员来说,出乎意料的是,它开始迅速占领学术市场。

原因是四个因素:

有空 反托拉斯法专门监管了电信巨头AT&T和Western Electric的子公司Bell Labs。

1956年,公司与政府达成了一项协议,其条款将其业务限制在核心业务之外。 特别是,与电信没有直接关系的产品的销售应以“名义价格”进行。 这种情况也扩展到了UNIX。 有关情况的法律方面及其后果的更多信息,可以在Peter Salus撰写的“ Quarter Century UNIX ”一书中以及该研究工作中找到

贝尔实验室监管的结果是,学术机构能够以不超过物理副本成本的价格购买操作系统。

专注于小型机。 直到1975年,这种“个人计算机”的概念才出现 。 公众的注意力主要集中在大型机上。 但是小型机(大型机的低功耗替代品)市场已经迅速增长。 很大程度上是由于项目预算有限,UNIX最初是专门为此类计算机开发的。

DEC PDP-11对操作系统的第三版进行了改进,在20世纪70年代下线了17万份。 相比之下,流行的IBM 1401大型机的整个型号的销量不超过2万台。 结果,该操作系统赢得了业余和教育领域的大量用户。

简单性。 大型的单片程序很难编写,甚至很难修改。 UNIX由小模块组成,每个小模块负责一个单独的功能,并且可以轻松更改。 而且,从版本4开始,操作系统几乎完全是用高级C语言编写的(而不是用低级汇编程序编写的)。 结果,大学生更容易弄清楚操作系统的工作原理。

可移植性。 要在不同的体系结构上运行UNIX,只需移植 C编译器,因此,用于新处理器的UNIX工作版本很快出现。 在70年代末开始的微型计算机时代,这一点变得尤为重要。 基于Intel 8086和Motorola 68000的家用计算机的UNIX端口非常受欢迎。

全世界的UNIX用户(主要是学者)积极地为该系统交换软件。 在英国,澳大利亚和日本存在爱好者社区。 1975年,超过40家美国教育机构使用了该操作系统。

BSD的诞生


加州大学伯克利分校是最早积极使用UNIX的学术机构之一。 罗伯特·法布里(Robert Fabry)教授于1973年从肯·汤普森(Ken Thompson)亲自收到了该系统的副本。 该组织的员工很快就爱上了UNIX,并着手开发自己的产品以改进OS。

大学对系统的添加以Berkley Software Distribution(BSD)的名称进行分发。 BSD的第一个版本包括经过修改的Pascal编译器,其代码直接从Thompson获得,以及文本编辑器Ex-现在称为Vi 。 BSD的许多创新都是在UNIX的“正式”版本中实现的。 但是,AT&T对将系统命运的控制权遗忘在公司手中感到不满。

伯克利大学与军事机构DARPA的合作为BSD带来了先进的网络技术,加剧了这种情况。 作为一个学术项目的典型代表,BSD商业许可证的市场价格低至一千美元 -并以数千美元的价格出售。 对于AT&T而言,这是一笔生意的失败。

伯克利公司的员工主要将UNIX代码用于科学目的,而其他公司则将系统的普及视为赚钱的机会。 1978年,第一个商用 C编译器出现了,AT&T决定终止此工作,并在70年代末限制了OS源代码的分发。 该公司的律师恢复了为产品完全货币化并保护其免受第三方修改的权利的斗争。

1983年,贝尔实验室通过法院命令正式从AT&T和Western Electric分离。 UNIX已经成为一种完全商业化的产品,其成本已经上升到数万美元-通常比运行该操作系统的设备贵。


/图片Sam Williams CC BY-SA /理查德·斯托曼(Richard Stallman)

理查德·斯托曼和GNU的诞生


1970年代,Richard Stallman在MIT人工智能系统实验室担任程序员。 他被称为EMACS的作者之一,EMACS是PDP系列小型计算机的文本编辑器。 像当时的许多其他软件一样,EMACS的源代码是自由分发的,最终产品是用户的努力之和。

理查德(Richard)眼前出现了学术发展文化的所有变化。 该大学不再是公开交流思想和软件工具的地方。 即使是最初允许免费分发其程序的UNIX EMACS版本的创建者,也于1983年将其出售给了一家商业发行商。 斯托曼认为这种行为是破坏活动。

他知道需要做一些事情,但是要纠正这种情况并不容易。 免费分发程序没有坚实的法律依据。 这些产品大多数都被简单地认为是“公共领域”,没有什么可以阻止其修改版本的商业化。

此外,专有系统的开发限制了产品的发行,要求用户购买商业软件,从Stallman的角度来看,还需要购买不道德的软件。

Stallman面临两项任务-创建免费操作系统和发行法律基础。 因此,在1983年,GNU项目(GNU的Not Unix)诞生了,旨在成为当时专有平台的开放和改进版本。

使用UNIX作为基础的决定并非偶然-操作系统可移植性吸引了 Richard。 我们将在以下材料之一中描述该项目的开发方式及其产生的原因。



第一个公司IaaS博客中的帖子:


来自Telegram频道的新鲜材料:

Source: https://habr.com/ru/post/zh-CN444438/


All Articles