本文来自微信公众号:XYY的读书笔记(ID:xiaoyanyan00002),作者:肖俨衍,原文标题:《【读书】软件产业发展史:从定制到产品,从企业到大众》,题图来自:视觉中国
本文来自微信公众号:XYY的读书笔记(ID:xiaoyanyan00002),作者:肖俨衍,原文标题:《【读书】软件产业发展史:从定制到产品,从企业到大众》,题图来自:视觉中国
软件产业发展开始于1950年代,此后演变成6000亿美元规模的产业。从最开始的项目制为主、主要服务于商业大型机的模式,到后来面向大众市场软件企业兴起(互联网也算软件行业一个分支吧),微软这样巨头产生。软件行业发展的核心历程是什么?独立软件企业发展的拐点在哪里?美国软件产业又缘何引领全球发展?请看这篇。
书籍:《A History of the software industry》by Campbell-kelly,这本书来自MIT出版社,出版于2003年,作者是来自Warwick大学的学者,专注于计算机历史研究。本书系统从软件产业发展各个阶段梳理行业发展来龙去脉,分析系统,数据详细,很值得一读。需要注意的是,此本书以美国软件产业历史为绝对主体,对其他国家软件行业发展回顾较少。
一、行业综述:从宏观数据看软件产业
软件行业发展史梳理可以从时间、业务模式、业务特点(售价、销量等)三个要素来进行划分。从时间来看,本书核心描述软件行业1950年到2000年左右50年发展历史,分阶段陈述。
从业务模式来看,软件行业分为项目制、企业软件和消费者软件三大类,其中最初发展的是项目制(1950年代开始),核心是为商业大型机定制化开发软件,这些项目一个金额可以高达100万美元(当时很值钱);其次是企业软件,标准化后企业软件可以销售给更多企业客户,其授权费大部分在5000美元到10万美元之间,销售量从几百到几千不等;而面向消费者企业软件则兴起于PC崛起年代,其售价大约在100到500美元,销售量可以很多。
软件行业规模数据
美国软件行业历史数据来自INPUT等数据来源,美国软件市场从1970年不到10亿美元提升至2000年1387亿美元,30年CAGR达到18%。从分类来看,系统软件、应用软件占比不断提升,编程服务最开始占比很高,1970年占比超过70%,到2000年占比不到30%。应用软件占比也不断提升,从最开始1970年10%提升至2000年接近50%。可见软件行业发展过程从某个维度看,就是产品不断标准化的过程。
图二则可以看到非美国市场软件发展情况,从这个数据可以看出,美国市场始终是全球软件市场半壁江山,虽然1982到1990年占比有所降低。其次,非美国市场例如日本软件市场核心国内产业主要是编程服务(143亿美元里面,79亿美元是编程服务),而这些市场软件销售几乎被美国产品包办,这也是这本书虽然名为软件行业史,但实际上核心写的是美国软件产业发展史的原因。
二、缘起(1950年代):软件“包工头”,编程语言和编程人才培育期
IBM是早期主要软件提供商
1950年代,早期软件获取来源主要是三种,第一种是自己开发,第二种是从硬件厂商例如IBM获取,第三种是软件互相分享。早期计算机用户主要是IBM商业大型机用户,这些客户基本标配一个庞大的程序员团队,比如IBM 701月租金是1.5万美元,但是需要配置一个30人的团队,月薪基本350美元。
GE早期购买了Univac的计算机,但花了两年时间才将基本的会计软件部署落地。当然,基于对于商业大型计算机市场垄断,IBM自然而然就成为软件主要提供商,不过当时并不是提供标准化产品,而是非标的定制化编程服务。
作为企业服务行业奠基者,IBM早在卡片式计算机时代就积累了强大的企业服务能力,这些能力在计算机时代得到复用,而这种服务能力也成为了IBM相对于纯硬件厂商例如RCA,Honeywell的核心优势。1953年IBM第一款计算机产品推出,对于IBM 的Applied Science Division是提供编程服务核心部门,其第一年为71名客户完成了100个应用项目,这里面核心软件类型包括底层bootstrap等底层框架。
SHARE计划
早期IBM机型客户需要自己开发软件,这些软件必然就有很多其实是重复劳动。此外,单个编程项目成本极高,达到1000万美元(1950年代),这样互相之间的资源分享就很有价值,1952年Digital Computer Association成立,成员之间经常进行沟通,1954年IBM 704推出后,SHARE成立。
以汇编程序为例,其初期开发者是United Aircraft Corporation,其他会员要复制这个项目成本至少2.5万美元,而会员分享节省了150万美元。SHARE成立第一年,会员成员达到62个,分布于美国、加拿大、法国、英国等市场,这些成员拥有74台IBM 704。IBM官方也开始组织类似SHARE的组织——GUIDE,也成为当时全球最大的会员俱乐部。
编程语言Fortran和Cobol,提效软件开发
早期软件开发必须采用机器语言,一个指令接着一个指令,还需要汇编程序配合,效率低下,编程过程痛苦。一个关键突破就是编程语言的发明,一条编程语言可以代表好几个机器指令,编程提效5~10倍。Fortran是早期最重要的编程语言,基于IBM 704,其发明者是JohnBackus,是IBM 技术计算局的领导。
1957年,Fortran正式推出,通用汽车估计其提效5~10倍,即使考虑计算机需要更多时间来编译,其仍然提效2.5倍,网络效应很快让Fortran成为了科学和工程领域的编程标准语言。另外一个重要编程语言是COBOL,1959年美国国防部召开会议想开发一个标准的商业分析编程语言,官方认证的身份,1962年COBOL成为商业数据分析领域标准编程语言。
SDC:编程人才培育
1949年,苏联引爆了原子弹,美国一下没有了安全感,国防部开始组织技术评估,看看哪些系统需要升级,一系列升级提案里面就有基于计算机的自动化数据处理。1954年,SGAE,半自动化的国防网络立项,1950年代,IBM从SAGE项目获取收入达到5亿美元,其投入人力达到7000~8000人,占公司员工数25%,实际上来自政府国防项目,是推动IBM拿到计算机王冠底层核心驱动。
这个项目其他参与公司包括RAND,其估计自己雇佣了当时美国10%顶级程序员——25名,可见当时程序员是何等稀缺。由此,培养编程人才成为重中之重,1956年RAND开始以50名/月速度开始招募程序员(当然不要工作经验,而是选取有潜力的年轻人培养)。1956年,RAND系统开发部门独立成System Development Corporation(SDC)。
1959年,为SAGE工作的程序员有700名,支持人员1400名,据说已经达到全美编程人才的一半,早期每一行编程代码的成本高达50美元,SAGE项目的编程成本是1.5亿美元,但整个项目的成本高达80亿美元,说这些大项目孕育了美国科技产业不为过。1960年末,SDC员工有3500名,而为其工作过的员工有4000多,这些都是软件产业发展的源动力。
大型实时订票系统SABRE
实时响应的软件仍然是技术要求最高的领域,比如机票预订(订票系统需要实时维护飞机位置使用/闲置状态,同时实时更新旅客信息),银行转账,零售系统等,IBM用Teleprocessing专有名词来代表这些实时软件系统。
IBM和美国航空(American Airlines)联合打造SABRE大型订票系统是第一个商用实时软件系统,其研究-开发周期超过了10年。1953年,正是IBM的老板小Watson想全力推动计算机转型时刻,美国航空老板和他谈到订票系统,Watson很快认可这个创意,虽然计算机技术不但成熟,1959年这个系统以3000万美元预算正式开始研发(对于SAGE的80亿美元,民用项目小很多,但已经是当时最大的民用软件项目),SABRE用200名程序员开发了5年,其总共包含50万行代码。
1962年SABRE开始部署,1965年全民落地使用,每天处理8.5万电话,4万个用户预订,2万张票务销售,其能够每分钟接受2100名旅客预订,响应时间仅有3秒。分析师预计AA美国航空在SABRE上投资回报率至少25%,是一门划算的生意。
IBM此后和Pan American,Dealta航空都签订了类似的定制合同。除了航空预订外,银行也开始积极拥抱计算机,美国银行以3100万预算找GE定制了一个实时转账系统,1962年正式部署落地。进入1960年代,来自国防部的预算开始显著降低,软件行业重心也逐步从军用转为民用。
软件项目定制公司
大型公司养得起编程团队,中小公司就不一定,随着编程人才成熟,中小型软件定制公司开始出现,这些公司基本上都由一位兼具技术和营销能力的出色人才创建,技术能力能够帮客户解决问题,而营销能力则能够让公司获取收入。甚至很多中小公司都不需要自己购买计算机,他们可以用客户的计算机来帮他们开发软件,轻资产模式运行。
Computer Usage Company(CUC)成立于1955年,是美国第一个软件定制公司,其创始人Sheldon是原IBM技术计算局负责人。从工程项目(Sheldon私人资源)模拟流体运动等项目做起,到接受NASA庞大仿真预算,公司开始拓展到商用软件和系统软件领域。1962年,CUC有240名员工,收入200万美元,利润6万美元(利润率只有3%)。
Computer Science Corporation(CSC)是成立于1950年美国著名软件企业,早期也是基于开发商业软件编译器项目而生(产品叫FACT)。不过FACT开发周期一再延期(在软件开发中很常见),使得客户开始倾向于采用固定周期固定报价体系(而不是前期开放周期),一旦延期还会有惩罚。
整体来看,1950年代软件行业还在孕育期,最早的软件是IBM商用机的捆绑产物,是免费赠送的。而大型企业经常自己开发软件,通过SHARE等共享软件。早期软件公司、软件人才等都是大型国防项目驱动的,但后来逐步转成民用,大型系统例如SABRE开发的技术基础同样来自军用项目,而中小企业编程需要崛起催生了多数软件项目定制公司(早期软件企业)。
三、编程服务是主流,go-go year泡沫(1960年代)
四大细分赛道
1960年代,软件行业(Software industry)这个称呼还没有成熟,更流行的叫法是计算机软件和服务(Computer software and services),这段时间成千上万的新公司加入软件行业,直到催生了1960年代末的go-go years科技股泡沫(类比2000年dotcom)。这段时间,软件服务行业逐步分化成为四个细分赛道:编程服务(Programming),处理服务(Processing),设备管理和实时服务(teleprocessing service)。
编程服务是小公司创业核心领域,正如前文所言,这些小软件服务公司一般由一个资深的程序员组成,且很多时候都带着项目创业(搞定第一个项目)。处理服务则是为没有计算机公司提供数据处理服务,IBM早在1930年就提供类似服务,由于早期数据传输介质是实体的(卡片、磁带等)且需要递送到计算机,所以早期处理服务都是本地的。
设备管理则恰好相反,是程序员组成的公司为拥有计算机但没有维护能力的公司提供计算机维护管理服务。实时服务则是基于电话线出租计算机时间,类似云计算服务,后期也出租绑定软件(SaaS),一般定价10~20美元/小时。在这四个赛道中,第一个编程服务进入门槛最低,因此是中小企业创业核心赛道。1968年,相关数据估算美国有2800家软件服务提供商。
编程服务成功关键——营销、产品管理
1960年代早期,最大的编程服务客户仍然是美国政府和计算机制造商(IBM),最有趣的项目是那些大型实时软件系统(民用赛道用得少),只有SDC这种大型软件服务公司可以成为这种大型系统主承包商,而中小企业则主要是二级承包商,当时即使是提供程序员时间都是稀缺生产力,程序员时薪是10美元,是平均水平的3倍以上。
对于中小创业公司,获取项目最重要的事情是获得这些大客户的信任,比如Informatics,其早期通过RADC纽约项目获取了信任,此后获得了几百万美元项目,此后还拿到了国防部项目。这些公司也开始将明星程序员推向前台,通过广告展示自己研发实力来争取合同,也通过赞助一些行业专业会议等进行营销,软件服务公司销售费用率接近15%。
产品管理十分关键,因为编程服务公司当时利润率只有8%~15%,如果其采用固定时间和固定价格模式,任何产品延期或者bug都可能使得项目无利可图,而由于软件系统开发延期几乎无处不在,尤其是早期系统管理软件开发流程并没有成熟经验(SAGE系统等开发积累一些初步经验,直到1970年代软件开发才有通用流程比如问题分析,系统分析,系统设计,编程,测试和debug。1970年代,结构化编程取代了流行了20年的Autoflow流程软件开发,至此,programmer和coder变得没有区别),因此产品项目管理成为编程服务公司核心竞争力,而早期有成功项目开发管理经验的人则成为行业最稀缺资源。
先聚焦,后多元化
对于创业公司,先期聚焦特定领域是赢得客户信任,奠定公司基础核心方式,比如CSC从最开始项目就聚焦编程编译器,做完Honeywell的FACT编译器后,其获取了一系列类似的项目,并且拿到Univac1107全系列系统软件开发订单,并且在系统软件领域积累了声誉。Informatics则聚焦在实时软件领域,其70%订单都来自这个领域。
而对于编程服务公司来说,聚焦特定领域也能够最快积累Code asset,因为不同客户类似需求可以用类似代码解决,因此这些资产对于高效解决问题很重要,其也是软件产品的前身。然而,随着CSC,SDC等大型软件企业发展,他们都确认编程服务只是低利润率的生意,且随着更多中小竞争对手加入,以及IBM等硬件厂商迅速增强自己的编程软件能力,这些变化都进一步降低了利润率,多元化发展刻不容缓。
以CSC为例,其1968年上市,1969年公司营收1亿美元,3200名员工。1966年其进入Processing Service处理服务业务,其学习对手ADP开发特定软件,从而基于处理交易收费(类似SaaS),这套系统投资达到1亿美元,然而这套系统在go-go years泡沫破裂后最终引起了巨大的麻烦,可见多元化本身就是一种风险,福兮祸所伏。
其他国家软件发展。初期慷慨的政府投资使得美国软件行业赢得了相对于欧洲软件行业3~5年的优势,到1962年美国厂商拿到了欧洲软件市场75%份额。缺乏庞大市场,以及政府预算支撑,欧洲软件厂商很难有竞争力。不过欧洲各国政府面对美国软件入侵,也进行针对性反应,英国成了ICL(International Computers Limited)国家计算中心,不过其整体发展更基于个体,像硅谷。
法国则成了SEMA,受益于法国庞大国防预算,到1967年其拥有2000万美元营收,1500名员工;德国的编程服务产业受限于联邦制度,但可能恰好因为这样限制到1970年代其软件产业很快发展(SAP等),意大利和荷兰软件产业也有一定发展。
Go-go years泡沫
1960年代软件产业迅速发展,大量新公司涌入掀起了资本浪潮,尤其到1960年代末尾,计算机股票热潮开启,即使是大白马IBM,其股价也从1957年到1966年涨了6倍,市值达到400亿美元,PB达到7倍(PE50,60倍,这段时间巴菲特的传记里面也有写,他说白马公司卖到50~60倍也是不应该考虑的)。
而软件公司则更甚,University Computing公司股价从上市1.5美元涨到155美元,市值达到6亿美元,其营收才1700美元,PS达到35倍。对于软件企业,100倍以上的PE很常见,Informatics宣布进入处理服务业务后,其PE高达200倍(后来涨到600倍),公司也抓住机会不断增发融资,打造出了传奇软件Mark iv(泡沫也不全是坏事)。
1969年,IBM宣布解绑软硬件,给予软件产业独立定价让市场进一步疯狂的理由,这段时间软件公司以疯狂的速度上市,而市场也是一个极度怕错失的状态,go-go year意思就是“来不及分析了,赶快上车”。
不过泡沫注定有消去的那一天。1969年,美国经济陷入衰退,1970年开始计算机股票也不行了,1970年计算机销售量同比下跌20%,IBM营收历史上第一次下滑,而GE等企业宣布退出计算机市场,更惨的可能是那些在泡沫化周期大规模多元化的软件企业,CSC,UCC,CAI进军了实时服务(Teleprocessing),投资巨大,但是市场需求却不及预期,雪上加霜。
这个类似早期云计算模式的业务从未壮大,随着后来mini计算机(相对大型机而言)推广,进一步式微。1972年CSC宣布投资减记6280万美元,股价从1968年60美元高点跌至2美元。Informatics实际上还算保守的,但是其新兴数据服务业务运营亏损每月达到10万美元,1970年公司宣布亏损420万美元,1974年其成为客户Equitable 保险的子公司(易主了)。实际上,到1971年,一半在1966~1969期间成立的软件公司都消失了,程序员的稀缺性也消失了,15%的程序员失业。
整体来看,这段时间是编程服务模式成熟期,大量新公司利用编程服务低门槛进入新兴行业,而大公司则因为主业竞争激烈而选择多元化,开拓实时服务等大投资的新项目。软件行业迅速发展引起了资本市场关注,引起了软件股票泡沫,但随着经济下行泡沫破裂,50%软件企业倒闭,行业进入重塑期。
四、软件产业萌芽(1965~1970)
标准软件产品诞生底层原因
到1960年代下半段之前,计算机用户大部分软件都是定制化产生的,或自己写,或外包给编程服务公司写,只有底层系统软件一般是硬件厂商提供。然而,随着计算机数量不断增加,这种模式效率低下明显不够用了,一方面大量中小型企业开始拥有计算机,这些企业甚至连外包编程公司预算可能都没有,计算机使用问题对他们变成了信息问题——到处寻找可用软件购买。
另一方面,随着计算机拥有量不断上涨,定制化编程导致程序员也不够用了,人力供给不足也导致标准化软件产品开发势在必行。最后,摩尔定律不断发展,计算机硬件能力不断提升,也使得软件开发成本不断提升。
以IBM系统软件为例,其代码行数每5年就涨10倍,这导致系统软件开发成本占IBM研发费用比例从最初的10%提升至40%,IBM OS/360适配传奇360型号主机,底层操作系统开发成本高达5000万美元。软件开发成本在最初计算机系统中只占20%,硬件占80%,有相关研究表明最终这个比例会反过来。因此,软件定制化成本越来越高,也使得标准化软件产品价值越来越高。
捆绑软件时代
早期软件产品是免费的,SHARE时代人们会因为自己的软件产品被其他人使用而高兴。1950到1960年代,随着IBM等厂商不断加强自身软件开发能力,其采用了捆绑软硬件一体化销售模式(不单独销售软件,或者可以说买硬件送软件)。
1959年,IBM推出了程序应用库(APP store),其将程序分为四类:
1. 系统软件;
2. 应用软件,其中系统软件包括OS操作系统,编程工具等,而应用软件则是服务特定行业软件包,比如金融行业。大部分软件都需要进一步定制化开发。1960年代,IBM等大型机厂商开始为金融等特定行业开发应用程序包,比如保险行业,有200~300家保险公司采购了。
3. IBM的程序员开发的程序(大部分是定制化产物);
4. IBM用户提交程序。
1和2是通过IBM官方认证的,而3和4则是类似第三方程序。依赖软件卖硬件是当时IBM销售1401等机型核心手段。其他厂商则聚焦特定软件包,比如NCR开发了银行软件包。Honeywell等厂商则直接打出广告,说自己兼容IBM 1401所有程序,且可以更高速运行,这种策略只有在软件没有产权保护时候可用。
软件时代先驱
1966年Larry Welke发布了ICP Quarterly,一个类似软件黄页的杂志,软件开发商可以登记他们的软件产品,而订户则可以在杂志中寻找可能适合自己的软件进行购买,软件黄页将软件从定制化开发问题变成了信息检索的问题,杂志是25美元/年,一年4本,信息传递速度增加加速了软件行业发展。相对捆绑软件销售模式,单独软件产品就是销售主体,第一款符合标准软件产品可能是来自ADR的Autoflow,其核心是能够帮助程序员更高效生产编程流程图(当时流程图仍然是编程核心方式)。
这个软件本来也是直接销售给RCA的,但是RCA拒绝了,ADR投资开发成本是1万美元,其老板准备直接向RCA 501产品客户销售软件,其销量仅有2套,占到501机型2%客户(可见这个计算机总共也只卖了100套),但是ADR认为如果其能够在IBM 1401的10000名客户基数中渗透2%,那故事就完全不同了。
Autoflow确实卖得不错,从IBM1401到后来的360系统,其到1968年销量达到300份,但其渗透率始终不到1%,原因之一是后来IBM推出了免费的捆绑软件Flowcharter(这个策略熟悉不?微软后来也是这么干的),ADR公司因此发起了对于IBM反垄断诉讼。
早期软件时代最成功的产品是Informatics旗下的Mark IV,其核心的功能是文件管理,用户可以在Auotflow等程序间切换,能够将编程进行数据处理效率提升6~10倍。这个程序对用户来说很方便,可以自动生成分析报告等,但是并不是底层系统级别程序。
从1967年推出到1980年代初,Mark IV都是独立软件厂商软件产品效率的第一,其是历史上第一个营收突破100万美元,1000万美元,1亿美元的产品。实际上,这个产品前身Mark III是Informatics收购得来,第四代产品开发资金来自四个客户前置付款(当时公司营收420万美元,开发成本是50万美元),其开发完成后定价市场分析机构建议定价2.5~4万美元,最终定价3万美元,在当时那个免费软件还是共识的时代,这个价格使得很多用户惊讶。
软件版权保护
和实体产品不同,软件代码很容易复制,因此知识产权保护很重要,然而1960年代针对软件产品版权保护体系并不完善。从专利角度,1967年ADR的Autoflow和Informatics的MarkIV都申请了专利保护,ADR成功获得了专利,但是Informatics在美国没拿到(加拿大和英国拿到了)。
从商业秘密角度,Informatics要求客户签订保密协议,对软件代码保密。此外,其注册了Mark IV的商标,基于品牌保护自身版权。从销售领域,Informatics学习了IBM的销售模式,在全美(包括海外)建立了庞大销售网络(招募IBM销售为主),3个月就招募了100名销售,到1969年Mark IV美国销量达到121份,欧洲达到16份。
IBM解绑软件,行业迎来拐点
1967年美国司法部开启了对IBM反垄断调查——IBM当时拥有70%市场份额,仅仅是高份额并不是反垄断理由,而IBM的软硬件捆绑模式则成为司法部质疑的核心,他们认为IBM以低于成本价格倾销软件。基于此背景,1968年IBM宣布解绑软件,单独为软件产品定价。这里面IBM还是做了一些平衡,比如他们认为系统操作软件还是应该绑定,因为其开发成本高,且硬件适配要求高,所以系统软件并没有单独定价(也有人说低效的OS是IBM多卖硬件关键)。
1970年IBM宣布对于软件系统工程,现场工程和教育培训等分开定价,定制化工程则基于成本单独定价,所有系统软件(除开操作系统,包括编译器等)基于月费进行支付,公布了单独定价17项软件,同时IBM所有硬件售价降低3%(这个比例很多人认为调小了,ADR说软件销售至少应该占比IBM营收35%~50%)。但是作者认为IBM商业大型机成本里面,研发成本仅占收入的5%,如果40%~50%研发费用是软件,3%的比例也合理。
IBM软硬件解绑被认为是软件行业真正成立的标志性拐点,1960年软件产品销售市场规模5000万美元,到1975年增长至4亿美元。第一批受益公司则是行业现有的编程服务公司,他们很快基于自己code asset打造单独软件产品,ADR和Informatics等软件产品收入也显著受益,1968年ADR仅销售300份Autoflow,1969年IBM宣布解绑到第一个季度销量就达到100份,其营收增长20%增速保持了很多年(这个产品生命周期达到15年)。Mark IV最开始年营收顶峰预期是160万美元,结果1973年达到750万美元,此后甚至超过了2000万美元(不过后期比预期差)。
总结一下,软件作为单独产品兴起有很多因素,比如计算机渗透中小企业,程序员供给不足(定制化模式不可能够用),软件开发成本提升(硬件升级)等,但是IBM解绑则是标志性拐点。相对于传统编程服务,重服务以及无法规模化特定,软件产品模式拥有更强规模效应,开启了产业迅速增长的大幕。
五、软件产业发端(1970年代)
软件公司业务模式以及行业现状
1970年对于软件产业开端实际上不叫失意,go-go泡沫破裂后,导致行业投资不足,增速也回到平庸水平(还在涨),新公司出现速度显著减慢,到1979年营收top10的软件公司成立时间都超过10年,从1970年代泡沫破裂后直到1978年才有新的软件公司IPO(Cullinane,做数据库的)。
不过机会仍然有,一个行业趋势就是mini计算机,典型代表是IBM System/3,mini计算机趋势进一步利好独立软件公司,这期间Oracle\SAP等未来企业服务软件巨头开始孕育出来。
软件行业投资模型开始成熟:典型产品需要3~5年投资周期,其中1.5年开发,1.5年产品获得认可,再需要1~2年时间投资回本。以数据库系统为例,其开发成本大约50万~100万美元,需要5年才能达到500个销售(单价2.5到5万美元),看起来好像是暴利,但实际上研发成本仅占软件公司成本一小部分。
软件公司1美元收入,通常有30%~50%是销售成本,此外还有10%非销售的营销费用,20%是产品开发成本,10%支持维护成本,利润率是10%~20%(如下图)。也就是如果通常一个软件产品的寿命周期是5年(5年2~3倍ROI,20%复合),这个生意本身并不性感,然而随着部分软件寿命延长到10~15年,生意的本质开始变化。
这段时间,硬件厂商仍然是主要软件提供商,IBM等硬件厂商在软件市场地位仍然不能忽视,到1975年其在软件产品市场市占率预计仍然达到40~45%。而对于独立软件公司,1980年有报告显示美国有超过6000家软件公司,其中有940家年收入超过50万美元(大部分都是小公司),这些公司营收占比整体软件市场68%。可见,1970年代仍然有需要小公司加入软件行业,这些公司最开始仍然是编程服务项目方,此后逐步转变为软件产品公司,典型代表包括Computer Associates,SAP等。
Turnkey服务商、软件Broker和时间出租模式
对于mini计算机的使用者他们经常有两个痛点,其一是内部没有专门程序员或者专业维护电脑技术资源,其二是内部没有将不同软件和硬件整合在一起的能力,而Turnkey服务商则主要帮助客户解决这些痛点,他们通过直接给客户提供完整软硬件一体化解决方案(那不是又回到当年IBM捆绑销售时代?)。
Turnkey服务商在零售等行业很受欢迎,同时在办公室效率工具和计算机图像设计领域也很流行,其中Wang Laboratories(早期Word打字计算机提供者)和Computer Vision(计算机CAD软件提供者)是领先玩家。
软件Broker,对于中小软件公司,他们缺乏产品营销能力,软件代理公司则可以帮助他们向企业客户推销产品,相当于把销售服务能力中台化了。然而,在很多场景下,软件代理公司不过是给客户提供一个产品目录以及安装介质,并没有配套技术支持服务,因为当时软件安装和使用仍然门槛很高,软件代理虽然能够尽可能给客户提供低价软件,但是并不能保证能用,因此早期软件代理模式并不成功。
最后,1970年代最终出现了计算机时间出租模式,其基于电话线,类似云计算服务,按时间出租一般单价是10%~20%。这类服务同样成为很多中小软件企业推广平台,其软件产品进入时间出租平台后,作者可以拿到用户使用该软件20%的使用费,这对于很多中小软件厂商来说是成本最低的方式,依据此发家的软件公司有ASK Computer System,不过时间出租模式随着mini计算机普及很快就式微了。
软件分类
美国商务部1984年将软件产品分为两大类,即系统和应用,其中系统包括操作系统、数据库、实时监控、编程辅助、效用工具等;应用则主要分为行业特定和跨行业(功能特定,比如工资支付)。1980年,应用软件市场规模(占比71%)已经远远超过系统应用(29%)。
系统软件:
操作系统仍然主要归于硬件厂商(捆绑),除了Unix开源独立操作系统之外。Unix唯一非绑定操作系统,其由贝尔实验室开发,且属于开源操作系统,其能够在不同计算机之间相对简单适配,随着mini计算机浪潮兴起,Unix逐步成为行业流行操作系统之一。
数据库则在硬件厂商和独立软件厂商之间50对50,核心原因是当IBM宣布软件解绑是数据库系统发展刚起步,因此IBM没有积累足够优势。从功能来看,数据库是操作系统和应用共同的基础设施(使用共同数据基础)。1970年代主流数据库产品是IBM的IMS和Concom的TOTAL,也有新产品包括System 2000,Adabas,Datacom/DB。不过,后来出现了相关性数据库等新型技术使得这些产品都作古(【读书】Oracle发展史:以数据库为基,布局企业服务全链条)。
实时监控软件主要是连接操作系统、数据库和实时应用软件(比如机票预订),其能够降低实时软件开发门槛,也就成为这类软件必要的基础设施。IBM的CICS系统(1967年开发)拥有绝对垄断地位,ATM自动取款机背后可能就有CICS的身影。1980年,CICS授权客户达到1万,IBM大型机有16%的处理项目涉及CICS。1999年,来自CICS的收入是8亿美元,IBM声称世界500强有470家使用CICS,其每秒处理25万笔交易。
编程辅助和效用工具市场则更加分散,编译器等关键零部件仍然主要是硬件厂商掌控,独立软件厂商产品主要是编程工具辅助插件,比如ADR的Autoflow。效用工具则主要是系统的补充工具,比如分类工具SyncSort,其1985年有8500名客户,Computer Associates则推出竞品CA-SORT,后者是Computer Associates成为美国第二大软件公司的重要基石。
应用软件:
行业应用:1974年,ICP Quarterly上架了2928款软件产品,其中42%是行业应用,这里面金融行业应用占比最多,超过一半,银行在金融行业里面占比又超过一半。行业应用软件是竞争最激烈赛道,也是最分散赛道,也是进入门槛最低的赛道,打造行业软件最根本门槛是对行业需求深度理解,典型的软件公司由大公司针对行业应用资深程序员创立。
跨行业应用则主要基于特定功能,其中最主要的包括会计记账、人力资源、资源规划、工程科学和办公室效率,具体来看工资支付又是单一最大的赛道。到1970年代末,跨行业应用软件赛道基本由大公司占据,主要是三大领域:基于大型机会计软件、文字处理、计算机辅助设计。
MSA是会计软件主要提供商,其整合了分裂的会计软件,能够为用户提供一体化功能,单个授权价格达到3.5万到15万美元。Wang则是文字处理核心硬件服务提供商,当时计算机用于文字处理成本仍然很高,Wang就提供专门用于文字处理软硬件一体化方案,此后进军计算机硬件领域,不过后来专用文字处理硬件被不断降低成本的计算机通用硬件替代。CAD设计系统则是一个相反的案例,由于其对于硬件设施要求很高,其单价能够达到文字处理系统10倍,后来即使PC时代到来,CAD设计系统专有硬件仍然没有被替代(取决于门槛高低)。
总结一下,随着IBM软硬件解绑,即使遇到资本寒潮,软件产业开始发展,且不断类型化,系统和应用两大赛道开始逐步清晰,且应用软件占市场达到70%,成为绝对主体。系统软件大部分仍然是IBM等硬件厂商市场,但是应用特别是行业应用仍然由大量中小公司占据,跨行业应用则由寡头垄断。
五、企业软件市场成熟(1980~1995)
1982年,美国软件市场占全球三分之二,且其他地区软件公司主要做的是编程服务。美国软件市场马太效应也开始出现,50~60家营收超过1000万美元软件公司占行业总营收超过50%,而从数量来看,这些公司仅占3%。
此外,行业也开始出现很多并购活动,每年有100~200笔并购交易,例如Computer Associates就靠并购成为行业最大玩家之一。本章,作者主要从行业整合(并购,Computer Associates),相关性数据库发展(Oracle为主)和ERP行业发展(SAP)三个主要赛道发展来呈现企业软件赛道成熟进程。
当然,IBM仍然是最大的企业软件提供商,1986年其软件收入达到55亿美元,第二名Unisys是8.6亿(也是主机厂),而独立软件厂商第一名Lotus(主要是ToC)营收才2.8亿美元,微软是2.6亿美元(微软的软件收入规模1998年才超过IBM)。
相对于竞争对手,IBM优势仍然是可以提供一站式捆绑软件包(商业模式未变,IBM还可以分销软件,分成比例是50%),而IBM昂贵的定价体系(比如IMS售价高达30万美元,租金也有8900美元/月)则为后续独立企业软件公司打开了发展天花板(哪怕卖十分之一价格也不低)。
Computer Associates(以下简称CA),行业最强整合者
CA成立于1976年,此后其收购了70余家大中小的软件公司,其中包括2000年收购Sterling Software(40亿美元),后者自己也是个通过35次收购整合起来的公司,2000年,CA是行业第二大营收软件企业,第一大是微软。CA的创始人是Charles Wang(王嘉廉),他1944年出生于上海,其父亲是民国的大法官,此后移居纽约,他31岁创立CA,也算软件行业一代传奇。
1976年,CA开始推销一款叫CA-SORT的分类软件,他绕过传统软件代理,通过直邮销售单价3000美元软件,且给予免费试用,第一年就销售了200套,收入达到60万美元。CA逐步沉淀了打造大型机效用工具软件,然后用远低于行业均价销售方式获利。CA于1981年IPO,此后CA开始使用股份进行并购,主要聚焦大型机效用工具领域,包括1987年以8亿美元收购Uccel。
CA通用方式是收购软件产品,然后开除被收购的团队,只接收软件资产。以Uccel为例,其1200名员工,收购后开除了550名。CA公司经常使用二手家具和窄小办公室(拮据作风)。实际上,在软件行业早期,行业整合意义不小,光光收购一系列产品为客户提供完整功能软件包就可以支撑CA的价值(CA90 产品),其能够管理超过500个产品的软件组合同时不断更新和打造新产品,本身也是一种能力。
数据库市场和Oracle
Oracle成功基于相关性数据库的发明,这种数据库逻辑和当下大语言模型预测下一个单词逻辑有共通之处——万物都是相关的,数据是,语言和逻辑也是。而这种技术事后被证明是破坏式技术创新,传统数据库巨头(比如IBM的IMS,他搞了个双产品,新技术和旧技术并行,左右互搏)都没有跨过这道坎,新的企业例如Oracle基于服务器工作站等新硬件,中小企业市场崛起。(Oracle的具体创业详细历程可见这篇:【读书】Oracle发展史:以数据库为基,布局企业服务全链条,本文不再赘述。)
SAP和ERP的市场
ERP系统就是任何一家企业运行的操作系统,其从底层就需要一个整体化软件解决方案,而不像CA的收购整合策略,通过收购整合没办法获得一个完美整体性解决方案。另一方面,ERP本身拥有极其的技术复杂性,以SAP R/3系统为例,其系统整体安装调试成本是软件购买成本的5~10倍。
SAP崛起于德国,同样Software AG(数据库核心玩家之一)也起源于德国,德国兴起软件企业的一种解释是德国联邦体制更加利好中小型定制化玩家,因此软件公司要做大只能走产品路线。SAP首先在德国打下市场(政策保护,没有美国公司竞争),然后通过R/3产品拿下美国市场,成为全球最大的ERP软件提供商,1990年起营收排名软件公司第四。
至于SAP为何能够顺利拿下美国市场,一种解释是美国公司IT化投入太早,因此沉没成本很高,大多数软件公司被捆绑早期花大价钱安装的软件上(开发者也跟着客户发展慢),而欧洲企业IT化则更晚,他们船小好掉头,很快拥抱新兴服务器工作站趋势,因此SAP基于服务器工作站开发了R/3,而这套系统投资成本很高,达到9.2亿美元,门槛极高,其进军到美国反而没有什么竞争对手。(AP详细创业史详见:【读书】SAP发展史:ERP之王如何炼成?)
六、大众软件萌芽(1975~1983)
PC时代发端
大众软件时代的起点是微处理器发明,后者直接驱动PC时代到来,第一款基于微处理器的计算机是Altair 8800,其刊登在1975年《流行电子》杂志上,比尔盖茨的微软正好是为其开发编程语言发家的。
1977年Apple II的推出是行业标志性事件,其核心是将键盘、CRT显示器和中央处理器单元进行了产品化整合。一系列个人计算机产品硬件普及驱动大众软件市场,这些软件定价大约在80~100美元之间,1979年VisiCalc的推出也是大众软件行业标志性事件。
与企业软件相比,大众软件定价更低,但销量显著更高,因此其非常依赖于营销(如下图,35%收入用来营销),早期可能在一些爱好者杂志推广,逐步转到电视等大众媒体(Lotus推广1-2-3花了250万~350万美元)。此外,软件发行和软件分销市场也很庞大,Softsel等庞大分销商链接了渠道(以线下软件零售店为主)和独立软件公司,其1980年营收达到8000万美元,发行3000种软件。
PC系统软件:编程语言和操作系统
最早的微处理器甚至不需要操作系统,但是需要一个编程语言来支持开发者写应用程序,这正是比尔盖茨和Paul Allen成立微软的发端——BASIC编程语言,此后又开发了COBOL和Fortran等其他编程语言,通过捆绑硬件销售获取授权收入赚取了第一桶金(关于微软具体发家故事参见:【读书】微软发展史之盖茨篇:要做就做成行业标准)。
操作系统早期赢家是Digital Research,旗下拥有CP/M等操作系统,到1980年大概有200家计算机厂商采用CP/M操作系统,到1981年Digital Research和微软营收差不多都是1500万美元,员工数都是100名。转折点是IBM推出PC产品,微软成为PC的操作系统外包商,而不是Digital Research(有一些轶闻,说是其老板看不起IBM人),总而言之一次机会错失让Digital Research饮恨PC操作系统市场。
VisiCalc和Killer App
列表计算类软件此前就有,但是大型机的计算软件不如VisiCalc在实时表格更新(主要改变一个参数,其他参数跟着改变),这种实时互动软件功能吸引了用户,其基于Apple II开发,1979年发布售价100美元,最开始月销量是500,随着媒体和口碑传播,月销量涨到1.2万,此后还涨价到250美元。其背后公司后来更名VisiCorp,推出一系列VisiWord和VisiFile等其他软件。VisiCalc被一致认为是PC普及应用的Killer App(还有一种说法是email),但作者认为PC革命不管有没有VisiCalc都还是会到来,其不过是加速了PC革命而已。
生产力工具
表格计算软件、Word和数据库并列为三大生产力工具软件。对于表格软件VisiCalc成为首先赢家,但是其主要基于苹果计算机,而IBM兼容的PC体系的表格计算软件最先赢家是Lotus的1-2-3(后来输给了微软的Excel,主要是Windows系统转换没踩对)。
Word软件市场,当时最好的Word软件Wordstar(MicroPro)售价是495美元,而可比的IBM ATMS-III系统月租金是330美元到616美元,但是由于早期个人计算机硬件昂贵(苹果计算机6000美元),直到1980年代专用Word处理设备仍然有一席之地。
Wordstar成功的关键之一是提供了WYSIWYG(所见即所得),其发布于1979年,也是市场上第一款完整功能的文字处理软件。此后,文字处理市场迅速出现竞争者,TOP10的软件占有接近90%的市场份额。来自Ashton-Tate dBase II是早期个人计算机数据库软件的赢家,其售价高达695美元,到1984年销量超过20万份,Ashton-Tate当年营收达到4000万美元。
除生产力工具外,早期大众软件市场类型还包括针对小企业市场的软件,包括聚焦特定行业,以及跨行业的应用。这个市场看似和企业软件市场重合,但是传统软件企业成功案例不多,核心还是传统企业服务模式不适合服务小企业(靠人力人效低)。此外,家庭娱乐软件(以PC和主机游戏为主,早期PC购买驱动力重要之一就是游戏),家庭金融软件(Intuit),教育类软件等都是重要品类。
七、大众软件市场成熟(1983~1995)
不仅仅有微软
在作者看来,微软在大众软件市场获得了过多的关注度(尤其是关于比尔盖茨的传奇),实际上1960年代,IBM在巅峰期占到计算机市场75%,但是微软1990年代可能仅占计算机市场10%(不过在PC软件市场份额显著更大,1983年占20%,1995年占一半)。以操作系统为例,实际上1985年在市场流通的操作系统至少有20个,如前文所说的Digital Research,其就主打MS-DOS系统缺乏联网功能,还有比如下文的Autodesk。
Autodesk
成立于1982年,创始人是John Walker,早期他在一家濒临倒闭的计算机硬件公司工作,后来转行软件,早期软件产品都是少数几个人就能编程完成,然后赚取上千万美元收入(红利),不过1982年Walker认为这个时代快过去了。Autodesk早期软件产品包括一款CAD设计软件AutoCAD,一个数据库Autodesk,还有翻译、分类等7款产品,结果只有AutoCAD跑出来了。
AutoCAD主要销售渠道是通过专业零售商,售价是4000美元,Autodesk可以分到2000美元,即使算上一台PC价格6000美元,对客户来说1万美元的设计套装还是只有当时竞品比如ComputerVision的十分之一(前人定价后人乘凉)。Walker市场调研显示全美有60万个制造工厂,其中85%都是只有10~20人的小厂,他们自己画图设计,这就AutoCAD的市场。1985年AutoDesk营收100万美元,1986年达到1000万美元,此后其成为了PC平台CAD设计软件的王者,到1990年营收达到1.8亿美元。
GUI(图形化操作界面)革命
1980年代早期PC系统一大痛点是在不同应用之间无缝切换,同时使用超过2款应用,一些早期超级软件尝试在产品内部整合多种软件功能来解决这个问题,比如Lotus 1-2-3为用户提供一系列生产力工具则用户可以在这些工具软件中无缝切换。任何一个软件提供服务都是有限的,很快行业共识是应该有一个操作系统级别的应用视窗切换工具。
最早基于图形化界面操作系统研发者是施乐集团,但是其研发产品售价太高(4万美元),此后苹果的Macintosh也跟进,其成功拿到了5%~10%市场份额,但仍然不是主体(这段详细可以看:【读书】乔布斯的“心学”:大道至简,直觉开路),且由于苹果生态过于封闭,其发展不如IBM-PC开放生态。
市场主要三个Windows系统潜在开发竞争对手是微软、VisiCorp和Digital Research,Visi花了1000万美元大价钱研发了VisiOn,结果很少软件适配,其售价495美元,平台上应用平均售价400美元,使得其进展很慢。Digital Research的GUI操作系统GEM 仅搭载在类似Macintosh的产品Atari ST上,其从未在IBM-PC平台上成功。微软的Windows开发过程也是一再延期(软件开发延期其实很正常),1985年11月推出,售价95美元,但早期渗透仍然很慢,直到1990年代Windows 3.1才真正火爆,核心是硬件(比如CPU)等还没有准备好。不过GUI系统庞大开发支出几乎拖垮了Visi和Digital Research,而微软则凭借强大现金流活了下来(剩者为王)。
微软称霸生产力工具
正如前文所言,生产力工具三大套件表格、文字、数据库早期的王者都不是微软,但微软至少在表格、文字两大领域笑到了最后,其背后原因是什么呢?其实也没有多少奥秘,因为竞争对手犯错误了。Lotus 1-2-3是表格计算软件IBM-PC平台绝对龙头,其营收规模在1984年1.6亿美元,超过了微软,到1987年其拥有表格计算软件70%市场份额,营收达到5亿美元。
结果到第三代产品时,公司决定重写整个软件,结果公司没有开发这种大型项目的经验,产品本来计划1988年中发布,结果延期了1年才发布(很常见),更重要是Lotus押宝的下一代操作系统是IBM的OS/2,结果没有针对Windows开发对应产品,而微软则在初期失意表格计算后推出了Excel,不断完善产品,并且1987年发布了Windows版本,随着Windows成为主流,这种先入优势非常显著,Excel很快建立了份额优势,Lotus根本追不上,1995年Excel拥有表格计算软件70%份额。
文字处理软件WordStar的故事也很相似,1984年其推出的Wordstar 2000版本拥有全新界面,还比前一代用起来更慢,结果用户也不适应同时给了竞对机会,WordPerfect蹭机成为领先。此后WordPerfect面临微软Word和Aldus Pagemaker(后来被Adobe收购)竞争,但1990年仍然有文字软件80%份额。
和Lotus相同WordPerfect也押宝了OS/2操作系统,其Windows产品1991年2月才推出,反观微软的Word产品其实早就是Macintosh上最畅销文字软件(品质应该不错),其顺利接班,1995年微软拥有90%文字处理软件市场。可见Excel和Word成功一方面是产品不断精进,另一方面是竞争对手在Windows浪潮中都押错了方向,大家都没想到Windows最终成功,而不是巨头IBM的OS/2(比尔盖茨差点也看错了),预测未来很难。
软件公司多元化和Office套件
早期软件公司有了单一成功产品后,都尝试进军多个领域,打造完整产品包,比如Lotus打造生产力工具完整软件包,其花了1400万美元进行产品研发,并且花了800万美元营销,这些努力几乎都失败了,用户在特定赛道仍然认准了龙头软件。直到1990年微软推出Office套件,其捆绑了所有微软生产力工具软件包,售价750美元(和单买一个软件价格差不多),效果甚好。
Lotus后来也推出了SmartSuite,1993年Office套件占微软应用软件收入一半,此后随着市场竞争激烈Office套件价格不断下降(300美元),但微软的Office套件销量远超对手,拿到了90%市场份额。至此微软成为1990年代PC市场的巨无霸,凭借Windows和Office垄断地位开始横行市场。
在和微软竞争中有机会的有三种公司,其一是聚焦和微软产品互补但是微软看不上的领域,比如Norton的恢复文件、杀毒领域,比如Turbo Pascal,这个编程语言微软看不上。其二是打造跨平台的产品,反其道而行之,比如Adobe的PDF(【读书】Adobe发展史:设计和内容同等重要),又比如后来的Java;其三是通过收购等手段扩大规模和竞争力,比如Adobe收购Photoshop等,但是收购本身也是一种风险来源。
家庭娱乐软件
游戏是绝对主体,最开始游戏是街机,Pong乒乓游戏是初期流行游戏,此后主机游戏开始兴起,Atari等游戏主机厂商开始兴起,而1977年PC计算机首次普及时候,玩游戏是其核心使用场景(60%占比)。Atari于1976年被华纳传媒收购,此后VCS2600游戏主机推出,早期游戏主机内容都是厂商自研,不过随着Activision(动视)等来自Atari内部人士出来创立公司兴起,第三方游戏开始兴起。
1982年,游戏市场年营收是15亿美元,而当时软件行业只有其规模的七分之一。相对主机游戏,PC游戏开发门槛更低,因此初期诞生了很多个人开发者。1983年,游戏行业发生了著名的Atari崩盘,充斥着劣质高价游戏内容的市场驱离了用户,从而导致1983年游戏主机销量从795万下降至570万,价格也从166美元下降至95美元。
相关数据显示,当时135家游戏开发公司,只有5~6家度过了行业危机。随着游戏行业不断发展,类型化、创意化成为趋势,前者能够助力开发者聚焦优势品类,也帮助消费者高效选择购买产品;后者则成为头部内容区分自身的方式,Electronic Arts等厂商开始引入好莱坞的名人制作模式,让游戏从传统工程变成了创意,游戏内容开发成本也不断提升(包括授权好莱坞IP等)。
此后,来自日本的游戏主机厂商任天堂,Sega,Sony等开始在行业唱主角。关于主机游戏和PC游戏行业历史,可以参见这篇:【读书】美国主机游戏30年:内容和生态定座次。除了游戏外,基于CD-ROM的百科全书,以及理财类软件例如Intuit都是行业重要玩家(关于Intuit,可以见这篇:【读书】Intuit发展史:痴迷客户的财税软件龙头,Intuit是少数在和微软同场竞争中赢到最后的公司,当然也差点被微软收购)。
七、总结:美国软件雄起原因
从作者看来,美国软件行业之所以能够称霸主要有三大原因:
1. 先入优势和庞大需求市场
美国计算机市场领先全球发展,1960年代美国软件行业领先其他市场5年,到1990年代仍有2年。这种先入优势使得很多有明显网络和规模效应软件环节,美国都能先占住风口,典型比如操作系统。此外,最大需求端市场也使得其能够支撑最多的研发和创新投入,1983年,美国的PC数量是580万,占全球60%。庞大的市场也能够更极致降低用户享受创新成本,比如软件单价500美元(相对于此前价格很便宜)。
2. 硅谷等产业集群效应带来信息优势
最开始的软件行业以非标服务为主,所以更多基于客户所在地址,没有产业集群效应。早期Top10软件公司分布在美国各个地区。然而,随着产品化带来软件行业标准化时代带来,从相关性数据库开始(1970年代),美国软件行业主要聚焦在硅谷,而这种产业集权能够带来人才集中、消息沟通充分、集体创新等诸多优势。
3. 政府对于软件研发的支持
软件公司一般研发费用率是10%~15%,费用率和医药类似,不过医药主要是R,即研,而软件则主要是D,主要是开发产品。正如本文所言,软件行业早期发展十分得益于美国1950~1960年代庞大国防项目开始,SAGE系统总投入达到80亿美元,使得IBM成为计算机行业龙头,也为软件行业发展培育了足够人才。此后,这些研发成本被传递到民用领域。
本文来自微信公众号:XYY的读书笔记(ID:xiaoyanyan00002),作者:肖俨衍