IT杂谈之一:野蛮生长到精细分工
其发展初期必然经历野蛮成长的过程。你能够想象的是从游牧生活转向农业的转型过程吗?在起初阶段缺乏有效的技术和必要的工具支持下, 也没有人能够给予实质性的帮助, 即使是同行之间也难以相互理解与接纳, 更有人会对这种新生活方式持有批评态度。于是他们开始探索系统的方法论框架, 并自行研发相应的工具, 如今互联网商业模式下的开拓者们正是这样走过的历程:为了实现商业目标, 在现有技术手段的支持下(尤其是开源项目的广泛运用), 他们集中资源投入人力资本积累与配置, 并成功构建了现代互联网商业模式的基础。
正如农业与狩猎形成鲜明对比的新商业模式对传统经营方式展现出显著优势,在互联网时代大量投资者趋利而入竞相投入其中。然而料想不中的是后来者都将面临失败的命运因为维持这种无序扩张必须要有雄厚的资金支撑而农民将大量资源投入到农具生产中后就无暇经营农业生产从而导致社会分工这一久之不变的社会规律必然再次显现出来专业的农具工匠便得以将农民从不擅长的领域解放出来使农业作为新兴产业得以快速稳定发展。同样的料想不中的是互联网时代的野蛮生长终将土崩瓦解专业厂商将会推出更加高效便捷的工具让任何想要采用新型商业模式的人都能轻松跨越技术门槛专注自己熟悉的业务领域
互联网模式
创新颠覆了传统的根基。有哪些传统可能会被推翻呢?我的观点是,在某些情况下基于科学方法论的传统不会受到挑战。具体来说,在建立在人性基础之上的合乎逻辑的推导下这样的传统是不会受到影响的。如果这个世界的物理规律保持不变,则人性也不会发生变化。因此在这种情况下社会化分工合作就会成为人类社会发展的内在动力
那么传统软件开发模式经历了从作坊式向大团队协同模式的转变,在这一过程中从需求、设计到开发、测试再到部署、运维等环节都由专业化程度较高的团队进行分工协作。然而互联网模式彻底颠覆了这一传统,在这种模式下他们强调的是全生命周期一体化运营即一个团队能够独立完成软件的所有流程。暂且不论这种模式是好是坏我们先来探讨为何会出现这样的现象其实其根本原因在于所从事业务活动完全缺乏现成的技术或产品来满足需求这与人类文明发展中的类似变革过程相吻合就像人类社会从最初的采集者转变为农业者时期必须重新探索适应环境所需的一切生产工具与生活技能在这种情况下尽管分工依然存在但相比单纯依赖分工的传统模式而言更高的执行力和更快捷的响应速度成为了关键因素同时新的商业模式的到来也带来了大量外部资本的支持使得互联网巨头们得以充分发挥其资源优势并做出更为自由大胆的发展决策
互联网模式的基础
鉴于此原因而言,则互联网模式的各种行为均能具备有条理的逻辑解释方式。
1、 大量使用开源
由于人类出于自身利益的心理活动,在面对非核心业务的技术投入时都会趋向于减少不必要的支出与资源浪费,在互联网模式中同样地,在互联网运营中也存在这一现象。人们很清楚地认识到技术并非其主营方向的一部分,在这种认识基础上,并不会将所有技术自行研发以避免投入成本而选择优先利用已有的技术和成果,并在此基础之上可以在构建过程中可以根据具体需求对所采用的技术进行灵活调整。因此,在互联网模式下构建基于开源的技术架构是一种完全合理的选择。
然而,在开源领域也存在一些挑战。例如开发人员的技术能力要求较高、后期运营成本高昂、遇到问题往往难以找到有效的解决方案等等。因此,在互联网时代下运营模式的选择往往取决于企业是否具备足够的技术实力支撑团队运作。
2、 采用DevOps开发运维一体化模式
DevOps运动是由一些有影响力的人物推动发展而成,在这一趋势下,这一运动更偏向于基础软件开发而非应用软件开发.在开发具有长期维护需求的基础或中间件软件时,我们通常会遵循类似的模式.架构师们通过权衡权衡性能、功能性、可靠性和成本等因素来决定产品的方向与策略.
鉴于此,在当前互联网模式中拥有丰富的资源库的情况下,在无需顾及这一平衡状态的前提下,在灵活地动员众多人才和技术团队的帮助下,则能够协助构建其业务应用系统。
我认为互联网模式难以被大规模复制。仅凭前期少数几个行业龙头能够支撑数千人的研发团队满足业务需求。任何试图模仿互联网模式的企业都可能血本无归。实际上,在坚持创新的基础上探索更适合自身发展的道路才是明智之举。“科学告诉我们唯一的出路在于更精细化地分工协作。”任何打破既定规律的行为都将只是暂时性的不可持续发展。
互联网模式的前景
我们正在探讨互联网模式的发展前景时其实也在探讨开源软件产品的前景因为大多数互联网模式都是建立在开源软件的基础上这两者之间相互促进和推动作用不可或缺。作为一名长期从事商业软件开发的专业人士从这个角度出发如果我对于开源系统提出任何批评或指摘可能会显得不够客观因此我将避免列举具体事例来阐述我的观点并且首先我对所有参与开源项目的个人表示由衷的敬意从推动社会进步和改善人类生活方面来看这些开放源代码项目做出了重要贡献
1、 从人性看
众所周知,在人类社会中存在自我利益的行为;每个人都追求自身利益最大化的同时也渴望获得社会的认可。然而,并非所有人都具备真正的无私奉献精神;许多人只是将个人劳动成果无私奉献给集体或公益事业而已。然而,并非所有人都具备真正的无私奉献精神;将个人劳动成果无私奉献出来或许是一种理想化的描述;如果一个开源项目是由许多具有伟大精神的人共同参与组成的;则这一假设已经违背了人性的基本属性;相反地,在我的观点中;一个真正成功的开源项目应该是在参与者带着某种自身利益导向的前提下才能实现其价值所在
我斗胆来一点点的搜寻开源项目的利益链条和前进动力。
2、 为什么要开源?
我们都知道任何事物都包含着内在因果关系这一共性原则,在开源领域这一现象也不例外。传统的经营策略往往采用闭源模式,在这其中存在着十分简单的规律:投入巨额的资金获取一项关键核心技术,并以此能力足以对抗乃至超越竞争对手(甚至有可能改变世界格局)。难道不应该渴望通过自身努力获得回报吗?难道还不希望自己的技术和成果能够受到社会认可,并使所有为此做出贡献的人获益匪浅?显然,在公开核心技术时既忽略了个人付出的价值判断标准就有些失策了。我认为将"知识共享"作为一种普遍现象的观点值得商榷。因为知识可分为两类:一类是关于自然规律的知识;另一类则是由人类创造出来的。对于第一类知识而言(即关于自然规律的知识),我们知道它是被广泛共享并传播出去了;其原因在于你无法阻止其他人去发现相同的自然规律;而且现行的社会机制会赋予第一个发现者极佳的发展机遇和发展空间;但对于第二类则是由人类创造出来的发明或创造来说情况大不相同(即人类有意识地创造出来的新事物)。这种情况下唯一的经济回报来自于将其转化为商品并进行商业化应用。如果这些创新被迅速复制或公开传播,则它们的实际价值就难以估量了——其实它们的价值并不低!
因此可知,在存在闭源的情况下分析开源的原因就变得容易。一种可能性是某位杰出的人物凭借个人力量掌握了某种核心技术后选择公开;另一种可能性是无法在商业竞争中击败竞争对手而又不愿完全埋没自己的努力与劳动结果,则选择了公布核心技术;当然还有另一种情况即出于对抗商业垄断的人性本能自发组织形成了"抵抗运动"。
3、 开源是如何被推动的?
推动任何事情都必然伴随着商业利益的存在 开源同样不会例外。在共产主义得以实现之前 我们无法找到任何合乎因果关系的公益行为能够推动理想的开源发展。然而 那么多开源项目的用户群体本质上也是以商业群体为主 不可避免地让人感到困惑:为何某个组织愿意无条件地投入资金与人力资源 仅仅为了使得其他特定类型的组织能够在更低的成本框架下获得收益?
所以,开源的第一推手不言而喻是商业机构,在商业领域中推动开源软件主要有以下几种动机:第一种动机是为了打击现有竞争者,在经济上这是一项非常划算的投资行为,并且其效果不言而喻可见——比如高端产品市场如果采用低成本开源策略,则可有效遏制那些试图从低端起步的竞争者;第二种动机同样是为了打击现有竞争者——大家都知道,在当今世界上任何一个行业都存在进入门槛较高的情况(包括行业知识壁垒、技术壁垒、资金壁垒以及客户群壁垒等),因此任何能够突破这些屏障的方法都会受到资本界的广泛青睐——开源软件正是打破了技术壁垒和知识壁垒的理想工具;第三种动机仍然是为了竞争——开源项目的出现不仅给原本封闭的闭源生态带来显著的竞争压力(从技术层面来看),更会给人以更多人可自由探索开发的机会——就拿传统的程序员来说,在闭源软件的世界里他们一生或许都无法接触到一个大型商业软件的核心引擎代码;但是如今开源社区的发展已经打破了这一格局——任何人只要愿意都可以随意访问并使用大牛们精心构建的核心代码库——从个人职业发展的角度来看,掌握开源技术无疑将为程序员带来更好的职业机会和发展空间。
4、 开源和闭源之争
只要具备合理利益的存在就会持续存在下去。无论是开源还是闭源模式都具有显著的社会商业价值。其中closed source产品不仅能够为企业创新者以及客户创造显著的价值同样地开放-source项目也为客户以及众多后续创新者提供了宝贵的资源。企业在选择是否采用开放-source或closed-source模式时应当根据自身具体情况作出决定而不应简单比较两者的优劣因为这种比较往往因具体需求与资源的不同而产生不同的结果。事实上任何模式的好坏都将因需求与资源的不同而有所变化当前舆论对于开源的优势过分夸大从某种程度上说在某些情况下一个原本属于开放-source的企业可能会转为closed-source模式
一个企业做出选择一定是在权衡各方面因素的优劣得失,在进行商业决策时需要综合考量各种潜在的风险与收益之间的关系
5、 我对开源的看法
就个人而言,我认为包含第一创新并具有强大生命力的开源项目是最具竞争力和潜力的,那些因竞争失败而开放源代码、为了打击现有竞争对手而提供原创代码,以及对已有成功商业产品进行功能模仿或复制的开源项目,我是不太看好其未来发展前景.就结果而言,我认为一个优秀的开源项目应当能够吸引持续不断的商业机构愿意投入资金进行基于其平台的技术开发工作,只有能够发展出完整且成熟生态系统的开放源代码才是真正具有商业价值的有效工具
在商业领域中,在一个商业模式初期阶段开源项目往往具有很强的竞争优势。这种快速发展的特点最显著的是它能够提供速度、灵活性以及大量的低成本试验机会;然而一旦某个商业模式逐渐趋于稳定成熟阶段,则会逐渐被更加稳定可靠并且成本更低的闭源产品所取代。就像IT系统一样扮演着运载企业前进的角色,在当前时代并不是所有企业都能够负担得起为每一家独立定制专属IT系统的成本与风险。
