GitHub喜提npm最大的包管理工具,

北京中科白癜风医院三级专科 http://pf.39.net/bdfyy/bdfzd/

机器之心报道

参与:思、张倩、Jamin

刚刚,全球最大的代(tong)码(xing)托(jiao)管(you)平台GitHub发布公告称,该公司已经签署了一份收购npm的协议,后者是深受开发者欢迎的JavaScript包管理服务平台。收购完成后,npm公共注册表用户可以继续免费使用,付费用户可以在不久之后将私有npm包迁移到GitHubPackage。

npm的全称是NodePackageManager,是一个基于Node.js的包管理器,创建初衷是让JavaScript开发人员能够更容易地分享和重用代码。

凭着npm团队在过去10年的工作,以及成千上万的开源开发人员和维护人员的贡献,该平台现在拥有万个软件包,每月下载量达亿次。他们的努力使得JavaScript成为世界上最大的开发者生态系统。

GitHub在博文中表示,「GitHub很荣幸参与书写npm故事的章。我们将帮助npm继续扩展以满足快速增长的JavaScript社区的需求。」对于每天使用npm公共包管理器的数百万开发人员而言,开源包将一直可用且始终免费。

为什么npm如此重要?

对于众多开发者而言,npm并不陌生。即使我们常用Python或C++等其它语言,但在执行某些JS开源项目时,也会遇到npm。如果我们熟悉JavaScript,那么npm几乎是不可或缺的软件包管理工具。可以说,npm就类似于Python中的pip。

维护与创建这一包管理器的公司,就是npm了。因为npm托管的超大代码库与软件注册表,JS开发者可以借鉴开源软件包,而不需要从头构建应用程序。

如果我们想创建一个开源软件包,那么通常的做法是:将代码上传到GitHub,并实时维护它。同时,将稳定版的代码也上传到npm上,从而方便开发者安装与管理。两者实现了不同的功能,GitHub负责追踪代码修正与版本的迭代,而NPM负责管理整个安装包。

JS是最大的开发者社区之一,而npm是世界上最大的软件注册表,在「下载包、安装包、上传包」这一流程中,npm是开发生态不可或缺的一环。开发者不需要头疼软件包的各种依赖项与版本信息,都交给它就行了。

一般来说,npm由注册表、命令行工具等几个独立的模块组成。注册表是一个巨大的数据库,保存了每个软件包的信息;命令行工具则允许开发者通过终端与npm进行交互。有了这几个模块,管理开源包、分享代码、管理私有软件包、管理依赖信息等等都不成问题。

npm与pip其实非常像,只不过一个用于JS,一个用于Python。两者安装方式稍微有一点不同,npm会把软件包安装在当前目录的node_modules下,pip会把软件包安装在当前Python开发环境的site-packages中。换而言之,npm不会对环境进行修改,似乎它更加「无污染」?

npm这个工具确实非常好用,NPM公司在年也获得万风投资金,它与GitHub一样对开源包免费,而对托管的私有代码包收费。其优势在于,企业用户可以通过相同的工具管理开源包与私有包。

现在,GitHub收购了npm,那么它们之间会不会有一定的整合呢?毕竟去年GitHub还特意推出了免费软件包管理服务GitHubPackageRegistry。

收购之后走向何方?

对于用户来说,大家最关心的当然是收购对自己的影响。对此,GitHubCEONatFriedman在官方博客中表示,对于每天使用公共npm注册表(registry)的数百万开发者,npm将一直可用,而且始终免费。收购完成之后的工作重点将放在以下几个方面:

投资托管服务器基础设置和平台。JavaScript生态非常庞大,而且还在迅速扩张,因此需要一个坚实的注册系统。GitHub将进行必要的投资,确保npm快速、可靠、可扩展。提升核心体验。GitHub将致力于提升开发者和维护者的日常体验,同时继续支持npmv7CLI上已经开展的重要项目,而且这些仍将是免费、开源的。激动人心的新特性包括Workspaces以及在包发布流程、多因素身份验证体验上的进一步改进。参与社区活动。他们将积极地与JavaScript社区合作,从中获得优秀的改进方案,以此来打造更好的npm。GitHub表示,他们将和npm一起努力,提升开源软件供应链的安全性。此外,GitHub还打算将其打赏功能(GitHubSponsors)扩展到npm的生态中。

对于付费使用npmPro、Teams、Enterprise的私人注册表用户,GitHub和npm也将继续支持。此外,GitHub正大力投资GitHubPackage,这是一个完全集成了GitHub的多语言包管理器。今年晚些时候,GitHub将允许npm的付费用户将他们的私有npm包迁移到GitHubPackage,使得npm专注成为一个开放、免费的JavaScript软件包管理工具。

为了听取大家的意见,GitHub还表示将于近几日在reddit上举办一场AMA(AskMeAnything)。

网友评论

针对此次收购,网友们的看法褒贬不一,但单从评论来看,支持此次收购的还是占大多数。

有网友表示,现阶段的npm处在较为尴尬的阶段。从公司经营的角度来说,npm的表现并不是特别值得称赞。但相比于被Amazon、Google或是Facebook收购,被Github收购还算上策,至少可以保留些独立性。

而npm作为软件供应链中的重要支柱环节,其核心作用无须赘述,但背后公司的经营状况值得深究。有网友表示,该公司的大部分资金来源于风投,其商业模式的壁垒远没想象的那么高。

有人甚至针对NPM的经营状况进行了简单的思想模拟,以表明为何看好此次收购。公司运营需要资金,以现在npm公司的模式,想要维持运营只能吸纳越来越多的投资者,而投资者的逐利性会反向影响公司之后的发展路线,资金的不确定性会导致各个利益相关方之间的冲突。如此看来,这样的发展进程可能对整个社区都不是好事,更别说保有独立性。

不看好的也有,比如单纯的认为Github的东家微软是一家具有较强封闭性的公司,收购之后难以保持原有中立且高效的发展速度。

当然,对于此次收购褒贬不一,是好是坏势必要交给时间去验证。

参考链接:




转载请注明:http://www.aierlanlan.com/grrz/4446.html

  • 上一篇文章:
  •   
  • 下一篇文章: