• 简中
    • 繁中
  • 注册
  • 查看作者
  • GitHub 收购 npm:天下开源是一家 有个爸爸叫微软

    2020 年 3 月 16 日,全球开源社区爆出大新闻:GitHub 宣布收购 npm 。npm 是啥?JavaScript 世界的软件包管理器。它的体量有多大?大约有 1200 万开发人员使用,共提供了 130 万个软件包,每月下载次数达到 750 亿次。,

    GitHub 收购 npm:天下开源是一家 有个爸爸叫微软

    相比 Github 的 4000 万开发人员,1 亿个托管的代码,npm 按开发者人数来看,也有超过 1/4 的规模。

    具体收购的金额并没有透露。不过这两大开发者社区宣布“结婚”的方式也很特别,就是两位老大各自发了一篇博客,从中可以窥见不同的心情。

    兴奋又善感

    GitHub 的 CEO 纳特·弗里德曼(Nat Friedman),对于收购显然已不陌生,自 2018 年 6 月微软 75 亿美元收购 GitHub ,10 月物色纳特担任 CEO 之后,如今已快一年半。

    GitHub 收购 npm:天下开源是一家 有个爸爸叫微软

    上图为 GitHub CEO 纳特·弗里德曼

    这期间,纳特就在不停地收购和屯货,先是 Dependabot ,一款帮助开发人员监测依赖关系的工具;然后是 Pull Panda ,团队协作开发工具;再接着是 Semmle,通过社区驱动来识别安全漏洞的语义分析引擎。算到 npm ,已经是第四个标的。

    当然,npm 不仅仅只是个工具,它已然是 JavaScript 这个世界最大的开发者生态系统里,最重要的组成部分。纳特承诺,对于这个每天有数百万开发人员使用的工具,npm 将始终可用且始终免费。交易完成之后,GitHub 还要加大投资,确保 npm 的快速、可靠和可扩展。[1]

    有了富爸爸,从此两家变一家。Github 托管的是正在开发中的代码,npm 则是打包好的稳定代码,两者是绝配。纳特说,这涉及了开源安全这个重要的全球性问题,通过更好地集成,可以提高开源供应链的安全性,使得开发者能够跟踪从 GitHub 拉取请求到修复它的 npm 软件包版本的更改。

    对于付费用户,npm 有高级版、团队版、企业版客户,而 Github 则有自己的多语言包管理器 Github Packages,今年晚些时候,两者将进行融合。

    相比纳特博文,npm 创始人艾萨克·施吕特(Isaac Z. Schlueter)则发表了一篇既兴奋又善感的博客。[2]

    GitHub 收购 npm:天下开源是一家 有个爸爸叫微软

    上图为npm 创始人艾萨克·施吕特

    他回顾了 2009 年以来的创业历程,早先受到 PHP 的 PEAR、Perl 的 CPAN 的启发,艾萨克写了个包管理器共享到社区,伴随着 Node.js 的兴起,JavaScript 从前端向着服务器端演进,npm 作为默认的软件包管理器,方便开发者简化库的安装、更新和卸载,自身也逐渐壮大。

    甚至在 2012 年,Node.js 的创始人瑞安·达尔(Ryan Dahl)离开,艾萨克还帮着管理了一段时间。他们两人当时都是位于旧金山的 Joyent 公司的同事。

    一边上班,一边维护开源社区的确不容易。2013 年底,npm 陷入困境,社区靠捐赠无法生存,艾萨克在 2014 年成立了 npm,Inc. 公司,以支持社区和 1000 多万用户。

    种子轮之后,npm 在 2015 年又融了 800 万美元的 A 轮。团队从 1 人增加到 35 人。艾萨克说,运营公司很难,钱一直不够花。

    但 npm 的使命一直没变:减少 JavaScript 软件开发中的摩擦。直到 Github Packages 的 beta 版出来,艾萨克主动问 GitHub:“你为什么不尝试收购我们?”

    收购完成以后,npm 将继续改进,并将成为 GitHub 这家世界上最大的开发者社区的战略资产,服务于 GitHub 消除软件开发中交易成本的使命。

    JavaScript 生态

    《连线》杂志评论说,微软很快会控制更多的开源软件开发生态系统。

    开源世界里,各种生态、工具和社区是复杂缠绕在一起的,毕竟谁都不想重新造轮子。开发人员通常将程序和开源软件包组合在一起,处理常见功能,比如验证密码或者网络通信。

    npm 的客户里,既包括个人开发者,也包括 500 强企业,比如 Netflix、VISA、Adobe、salesforce 以及耐克。

    只要有互联网和网站的地方,就会有 JavaScript 。它随着 Netscape 浏览器在 1995 年诞生,最终成为适合 Firefox、Chrome 等几乎所有浏览器的 Web 网站的客户端脚本语言的标准。

    2008 年,Google 推出了 JavaScript 引擎 V8,采用即时编译,大大缩短了执行时间。Node.js 在 2009 年诞生,它结合了 V8 引擎,把 JavaScript 带到了服务器端的环境。

    Node.js 提供了事件驱动,多条命令可以同时被运行,可用于编写高并发的程序,把 JavaScript 的易学易用和 Unix 网络编程的强大结合到了一起。

    Node.js 的开源库,大多数都托管在 npm,并形成了强大的开发者生态,包括 NodeConf 等社区活动。

    JavaScript 开发者可以很方便地用 npm 共享代码,把软件包发布到 npm,也很容易使用别人的开源代码,形成了一个庞大的相互依存的开源开发生态系统。

    这是 JavaScript 开发人员每天需要使用的东西,每个人都希望它更加可靠、方便。

    微软全家桶

    天下开源是一家,如今爸爸叫微软。

    在 Reddit 论坛上,各种评论也炸开了锅。[3]

    有网友认为,这对于微软和开源都是双赢,微软的 Azure 可以借此提供更好的服务。微软错失了移动平台,而云计算是下一个计算平台。微软拥有 40 年吸引开发人员的记录。

    而也有网友认为,手头上一半以上的开发工具箱都是微软提供的,包括 GitHub、npm、VS Code、TypeScript,一家公司垄断开发者世界并不是一件好事。

    还有网友认为,对微软的负面印象时间太长,而这已经过时,微软现在是开源软件最大的贡献者,比包括谷歌、亚马逊、苹果、甲骨文、IBM 的任何一家公司都要开放得多。

    ,雷锋网  ,2020-03-18 11:02:29

  • 0
  • 0
  • 0
  • 175
  • 请登录之后再进行评论

    登录
  • 任务
  • 发布
  • 偏好设置
  • 单栏布局 侧栏位置: