Other Readings异读 返回作品
字号
主题
下载
下载全书

全书 · v0.1 · 2026-10-11

“硬件之犬的尾巴”:计算机器、软件与服务的历史接合

伊琳娜·卡尔德拉克、马丁娜·莱克 编 · 2015 年原著 · Claude 辅助全译AI 辅助初译,未经人工终校第 2 / 9 单元

“The Tail on the Hardware Dog”: Historical Articulations of Computing Machinery, Software, and Services 克里斯托夫·诺伊贝特(Christoph Neubert)

过去十五年间,计算机产业中面向服务的商业模式的兴起,是支配硬件、软件与服务三者关系的更广泛历史动态的一部分。本文追溯这一三元组不断变化的构型,尤其关注“软件”在若干典型语境中的经济建构、技术建构与社会建构。这些历史证据为分析和批判当下以“服务”来重新接合软件的做法开辟了视角。

没有软件。令人感到一种历史悖论的是:这一论断——弗里德里希·基特勒(Friedrich Kittler)在 1990 年代初以批判的严格性提出,用以反对那种认为人能够掌控看似透明的计算机硬件的意识形态(Kittler 1992, 1993, 2014)——竟与今日计算机产业以“软件即服务”(Software as a Service,SaaS)和“面向服务的架构”(Service-oriented Architecture,SOA)之名所推崇的商业模式遥相呼应。认真对待这一悖论,我将在更宽广的历史视野下审视本书所探讨的从软件到服务的划时代转变这一观念。我的出发点是这样一个观察:硬件、软件与服务之间的区分并不在于事物的本性,而是复杂历史过程的产物。在关键方面,当前软件与服务的趋同恰恰逆转了一种历史发展:“没有软件、只有服务”这一命题,所描述的正是计算机产业直至 1970 年代的典型状况。因此,所谓软件的衰落,必须放在“软件”作为技术人工物、经济商品和社会装置(dispositive)的兴起与转变的背景下加以评估。在目睹其消失之际,一个问题随之而来:软件最初是如何产生的?

系统与程序

在计算领域,“软件”(software)一词首次见诸印刷品,一般归于统计学教授约翰·W. 图基(John W. Tukey)1958 年的用法(Shapiro 2000)。这个词可能更早就已在口头和工作文件中被创造出来,或许出自 1950 年代的保罗·尼奎特(Paul Niquette)(Niquette 2006),甚或早在 1940 年代末出自兰德公司(RAND)数学家梅里尔·弗勒德(Merrill Flood)(Cerruzi 2003, 365, 372)[1]。然而,据《牛津英语词典》(Oxford English Dictionary),“软件”一词直到 1960 年代初才得到较广泛的使用,指“某一特定计算机运行所需的系统程序的总体,包括编译器和库例程,通常由制造商提供,与用户为特定任务提供的程序材料相对”(OED)。

[图 1 略:原图为第三方版权材料。图注:“罐装软件”(Tin Canned Software)(Cybermatics 1971)。]

正如这一描述已经暗示的,历史上的软件概念在若干方面与我们今天的理解截然不同(参见 Haigh 2012[2])。在较狭窄的意义上,这一概念涵盖系统软件,如操作系统、汇编系统、编程工具和编译器。在较宽泛的意义上,软件被认为包括穿孔卡片和磁带之类的媒介,也包括书面文档,乃至系统分析或培训等人类活动。由于软件一方面与计算机硬件紧密相连,另一方面又与各种服务紧密相连,它并不涵盖我们今天视为其本质的东西,即应用程序。区分历史理解与当下理解的第二个方面在于:软件起初并不是商业产品。操作系统(OS)、实用程序和编程工具由硬件制造商免费提供,被视为企业连同硬件设备一起购买或租用的一般服务的一部分。另一方面,用于工资核算、文件系统或会计等具体业务任务的程序则是高度定制的,通常由企业的数据处理人员在内部编写。

