写点什么

开源的进化:从开发更优质的代码到打造更优质的商业

  • 2016-04-07
  • 本文字数:1638 字

    阅读完需:约 5 分钟

文章的一开始,作者回顾了自己对于过去十几年开源软件的简要历史。

从我创办开源软件公司以来,已经过去了 13 年了。开源在业界已经成为主流,而且软件的开发在方法论和结构上均发生了根本的变化。

早些时候,瀑布式的软件开发占据统治地位。软件的设计、编码以及质量控制均是由“自上而下”来管理的,即通过某个经理带着一帮程序员来完成的。此类方法是由 IBM 这样的大型企业在 20 世界 60 年代所引进,它并没有旨在利用互联网既是一个分布式文件系统和开发环境的力量,也没有考虑到防火墙之外无处不在的、快若闪电的网络通信。此外,它也不是为当今的移动软件开发项目所设计的。

包括开源/自由软件运动所带来的一些益处。

自由软件为用户提供了自由,这其中包括零花费。开源软件在一些许可证上又一些实用的方法,因此可能会有一些限制。但是它带来的最大的自由就是查看源代码的能力。

在早期的时候,四个开源项目-Linux、Apache、MySQL、以及 Perl/PHP/Python(简称,“ LAMP ”)-占有主导地位。LAMP 犹如灯塔一样,为初学者指明方向,让他们勇敢的进入这个自由的世界,而且鼓励码农们为项目提交贡献。他们使用了很多的开源许可证,但是主要用的还是 GNU 的通用公共许可证 ( GPL )。

话题转到了开源的商业之路上。

开源的世界常被称之为“狂野的西部”,因为大多数的项目没有遵照死板的分层次的通话方式,多数有天赋的开发者还是没有报酬的,然而,组织生产的自由软件项目会按计划完成,重要的最终的产品质量不比专有软件的差。即便如此,很多实用主义的软件开发者和公司创始人-包括我自己-坚信自由/开源软件是可以和商业软件共存的。今天,专有软件的模式仍然存活着,而且,某些情况下,还在扩张。

这时,开源的公司应势而生,而且被指称为“纯粹游戏”的商业化开源冒险者。比如我所创办的-黑鸭子软件,是针对软件开发人员的审查源代码和目标代码,从而确定哪怕是一小段、一片、一块、甚至是整个树状的代码是有出处的,也会鉴定安全方面的问题。

当下的开源界对于许可证的使用,正在悄然发生着变化。

今天,在云计算中开源软件更是蓬勃发展,如 Docker、Heroku、OpenStack、及其它形成了全新一代的项目。综观起来,GNU 仍然是许可证中采用最多的,然而,MIT、Apache、还有其它一些宽松的许可证正在被很多的开源项目采用的首选许可证。

对于商业上的影响,作者列举了如下一些观点:

尽管风险投资界通过投资很多 OSS 纯粹演绎的公司或者是相关的下游公司来支持这种破坏性的创新,但在收入、产品策略、收购、以及其它因素均对诸如 IBM、HP、Microsoft、Oracle 有影响。感谢开源运动,这些个开源的公司更加的精简、更高效、且更能及时响应用户的需求。此外,无数的创新型公司不断涌现,借助开源项目的优势在支持项目中为客户提供商业服务,乃至后来,在云平台中利用他们的应用和平台。

自由和开源运动对于免费试用时代或叫做“免费文化”中起了推波助澜的作用,可以看到现在已经非常的普遍了,如在电子商务、企业级、以及 B2C 新产品发布等市场。自由和开源运动也影响了社区管理的概念,针对客户、影响力、专业人才或特别人才(如软件开发者)。互联网的社区贡献或“围观”访问量对于众包和众筹是水到渠成的事情。通过开源软件所带来的软件成本的降低也有助于大数据及其分析乃至移动电话技术。

最后,作者以自己的亲身经历来说明开源运动已经成为人们思维的主流,在波士顿体验 Uber 时遭遇了堵车,此时,司机对作者说到:“也许通过开源可以很好的解决交通堵塞问题”。作者会心一笑,知道自己所思考的开源,已经超越软件,成为社会思维的主流。

Douglas Levin 介绍

Douglas Levin 是总部位于波士顿叫做 TechCXO 有限责任公司的兼管市场和销售的战略合作伙伴。他在 2002 年 12 月创办了黑鸭子软件,担任 CEO 一职直到2010 年卸任,担任董事会董事到2012 年。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-04-07 17:241387
用户头像

发布了 33 篇内容, 共 12.2 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

编程的本质是什么?

白色蜗牛

Java 编程 程序员 软件 计算机

Selenium4 Alpha-7升级体验

FunTester

maven 自动化测试 Gradle 测试开发 selenium

性能测试误差分析文字版-下

FunTester

软件测试 性能测试 接口测试 测试框架 测试开发

Presto原理&调优&面试&实战全面升级版

王知无

架构实战营模块二作业

老猎人

架构实战营

2.4如何提高架构设计的质量

Lemon

央视曝光APP弹窗广告三大陷阱:如何监管应用软件弹窗广告

石头IT视角

性能测试误差分析文字版-上

FunTester

性能测试 自动化测试 接口测试 测试框架 测试开发

智能运维系列之五:总结

micklongen

AIOPS 智能运维

微信朋友圈架构设计

summer

极客时间 极客时间架构师一期

大数据训练营-第一次作业

西伯利亚鼯鼠

知乎热文 | 如何高效学习Spring Boot?

Jackpop

Java Spring Boot

清晰了!一文彻底理解Java事件处理

Jackpop

Java

[架构实战营一期] 模块二作业

trymorewang

架构实战营

架构训练营模块二作业

老实人Honey

「架构师训练营第 1 期」

2.3如何设计高可用架构

Lemon

存储高可用

[架构实战营][模块二作业]

KK_TTN

架构实战营

【架构设计模块二】:微信朋友圈的高性能复杂度

Ryoma

架构实战营

性能测试误差统计实践

FunTester

软件测试 测试 性能测试 测试开发

【数据结构】Java 同步工具 AQS

Alex🐒

Java 源码 数据结构

《面试补习》--来聊聊削峰填谷!

九灵

Java 分布式 消息队列 异步削峰

健康讲座:如何提升人体免疫能力

石云升

学习 健康 7月日更

架构训练营 1 期 - 模块二作业

蔸蔸

基于P4的SCION -- 构建太比特的未来互联网

俞凡

网络

进阶指南!深入理解Java注解

Jackpop

Java

微信朋友圈高性能架构分析

面向对象的猫

面试算法之螺旋数组查找问题

泽睿

面试 二分查找

MVP on Board 没用小技巧 👌

newbe36524

.net MVP ASP.NET Core

区块链的宿命,数字经济的局

CECBC

【Java特性专题】JDK(8-11)特性分布变化简介

洛神灬殇

Java Java新特性 7月日更 Java11

开源的进化:从开发更优质的代码到打造更优质的商业_语言 & 开发_李建盛_InfoQ精选文章