百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

刚刚!GitHub 宣布正式收购 npm

liuian 2025-02-07 18:22 30 浏览

刚刚,代码共享平台 GitHub 发布公告称,该公司已经正式收购广受欢迎的开源 Javascript 包管理服务 npm。

GitHub 正式收购 npm

3 月 14 日,业界便有消息称 GitHub 计划收购广受欢迎的开源 JavaScript 包管理服务 npm,如今看来,该笔收购已经正式完成。

npm 全拼为 Node Package Manager,是 JavaScript 软件包管理器。自打十年前首次发布以来便深受好评,目前已经是全世界最大的开发者生态系统了。截至目前,npm 已经为超过 1200 万名开发者提供了超过 130 万个软件包,这些软件包每个月一共要被下载 750 亿次。

Github 的 CEO Nat Friedman 在文章中提到收购完成后的工作重点是:

  • 建立可靠的注册表基础架构,JavaScript 生态系统规模庞大且发展迅速。它需要坚如磐石的注册表。我们将进行必要的投资,以确保 npm 快速,可靠和可扩展。
  • 改善核心体验,GitHub 将努力改善开发人员和维护人员的日常体验,并支持 npm v7 CLI 上已经开始的出色工作,它将继续保持免费和开源。我们感到兴奋的一些更大的功能是工作区以及对发布和多因素身份验证体验的改进。
  • 积极与社区互动,GitHub 将积极与 JavaScript 社区互动,以获取用户的想法并帮助我们定义 npm 的未来。

此外,还将把 Github 和 npm 集成起来,从而提高代码的安全性。

至于 npm 的未来去向,博客中称将集成 GitHub 和 npm 来提高开源软件供应链的安全性,并使开发者能够跟踪从 GitHub 拉取请求到修复它的 npm 软件包版本的更改。 开源安全是一个重要的全球性问题,随着 GitHub Security Lab 的最新发布和 GitHub 的内置安全公告,GitHub 已做好充分准备,可以发挥作用。

此外,npm 将永远保持免费, 购买了 npm Pro、Teams、Enterprise 的客户仍然将继续得到技术支持,今年晚些时候还会将 npm 付费客户的私有 npm 软件包免费转移到 GitHub Packages 上。

npm 创始人回应:免费并将持续改进 npm CLI

对于此,npm 方面发布了一篇文章简单回顾了这家公司的历史。npm 的创始人表示:

npm 免费的部分仍将继续下去,npm 将继续发展,并且有充分的的理由相信会变得更好,我仍然将负责 npm 的工作,但会拥有更多的资源和更少的压力。

2009 年,现任 npm 的创始人辞去了工作,因为他觉得这份工作束缚了自己的创造力,然后他写了一个包管理器,最初只是很少的人在用,后来逐渐成长起来。

2013 年,npm 的资金运转陷入困境,虽然筹到了看起来不菲的资金,但不可避免花的很快。

如今,npm 正式被收购,在这个过程中,其公司一直在坚持的使命是:减少 JavaScript 软件开发中的摩擦。

创办当初,npm 创始人列下了一些目标,在之后的日子里也未曾有过太大变化:

  • 保持 npm 注册表永远运行(不仅在公司生命周期内)。
  • 成为一家开发者都喜欢的公司,并尽力完成迄今为止的职业生涯。
  • 获得足够大的退出机会,让我可以辞职,然后再来看第二遍。
  • 与获得 npm 的人公平地分享奖励。

过往,npm 也在思考最终可能的出路是什么,不得不说,科技公司收购是一个可行的方案,GitHub 是一种很好的选择。收购开始时,没有完整的设想,随着整个团队对 GitHub 技术研究和战略计划的了解,其认为这对 JavaScript 社区来说是一个不错的选择,明显优于 npm 自行运转。

没有多少公司可以声称拥有 GitHub 那样对开放源代码的狂热承诺。在 GitHub 团队的往绩记录中,确实有一些特别的事情让我很高兴能加入其中。

未来,npm 注册表免费进行开源开发,并继续改进 npm CLI。在 GitHub 上,npm 将获得全球最大的公司之一的支持,其背后是世界上最大的开发人员社区。在 npm 体验方面存在一些很棒的改进机会,可以改善 JS 开发人员的生活。

开源厂商的隐忧

创业型公司常有的一个通病,就是找不到行之有效的盈利模式。过去一年,不少开源起家的公司最后被收购,比如,开源 Web 服务器 Nginx 也不会想到,自己最后被以 6.7 亿美元收购。

从纯开源模式起家,到做出商业化的探索,再到最终被大体量厂商收购,这是开源软件厂商宿命般的归宿。