长期以来,软件只代表“硬件之犬的尾巴”(Bender 1968, 243)。相应地,自 1960 年代中期兴起的软件产业处于边缘地位,提供的是编程服务而非标准化产品。即便程序以“罐装”解决方案的形式出售(图 1),所提出的交易也包括硬件基础设施、培训和定制。将个别企业开发的程序收购过来,再以许可方式作为套装应用出售给同行业其他客户的最初尝试,直到 1960 年代末才出现,而且收效甚微(Brown 2002;Head 2002)。即便提供一份实用软件解决方案的目录,也未能满足客户的需求或期待(Welke 2002)。为软件付费的想法——尤其是为那些甚至没有根据企业具体需求加以调整的标准化产品付费——似乎毫无道理。常被提及的 1960 年代“软件危机”表现为合格人员的短缺(Ensmenger 2010, 51ff.),而在新兴软件产业中,结构化产品设计和编码劳动的泰勒化(Taylorization)问题直到 1970 年代才变得重要。事实上,“软件工程”(software engineering)一词在“系统软件的专业开发、生产和管理”(OED)意义上,最早使用于 1968 年(Mahoney 2004)。

分时

1950 年代和 1960 年代计算产业所特有的偏向服务的倾向,很大程度上源于高昂的硬件成本。大型主机和小型计算机是昂贵的基础设施,以一种“计算机公用事业修辞”(computer utility rhetoric)的方式提供给客户。正如电力消费者并不自建发电厂一样,“对组织而言,从服务提供商处购买信息处理,会比自己拥有一台大型主机更便宜、更可靠”(Campbell-Kelly and Garcia-Swartz 2007, 752)。支撑这一服务模式的技术被称为分时(time sharing)。分时概念形成于 1950 年代末,其主要动机是通过避免空闲时间来高效利用昂贵的大型主机。分时指的是通过终端连接到一台中央计算机的多个用户(看似)同时进行的访问,在技术上以向并发用户进程灵活分配 CPU 时间为基础。第一个实验性实现——兼容分时系统(Compatible Time Sharing System,CTSS)——于 1961 年在麻省理工学院的一台 IBM 709 计算机上部署,随后于 1963 年推出了运行于 IBM 7094 上的 CTSS II,可供 30 名远程用户访问(Auerbach 1973, 65)。此后数年,IBM、博尔特-贝拉尼克-纽曼公司(Bolt, Beranek, and Newman),以及通用电气(General Electric)与达特茅斯学院(Dartmouth College)合作,又为各种平台开发了更多的分时系统。

分时技术在大学和研究中心发展起来,很容易就转化为一种商业模式。第一家商业提供商亚当斯联合公司(Adams Associates)于 1963 年出现,IBM 则于 1964 年跟进(Auerbach 1973, 65)。即使同年 IBM 推出了 System/360,计算硬件依然昂贵,安装也耗时耗资,因此只有较大的行政机构和企业才负担得起租用乃至购买相应设备并维持所需人员。许多较小的公司将其数据处理活动外包,求助于分时提供商的服务。这些提供商通过公共或专用数据线路提供对计算基础设施的远程访问,包括硬件、编程环境(例如 COBOL、FORTRAN 和 BASIC)、软件包、文件存储和打印服务。客户通常租用所需的终端设备,并按 CPU 时间、连接时间和存储量等参数付费。

拆分

专门的软件产业从以往的硬件与服务经济中独立出来,经历了两个主要步骤。第一步是 1970 年代以来企业软件部门的兴起,伴随着一系列技术、经济和社会创新,包括:产品的标准化,新的商业与营销模式,客户心态的变化,程序员的职业化,软件工程及相应方法(如结构化编程和以软件库形式系统地重用代码)的兴起,高级计算机语言解释器和编译器的开发,以及 IBM S/360 系列等价格可承受且相互兼容的硬件系统的推出(参见 Johnson 2002;Goetz 2002a, 2002b)。

将软件发明为一种独立的经济商品和产品需要付出多大的努力,促使 IBM 放弃将程序与硬件和服务捆绑销售这一做法的一系列事件提供了令人印象深刻的例证。1969 年 1 月 17 日,美国司法部对 IBM 提起诉讼,指控该公司垄断通用计算机市场;服务、软件与机器的捆绑被视为反竞争且违法。反垄断司花了六年时间,才于 1975 年将此案提交审判;又过了六年,此案最终于 1982 年被撤销,当时被认为“缺乏依据”(参见 Johnson 1982;Kirchner 1982)。然而,在筹备这场史上历时最长、耗资最巨的反垄断审判之一的过程中,各方提交了约 300 亿页的文书。审判期间,

