Node.js 为什么NPM开发人员免费开发软件包?

Node.js 为什么NPM开发人员免费开发软件包?,node.js,npm,open-source,Node.js,Npm,Open Source,我正在用Node.js开发服务器,并使用了很多非常有用的包,如express.js、passport.js、nodemailer等等。。。但我从未为使用它们付费 这是一个非常基本的问题。他们无法从中赚钱,但他们为什么要开发这样的软件包呢?开发包需要很多时间 只是志愿者吗?或者他们通过包裹赚钱吗?我真的很好奇。以下是一些原因: 如果你做了一个大的/有用的项目,找工作就容易多了,因为每个人都想雇用你。这是你技能和能力的展示。在你的简历上看起来很棒 开源运动 帮助他人的回报比创建/维护这些项目的工作更

我正在用Node.js开发服务器,并使用了很多非常有用的包,如express.js、passport.js、nodemailer等等。。。但我从未为使用它们付费

这是一个非常基本的问题。他们无法从中赚钱,但他们为什么要开发这样的软件包呢?开发包需要很多时间

只是志愿者吗?或者他们通过包裹赚钱吗?我真的很好奇。

以下是一些原因:

  • 如果你做了一个大的/有用的项目,找工作就容易多了,因为每个人都想雇用你。这是你技能和能力的展示。在你的简历上看起来很棒
  • 开源运动
  • 帮助他人的回报比创建/维护这些项目的工作更重要。帮助别人感觉很好

  • 我自己编写了几个npm模块,以下是我的一些理由:

  • 我为我所写的感到骄傲,并且喜欢炫耀。这也是我写问题答案的原因

    实际上,我确实提供咨询服务,我也做过讲座和培训研讨会,所有这些都花了我的时间为人们提供建议和回答问题。但我仍然在Stackoverflow上免费提供建议和回答问题——因为我有点自恋,喜欢人们投票给我答案时那种温暖的感觉

    当人们下载我的模块时,我也会有同样的感觉

  • 我确实得到了报酬——由我的雇主支付(或者在我过去经营自己公司的情况下——由我的客户支付)。只要我可以,我都可以请求允许将非面向业务的代码发布为开源代码。就我自己的业务而言,我在合同中明确规定,客户只拥有品牌、艺术/设计作品和一些业务逻辑作为自己的IP,但其余代码是我的,开源代码是开源的

    一般来说,大多数客户机并不关心代码。他们只关心实现其核心业务逻辑的代码部分。框架、身份验证逻辑、数据库访问库等与他们的业务无关,他们也不在乎拥有它们。这使我能够以开源的形式编写大量代码,并在其他项目中重用它们

    在很多情况下,大多数雇主对代码也有相同的看法。任何通用代码都可以开源。只有赋予公司竞争优势或市场差异化的代码才需要保留专有权

  • 发布到npm使我在项目中使用自己的代码变得更容易-我可以
    npm安装它们

    Npm也是通过
    Npm install-g
    为命令行应用程序提供的优秀跨平台应用程序商店。如果我通过npm发布我的应用程序,我不需要通过Chocolate for Windows、Apt for Debian、Yum for RedHat和Homebrew for MacOS分别发布我的应用程序

  • 我可以得到免费的bug报告,在某些情况下还可以得到免费的bug修复

    开源倡导者会说,这是开源项目的主要好处,但根据我自己的经验,很少有项目会像病毒一样传播或流行,从而获得这种好处。我在几个项目中遇到过这种情况,但在我的大多数项目中,这种情况并没有发生