开源的最大受益者是谁?可以是很多人:开发者、中小型公司,还有那些被开源厂商视作吸血鬼的云厂商。但唯独,开源厂商自己并不是大的受益人。

开源是一件具有情怀的事,Open and Share 是互联网世界的关键词,也是开源的精神,却很难是挣钱的路子。

参考链接:

https://github.blog/2020-03-16-npm-is-joining-github/

https://blog.npmjs.org/post/612764866888007680/next-phase-montage


关注我并转发此文,即可在后台回复“资料”,领取InfoQ独家迷你书全套~

相关推荐

python入门到脱坑函数—定义函数_如何定义函数python

Python函数定义:从入门到精通一、函数的基本概念函数是组织好的、可重复使用的代码块,用于执行特定任务。在Python中,函数可以提高代码的模块性和重复利用率。二、定义函数的基本语法def函数名(...

javascript函数的call、apply和bind的原理及作用详解

javascript函数的call、apply和bind本质是用来实现继承的,专业点说法就是改变函数体内部this的指向,当一个对象没有某个功能时,就可以用这3个来从有相关功能的对象里借用过来...

JS中 call()、apply()、bind() 的用法

其实是一个很简单的东西,认真看十分钟就从一脸懵B到完全理解!先看明白下面:例1obj.objAge;//17obj.myFun()//小张年龄undefined例2shows(...

Pandas每日函数学习之apply函数_apply函数python

apply函数是Pandas中的一个非常强大的工具,它允许你对DataFrame或Series中的数据应用一个函数,可以是自定义的函数,也可以是内置的函数。apply可以作用于DataF...

Win10搜索不习惯 换个设定就好了_window10搜索用不了怎么办

Windows10的搜索功能是真的方便,这点用惯了Windows10的小伙伴应该都知道,不过它有个小问题,就是Windows10虽然会自动联网搜索,但默认使用微软自家的Bing搜索引擎和Edge...

面试秘籍:call、bind、apply的区别,面试官为什么总爱问这三位?

引言你有没有发现,每次JavaScript面试,面试官总爱问你call、bind和apply的区别?好像这三个方法成了通关密码,掌握了它们,就能顺利过关。其实不难理解,面试官问这些问题,不...

记住这8招,帮你掌握“追拍“摄影技法—摄影早自习第422日

杨海英同学提问:请问叶梓老师,我练习追拍时,总也不能把运动的人物拍清晰,速度一般掌握在1/40-1/60,请问您如何把追拍拍的清晰?这跟不同的运动形式有关系吗?请您给讲讲要点,谢谢您!摄影:Damia...

[Sony] 有点残酷的测试A7RII PK FS7

都是好机!手中利器!主要是最近天天研究fs5,想知道fs5与a7rii后期匹配问题,苦等朋友的fs5月底到货,于是先拿手里现有的fs7小测一下,十九八九也能看到fs5的影子,另外也了解一下fs5k标配...

AndroidStudio_Android使用OkHttp发起Http请求

这个okHttp的使用,其实网络上有很多的案例的,但是,如果以前没用过,copy别人的直接用的话,可以发现要么导包导不进来,要么,人家给的代码也不完整,这里自己整理一下.1.引入OkHttp的jar...

ESL-通过事件控制FreeSWITCH_es事务控制

通过事件提供的最底层控制机制,允许我们有效地利用工具箱,适时选择使用其中的单个工具。FreeSWITCH是一个核心交换与混合矩阵,它周围有几十个模块提供各种功能特性。我们完全控制了所有的即时信息,这些...

【调试】perf和火焰图_perf生成火焰图

简介perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu、进程id、运行栈等),利用这些...

文本检索控件也玩安卓?dtSearch Engine发布Android测试版

dtSearchEngineforLinux(原生64-bit/32-bitC++和JavaAPIs)和dtSearchEngineforWin&.NET(原生64-bi...

网站后台莫名增加N个管理员,记一次SQL注入攻击

网站没流量,但却经常被SQL注入光顾。最近,网站真的很奇怪,网站后台不光莫名多了很多“管理员”,所有的Wordpres插件还会被自动暂停,导致一些插件支持的页面,如WooCommerce无法正常访问、...

多元回归树分析Multivariate Regression Trees,MRT

多元回归树(MultivariateRegressionTrees,MRT)是单元回归树的拓展,是一种对一系列连续型变量递归划分成多个类群的聚类方法,是在决策树(decision-trees)基础...

JMETER性能测试_JMETER性能测试指标

jmeter为性能测试提供了一下特色:jmeter可以对测试静态资源(例如js、html等)以及动态资源(例如php、jsp、ajax等等)进行性能测试jmeter可以挖掘出系统最大能处...