共录取了约 2,500 份证词,IBM 汇编了 6,600 万页证据,并存放在专门的仓库中。在诉讼的高峰期,有 200 多名 IBM 律师投入此案,公司每年在他们身上花费数千万美元。[……] 双方传唤了 974 名证人 [……],产生了 104,400 页的证词记录。(Anthes 1989, 65)

在此案审理期间,IBM 发布了内部指令,禁止将程序描述为产品:

我们应当认识到,在广告或演示中脱离机器来讨论[应用]程序,与我们的基本立场不相符,即硬件与包括程序在内的软件是一个不可分割的产品[……]。(引自 Arnst 1977, 4)

另一方面,IBM 对司法部提出的法律问题反应非常迅速。早在 1966 年,在推出 S/360 系列的背景下,一个“拆分(unbundling)特别工作组”就已经成立(参见 Grad 2002;Humphrey 2002);1969 年 6 月 23 日,IBM 宣布决定对硬件、软件和服务分别定价。这一天被视为软件产业的诞生日,或“软件公司的独立日”(Gibson 1989, 6);不过回头来看,IBM 的这一决定更可能不是新兴商业部门的原因,而是其症候或结果。无论如何,拆分事件生动地展示了软件独立所引发的种种复杂性。

大众市场与定价模式

在 1960 和 1970 年代企业部门的种种纷争之后,迈向软件作为产品的第二个主要步骤,与 1980 年代以来个人计算机(PC)日益增长的影响相关,后者开辟了消费软件的大众市场(参见 Campbell-Kelly 2001)。PC 充当了套装软件应用的宿主,这些应用以收缩膜包装的盒子形式提供给客户;而这种软件反过来又在计算机硬件的驯化(domestication)——即硬件融入办公室和私人家庭环境——中发挥了重要作用。与此同时,OSI 参考模型所表述的分层架构和协议栈概念使得为计算机互联建立基本标准成为可能,从而开启了企业计算的终端-主机逻辑向内联网和互联网的客户端-服务器逻辑的转变。联网计算与万维网为客户端和服务器操作系统(Novell Netware、Microsoft NT)、网页浏览器(Netscape、Microsoft)、网页出版软件(Macromedia、Adobe)和杀毒软件(Symantec)开辟了新的软件市场。

互联网业务很快就模糊了服务、企业软件和消费软件这几个经济部门之间的区分,其顺序恰与它们的历史出现顺序相反:微软等大众市场厂商进入了企业软件业务,后来消费软件厂商和企业软件厂商又都转向了服务(参见 Campbell-Kelly and Garcia-Swartz 2007, 736f.)。互联网还促成了程序协作开发的新形式,由此催生了开源(Open Source)运动。开源软件和“自由”软件——尤其是 Linux——的影响,连同其他趋势,如移动媒介和小型设备的兴起、2000 年前后互联网经济的崩溃,以及硬件和专有软件日益商品化,导致了 1980 年代确立的软件产品范式的衰落,并催生了新的价值创造策略。在此背景下,一个有趣的发展是设备模式(appliances model),它回到了将专有软件与硬件捆绑为盒装产品的思路(Hein 2007)。这一意义上的设备既包括游戏主机、mp3 播放器、导航设备和各类个人小型设备等消费产品,也包括路由器或专用于电子邮件和防火墙服务的设备等企业设备。另一种策略则为非软件产品搭建营销平台,如音乐下载或电子书、多媒体内容的流媒体传输、社交和商业服务的推广,或将“免费”软件与广告捆绑。

这些变化表明,计算机产业总体上从垂直整合转向水平整合,并转向下游收入和服务。剩下的软件厂商因此被推向新的定价模式:

传统的产品销售和许可费用已经下降,产品公司的收入已转向服务,例如年度维护费,用户凭此可获得补丁、小幅升级,通常还有技术支持。(Cusumano 2008, 20)

除维护费外,传统的一次性预付许可费已被订阅或按使用付费模式所取代,这些模式确保了稳定的收入流,即便在经济衰退期间亦然。这类定价模式对产品的规划、版本管理和维护产生了深远影响(Olsen 2006)。特别是,由于新软件版本和升级的开发主要出于营销需求,即“制造出一种新产品的错觉,以证明反复转售本质上同一种商品是合理的”(268),订阅模式消除了发布周期所带来的断裂效应。另一方面,软件订阅往往造成客户锁定(lock-in),这对小企业和自由职业者尤其成问题(关于 Adobe 当前所采取政策的例子,参见 Leistert 2013)。

云的架构

与以“服务”之名推广订阅截然不同的,是以网络服务(web services)的形式提供软件应用功能的设想:厂商不再交付一份软件副本供客户在其场所安装运行,而是将软件托管在自己的服务器上,并通过互联网提供访问。这种商业模式高度依赖网络和服务器性能等技术因素,因而引出了较新的云计算范式。根据美国商务部国家标准与技术研究院(National Institute of Standards and Technology,NIST)给出的定义,云计算包括三个层次的服务(Mell and Grance 2011):基础设施即服务(Infrastructure as a Service,IaaS)指提供计算资源(处理、存储、网络),这些资源可以像本地硬件一样被配置,供客户用来“运行任意软件,其中可包括操作系统和应用程序”(3)。底层的虚拟机器又运行在一个资源池化的分布式云基础设施之上。平台即服务(Platform as a Service,PaaS)模式指虚拟开发环境,其中已包括操作系统,以及“由提供商支持的编程语言、库、服务和工具”(2f.)。最后,SaaS 代表了云计算的最高集成层次。在此,客户使用服务的功能,而无需在操作系统、开发环境或应用软件层面管理任何基础设施(参见 Gajbhiye and Shrivastva 2014;Crago and Walters 2015)。

在技术上,SaaS 的实现遵循面向服务的架构的框架(Laplante, Zhang and Voas 2008)。SOA 将面向对象编程的逻辑扩展到商业服务上,从算法和控制结构转向以特定属性、功能和接口来定义的软件组件;这些组件应在分布式软件系统的语境中无需中央控制而相互作用。例如,一家网店可能会调用由不同厂商提供的多项服务,包括数据库管理、支付服务和物流服务,而每一项服务又会调用若干下级服务,如网页表单处理、推荐系统或追踪选项。这些组件仅是松散耦合的,也就是说,在单个流程中,服务按需被调用,其发现、选择和绑定以不可预测的方式“即时”(on the fly)完成(参见 Turner, Budgen, and Brereton 2003;Gold et al. 2004)。这一语境中的活动不再被构想为传统意义上的编程;核心的过程隐喻转而指向音乐和舞蹈领域的审美实践——“作曲/组合”(composition)、“编舞”(choreography)和“编排/配器”(orchestration)。

在经济上,SOA 和 SaaS 与业务流程管理融合得天衣无缝。服务的组合由特定的软件工具完成,如业务流程建模语言(Business Process Modeling Language,BPML)——一种基于 XML 的标准,旨在为经济工作流与计算工作流之间提供高效的转译。BPML 后来被网络服务业务流程执行语言(Business Process Execution Language for Web Services,WS-BPEL)所取代,后者主要由 IBM 和微软开发,并由 OASIS 联盟(结构化信息标准促进组织,Organization for the Advancement of Structured Information Standards)提升为行业标准(参见 Turner, Budgen, and Brereton 2003;Candan et al. 2009)。在此语境中,软件不仅不再是一种产品,也不再是用于完成特定业务任务的工具:相反,两个领域似乎在实现古老的控制论之梦的过程中趋于融合,即业务本身成为纯粹编程(亦即音乐和舞蹈)的事务。

隐藏的环境

上文的历史概述或许能从几个方面帮助我们理解当前的服务导向。首先,显而易见的是,硬件、软件与服务之间的边界以及三个领域之间的关系是流动的,在概念、技术和经济层面上处于持续的历史变化之中。其次,硬件和服务分别符合经典的经济商品定义,代表着相当稳定的概念,而软件的地位则一向成问题。由于软件的价值取决于配置、定制、维护和培训,它始终与服务紧密耦合。收缩膜包装盒的独立似乎只代表一个过渡阶段;即便在消费市场,复杂而昂贵的应用程序如今也正在被廉价的应用所取代,而这些应用在许多情况下充当的是远程服务的界面。第三,从经济角度看,产品与服务之间并无泾渭分明的区分,二者毋宁说是一个连续统的两端。不同的商业模式可能依赖不同的策略,将产品“服务化”(servitize)或将服务“产品化”(productize)(Cusumano 2008, 26)。综合来看,支配硬件、软件与服务之间关系的,在微观和宏观经济层面上似乎都并非简单的线性趋势,而是循环的或其他形式的动态(参见 Cusumano 2003, 2008;Suarez, Cusumano, and Kahl 2013)。因此,当下软件和计算机基础设施作为服务的繁荣,可以被视为 1950 和 1960 年代硬件与服务计算经济之本质方面的复兴。

毕竟,没有软件。基特勒这一思辨而夸张的格言,提出于套装比特盒子的全盛时期,显然受到了使用运行微软操作系统的个人计算机的亲身经验的启发。但它的意涵更为普遍,指向一种不可避免的策略性迷惑,它使铭刻在硬件中的政治与权力关系变得不可见。今天,硬件和软件从“用户体验”的焦点中退隐,被认为应当成为环境的一部分——“云”作为一种包罗一切的大气隐喻,或城市、家庭、衣物乃至人体之类较小的领域。在马克·维瑟(Mark Weiser)提出普适计算(Ubiquitous Computing)的议程之前,晚年的马歇尔·麦克卢汉(Marshall McLuhan)就以汽车为例强调了媒介的环境逻辑。麦克卢汉认为,媒介不是车辆,而是基础设施,他进一步将其描述为“隐藏的服务环境”(hidden environment of services)(McLuhan 2005, 242)。因此,“服务”概念从一开始就将经济与一种媒介生态联系在一起——不过,这是一种控制论类型的受管理的生态,它被调校为趋向操作闭合与黑箱化。特别是,如果说软件承诺以算法的方式灵活控制硬件,那么服务则代表了以功能的方式灵活控制算法的可能性。软件封装了硬件,服务则同时封装了硬件与软件。在服务时代,硬件和软件都运行在保护模式(protected mode)之下。

编码服务

那么,基础设施真实的政治与生态条件是什么?云的物质与能量资源是什么,它们如何被管理、在何处、由谁管理?软件产业中的劳动条件如何因服务范式而发生转变?作为一个恰当的例子,我们可以考察极限编程(Extreme Programming,XP)或敏捷编程(Agile Programming,AP)之类的方法(Beck 1999;Beck et al. 2001),它们在历史上和系统上都与 SOA 和云计算相关联(Guha and Al-Dabass 2010;Baliyan and Kumar 2014)。为了满足对不断变化的需求做出高度响应的要求,传统的开发与生产周期被放弃,转而追求工作流的全面加速。“敏捷”范式背离了结构化编程和软件生产的工厂模式的核心原则,认为周密的规划和详尽的文档是有害的。《敏捷宣言》(“Agile Manifesto”)及相关评论(Beck et al. 2001)读来是工作方法与道德价值的一种奇特结合,产生了一种以效率、生产力和客户满意度为导向的工作伦理。尽管它强调“个体性”“自由”和“尊重”等范畴,但许多被推荐的原则和方法实际上令人想起杰拉尔德·温伯格(Gerald Weinberg)在 1960 年代末提出的“无我编程”(egoless programming)理论(Weinberg 1971, 47ff.;参见 Ensmenger 2010, 212–217)。

例如,在较小的项目中,所有团队成员应在同一房间内,保持持续沟通,并实行自我监控和相互纠正,XP 中的结对编程尤其鼓励这一点。任务和角色被灵活分配,并且应当轮换;团队成员与客户直接接触,以便对客户的反馈立即作出反应。程序员得到奖励,不是因为个人技能和能力,而是因为个人投入。工作由作为集体主体的团队完成。层级尽可能扁平,应避免中央控制。因此,在许多方面,敏捷及相关方案相当于编码技术与自我技术(technologies of the self)的趋同(参见 Neubert 2016)。显然,编舞、面向对象编程、整齐的周期、即时绑定和灵活工作流等经济理念,又在编程实践的层面上重新出现。如同服务基础设施的其他部分一样,人类程序员属于一个资源池,可被随意调配并按需响应。在敏捷方法中,云变得自我指涉。人力资本管理(Human Capital Management,HCM)成为最有利可图的服务之一,并非巧合。如果说结构化编程与软件工程的泰勒化相关联(Mahoney 2004),那么“敏捷”编程及相关方法则代表着朝向新自由主义的、或许甚至是后自由主义的编码主体之方法又迈进了一步。

毕竟,软件肯定是大量存在的。因此,我们或许必须调整基特勒的启发式命题:没有服务。

参考文献 (References)

Anthes, Gary H. 1989. “Rearview Mirror.” Computerworld, March 2: 63–65.

Arnst, Catherine. 1977. “Bundled Pricing Illegal, 1968 IBM Memo Admits.” Computerworld 11 (48), November 28: 1, 4.

Auerbach. 1973. Auerbach Guide to Time Sharing. Philadelphia, PA: Auerbach Publishers.

Baliyan, Niyati, and Sandeep Kumar. 2014: “Towards Software Engineering Paradigm for Software as a Service.” IC3, 2014 Seventh International Conference on Contemporary Computing (IC3): 329–333.

Beck, Kent. 1999. Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley.

Beck, Kent, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. 2001. “Manifesto for Agile Software Development.” agilemanifesto.org. Accessed April 1, 2015. http://agilemanifesto.org/.

Bender, David. 1968. “Computer Programs: Should They Be Patentable?” Columbia Law Review 68 (2): 241–259.

Brown, Walter. 2002. “Founding Atlantic Software.” IEEE Annals of the History of Computing 24 (1): 80–82.

Campbell-Kelly, Martin. 2001. “Not Only Microsoft: The Maturing of the Personal Computer Software Industry, 1982–1995.” The Business History Review 75 (1) (Computers and Communications Networks): 103–145.

Campbell-Kelly, Martin, and Daniel D. Garcia-Swartz. 2007. “From Products to Services: The Software Industry in the Internet Era.” The Business History Review 81 (4): 735–764.

Candan, K. Selcuk, Wen-Syan Li, Thomas Phan, and Minqi Zhou. 2009. “Frontiers in Information and Software as Services.” IEEE 29th International Conference on Data Engineering (ICDE): 1761–1768.

Ceruzzi, Paul E. 2003. A History of Modern Computing. 2nd Edition. Cambridge, MA; London: The MIT Press.

Crago, Stephen P., and John Paul Walters. 2015. “Heterogeneous Cloud Computing: The Way Forward.” Computer 48 (1): 59–61.

Cusumano, Michael A. 2003. “Finding Your Balance in the Products and Services Debate.” Communications of the ACM 46 (3): 15–17.

Cusumano, Michael A. 2008. “The Changing Software Business: Moving from Products to Services.” Computer 41 (1): 20–27.

Cybermatics. 1971. "Tin Canned Software." Advertising. © Cybermatics Inc. Computerworld 5 (46), November 17, 1971: 39.

Ensmenger, Nathan. 2010. The Computer Boys Take Over. Computers, Programmers, and the Politics of Technical Expertise. Cambridge, MA; London: MIT Press.

Gajbhiye, Amit, and Krishna M. Shrivastva. 2014. “Cloud computing: Need, Enabling Technology, Architecture, Advantages and Challenges.” Confluence. The Next Generation Information Technology Summit. 5th International Conference 25-26 Sept. 2014: 1–7.

Gibson, Stanley. 1989. “Software industry born with IBM’s unbundling.” Computerworld 23 (25), June 19: 6.

Goetz, Martin. 2002a. “Memoirs of a Software Pioneer: Part 1.” IEEE Annals of the History of Computing 24 (1): 43–56.

Goetz, Martin. 2002b. “Memoirs of a Software Pioneer: Part 2.” IEEE Annals of the History of Computing 24 (4): 14–31.

Gold, Nicolas, Andrew Mohan, Claire Knight, and Malcolm Munro. 2004. “Understanding Service-Oriented Software.” Software, IEEE 21 (2): 71–77.

Grad, Burton. 2002. “A Personal Recollection: IBM’s Unbundling of Software and Services.” IEEE Annals of the History of Computing 24 (1): 64–71.

Guha, Radha, and David Al-Dabass. 2010. “Impact of Web 2.0 and Cloud Computing Platform on Software Engineering.” International Symposium on Electronic System Design ISDE 2010: 213–218.

Haigh, Thomas. 2002. “Software in the 1960s as Concept, Service, and Product.” IEEE Annals of the History of Computing 24 (1): 5–13.

Head, Robert V. 2002. “The travails of Software Resources.” IEEE Annals of the History of Computing 24 (1): 82–85.

Hein, Bettina. 2007. 0+0=1: The Appliance Model of Selling Software Bundled with Hardware. Master Thesis, Massachusetts Institute of Technology.

Humphrey, Watts S. 2002. “Software Unbundling: A Personal Perspective.” IEEE Annals of the History of Computing 24 (1): 59–63.

Johnson, Bob. 1982. “Justice Department Decides IBM Case ‘Without Merit’.” Computerworld 26 (3), January 18: 1, 8.

Johnson, Luanne. 2002. “Creating the Software Industry: Recollections of Software Company Founders of the 1960s.” IEEE Annals of the History of Computing 24 (1): 14–42.

Kirchner, Jake. 1982. “Bigness not Bad, Baxter Explains.” Computerworld 26 (3), January 18: 1, 8.

Kittler, Friedrich. 1992. “There is no Software.” Stanford Literature Review 9 (1): 81–90.

Kittler, Friedrich. 1993. “Es gibt keine Software.” In Writing/écriture/Schrift, edited by Hans Ulrich Gumbrecht. München: Fink.

Kittler, Friedrich. 2014. ”Protected Mode.” In Kittler, The Truth of the Technological World: Essays on the Genealogy of Presence. Translated by Erik Butler, 209–218. Stanford, CA: Stanford University Press.

Laplante, Phillip A., Jia Zhang, and Jeffrey Voas. 2008. “What’s in a Name? Distinguishing between SaaS and SOA.” IT Professional 10 (3): 46–50.

Leistert, Oliver. 2013. “Mietmodell Software Adobe.” Pop. Kultur & Kritik 3: 39–42.

McLuhan, Marshall. 2005 [1974]. “Living at the Speed of Light.” In Marshall McLuhan. Understanding Me. Lectures and Interviews, edited by Stephanie McLuhan and David Staines, 225–243. Cambridge, MA: MIT Press.

Mahoney, Michael Sean. 2004. “Finding a History for Software Engineering.” IEEE Annals of the History of Computing 26 (1): 8–19.

Mell, Peter, and Timothy Grance. 2011. The NIST Definition of Cloud Computing: Recommendations of the National Institute of Standards and Technology. U.S. Department of Commerce. NIST Special Publication 800–145.

Neubert, Christoph. 2016. “Software/Architektur. Zum Design digitaler Dienstbarkeit.” In Dienstbarkeitsarchitekturen. Vom Service-Korridor zur Ambient Intelligence, edited by Markus Krajewski. Tübingen: Wasmuth. (forthcoming)

Niquette, Paul. 2006. “Softword: Provenance for the Word Software.” niquette.com. Accessed April 1, 2015. http://www.niquette.com/books/softword/tocsoft.html.

OED. S.v. “software, n.” Oxford English Dictionary Online. http://www.oed.com/view/Entry/183938.

Olsen, Eric R. 2006. “Transitioning to Software as a Service: Realigning Software Engineering Practices with the New Business Model.” Service Operations and Logistics, and Informatics. SOLI ‘06. IEEE International Conference, 21-23 June 2006: 266–271.

Shapiro, Fred A. 2000. “Origin of the Term Software: Evidence from the JSTOR Electronic Journal Archive.” IEEE Annals of the History of Computing 22 (2): 69–71.

Suarez, Fernando F., Michael A. Cusumano, and Steven J. Kahl. 2013. “Services and the Business Models of Product Firms: An Empirical Analysis of the Software Industry.” Management Science 59 (2): 420–435.

Turner, Mark, David Budgen, and Pearl Brereton. 2003. “Turning Software into a Service” Computer 36 (10): 38–44.

Weinberg, Gerald. 1971. The Psychology of Computer Programming. New York, NY: Van Nostrand Reinhold.

Welke, Lawrence. 2002. “Founding the ICP Directories.” IEEE Annals of the History of Computing 24 (1): 85–89.

注释