preferred license for node modules?

2,006 views
Skip to first unread message

David Herron

unread,
Dec 14, 2012, 10:29:05 PM12/14/12
to nod...@googlegroups.com
I'm curious about the preferred license for modules that are distributed through the npmjs.org repository

In particular is there any legal barrier to using GPL in such modules?

As far as I understand it, the legal barrier would be whether a module which uses a GPL'd module is derivative of that module.  I don't think that it would be, but then the LGPL license does exist for a reason.  

+ David Herron - nodejs.davidherron.com

mscdex

unread,
Dec 14, 2012, 10:31:36 PM12/14/12
to nodejs
I use MIT for all of my modules.

Forrest L Norvell

unread,
Dec 14, 2012, 10:38:05 PM12/14/12
to nod...@googlegroups.com
On Fri, Dec 14, 2012 at 7:29 PM, David Herron <da...@davidherron.com> wrote:
I'm curious about the preferred license for modules that are distributed through the npmjs.org repository

We discussed this a bit at NodeConf summer camp this year, and the consensus was pretty strongly in favor of BSD or MIT licenses, or at least pretty liberal, commercial-use friendly licenses (including the Perl and Apache licenses).

In particular is there any legal barrier to using GPL in such modules?

As far as I understand it, the legal barrier would be whether a module which uses a GPL'd module is derivative of that module.  I don't think that it would be, but then the LGPL license does exist for a reason.  

Isaac can speak to this more authoritatively than I can, but npm itself prescribes / proscribes no particular licenses. You could attach GPL3 licenses to your modules if you wanted, but uptake would probably be hampered, especially if there were some kind of associated Canonical-style contributor's agreement. Node is still pretty much the wild west, and it's tough to say if today's random hack project might not become tomorrow's startup idea, and I think most devs want to keep their options open.

F

Jake Verbaten

unread,
Dec 14, 2012, 10:53:45 PM12/14/12
to nod...@googlegroups.com
The vast majority of the community uses MIT licences.



--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Nuno Job

unread,
Dec 14, 2012, 10:56:56 PM12/14/12
to nod...@googlegroups.com
Whatever you like. This is your effort, your code, and it is owned by you. 

You should make an informed decision but there's no recommendation to be found (from a node perspective). 

Personally you might find interesting information and opinions, but that's just that

The last thing i read that was interesting about licenses was Zed Shaw about using GPL.

Nuno

David Herron

unread,
Dec 14, 2012, 11:28:20 PM12/14/12
to nod...@googlegroups.com

Okay, my early grok of the answers is that there isn't an actual legal hurdle .. someone else using the module won't be subject to the viral effect of the GPL in other words.  It's more of a community dislike.  Am I reading the reaction correctly?

Which reminds me of a quip I read a long time ago, which went something like:-  I want everyone else's code to be under the BSD license, but I want my code to be under the GPL ..

Basically meaning the tendency is to want do as much as possible with other peoples code while putting as much protection around my code.

Maybe there's a license I don't know about that's a good happy medium between the extremes of BSD and GPL?

+ David Herron

Martin Cooper

unread,
Dec 14, 2012, 11:33:47 PM12/14/12
to nod...@googlegroups.com
On Fri, Dec 14, 2012 at 7:29 PM, David Herron <da...@davidherron.com> wrote:

The question of GPL / LGPL / AGPL licensing for JavaScript is a complicated one. So complicated, in fact, that many companies simply prohibit the use of ?GPL licensed JavaScript code (and other code), in order to avoid the legal risks. In terms of "legal barriers", you can certainly specify the license on a package; but many people who do that, don't actually understand what it means when they do it. Take the regular GPL, for example. What does it mean to "link" in JavaScript? A legal definition of that would be at the heart of any question of violating the license, because linking is at the heart of the GPL.

To a large extent, the choice of license comes down to the goals in providing an open source package. If the goal is widespread adoption, ease of adoption, ease of contribution, or the like, the permissive licenses like MIT or BSD are a great fit. Those are the prevalent licenses in the Node.js community, and I firmly believe that has been a significant factor in the broad adoption of Node.js and of the many available packages made available for it under the same licenses. On the other hand, if "freedom" in the sense of the GPL is more important to the author than how much adoption they get, they might choose to use one of the ?GPL licenses.

One final point I'll add is that many people who choose a ?GPL license do so under the mistaken belief that it will lead to more contributions back and more "control" over the code they open source. They think that using a permissive license will cause everyone to go off and maintain their own fork instead of contributing back to the project. But in actual fact, it's much more common that people want to contribute back, and _don't_ want to have to keep maintaining their own version. And with a permissive license, they have more freedom to modify the code and provide back their changes to the original author, rather than get tangled up in complex license terms.

Hope that helps.

--
Martin Cooper


+ David Herron - nodejs.davidherron.com

Forrest L Norvell

unread,
Dec 14, 2012, 11:34:19 PM12/14/12
to nod...@googlegroups.com
On Fri, Dec 14, 2012 at 8:28 PM, David Herron <da...@davidherron.com> wrote:

Okay, my early grok of the answers is that there isn't an actual legal hurdle .. someone else using the module won't be subject to the viral effect of the GPL in other words.  It's more of a community dislike.  Am I reading the reaction correctly?

That's a mischaracterization -- npm as a hosting platform and a community tool is neutral. Modules hosted on npm are subject to the terms of the GPL just like any other GPL code. It's just as viral for Node.js as it is for any other platform. But you can put GPLed modules on npm if you like.
 
Which reminds me of a quip I read a long time ago, which went something like:-  I want everyone else's code to be under the BSD license, but I want my code to be under the GPL ..

Basically meaning the tendency is to want do as much as possible with other peoples code while putting as much protection around my code.

Maybe there's a license I don't know about that's a good happy medium between the extremes of BSD and GPL?

There's very little that's extreme about the BSD / MIT license. In fact, I'd put those licenses as in-betweens between public domain / WTFPL-style licenses and ideologically-driven free licenses like the GPL. However, the Perl and Apache licenses were developed as a response to the old-style BSD licenses with advertising clauses vs the extreme purity of the GPL, so you might check them out. And the Affero GPL and LGPL give you other choices on the GPL end of things.

But in the end, Nuno's got it -- do what feels best to you, as long as you're willing to deal with the consequences.

F

Jake Verbaten

unread,
Dec 14, 2012, 11:38:14 PM12/14/12
to nod...@googlegroups.com
From my understanding is that if I have a dependency on a GPL module no matter how deep in my dependency tree (my larger apps have over a 100 dependencies) my entire app is GPL.

I have zero dependencies on GPL modules for that reason and won't use any npm modules that are under the GPL licence.

If you like collaboration or want people to use your code you should licence it as MIT, because it's virtually the community standard. (Meteor released with GPL a while back and was hitting back by the community and changed to MIT)


. They think that using a permissive license will cause everyone to go off and maintain their own fork instead of contributing back to the project.

To back that up, I love npm and have 170+ modules on it. I maintain a few forks of other peoples modules and I hate it. dependencies on git links suck. In fact I already have 170 modules I don't want to maintain any more! I'd match rather make a pull request and have it go into master then maintain it (although it's a struggle to write high quality pull requests with tests!) 


--

Martin Cooper

unread,
Dec 14, 2012, 11:42:11 PM12/14/12
to nod...@googlegroups.com
On Fri, Dec 14, 2012 at 8:28 PM, David Herron <da...@davidherron.com> wrote:

Okay, my early grok of the answers is that there isn't an actual legal hurdle .. someone else using the module won't be subject to the viral effect of the GPL in other words.

I wouldn't be too sure of that, unless you can point to actual legal precedent. That's one of the problems; until the terms of the GPL are tested in court in a JavaScript case, to the point where someone can point to case law and demonstrate that, the viral nature can be argued amongst us non-lawyers, but we don't really *know*. Again, what is the legal definition of "linking" in JavaScript?
 
 It's more of a community dislike.  Am I reading the reaction correctly?

Which reminds me of a quip I read a long time ago, which went something like:-  I want everyone else's code to be under the BSD license, but I want my code to be under the GPL ..

Basically meaning the tendency is to want do as much as possible with other peoples code while putting as much protection around my code.

Maybe there's a license I don't know about that's a good happy medium between the extremes of BSD and GPL?

Well, first,  you'll need to explain why you consider those extremes. :-) If you're looking for a license that is not either of those, what is it that you want to achieve with the license, and how do you anticipate enforcing your choice?

--
Martin Cooper


+ David Herron

--

Austin William Wright

unread,
Dec 15, 2012, 1:52:43 AM12/15/12
to nod...@googlegroups.com
On Friday, December 14, 2012 9:38:14 PM UTC-7, Raynos wrote:
From my understanding is that if I have a dependency on a GPL module no matter how deep in my dependency tree (my larger apps have over a 100 dependencies) my entire app is GPL.
Where in the world do you get this impression? The only person who can set licensing terms on their code are the copyright owners collectively. If you released under MIT, or public domain, or anything else, and other contributors added code (copyrighted by them) under the same license, no term in the GPL or any non-free (conservative, proprietary, or otherwise) license can change that.
 
I have zero dependencies on GPL modules for that reason and won't use any npm modules that are under the GPL licence.
If you're not actually distributing GPL code the GPL doesn't apply to you. Copyright only applies at distribution time (hence the copy in copy-right).
 
If you like collaboration or want people to use your code you should licence it as MIT, because it's virtually the community standard. (Meteor released with GPL a while back and was hitting back by the community and changed to MIT)

. They think that using a permissive license will cause everyone to go off and maintain their own fork instead of contributing back to the project.

To back that up, I love npm and have 170+ modules on it. I maintain a few forks of other peoples modules and I hate it. dependencies on git links suck. In fact I already have 170 modules I don't want to maintain any more! I'd match rather make a pull request and have it go into master then maintain it (although it's a struggle to write high quality pull requests with tests!) 
Git is good, necessary, and proper for the development of code, and the ability to fork libraries is the source of virtually all of the benefit of the liberal licenses. npm is only a package manager, it won't write your code for you.

Jonathan Dickinson

unread,
Dec 15, 2012, 2:36:16 AM12/15/12
to nod...@googlegroups.com
On Saturday, 15 December 2012 06:38:14 UTC+2, Raynos wrote:
I have zero dependencies on GPL modules for that reason and won't use any npm modules that are under the GPL licence.


This brings up a good point: we should maybe be able to blacklist licenses in the NPM client. If you want to write copyleft-free code you should be able to configure NPM to reject copyleft modules so that you don't poison your own codebase.

Austin William Wright

unread,
Dec 15, 2012, 2:41:19 AM12/15/12
to nod...@googlegroups.com
As I mentioned, you can't "poison" your code base merely by listing code as a dependency, submodule, or anything else. You must, at a very minimum, actually be distributing the code in question.

Nuno Job

unread,
Dec 15, 2012, 9:21:22 AM12/15/12
to nod...@googlegroups.com, nod...@googlegroups.com
What if all the top 100 npm maintainers changed everything in npm to gpl?

Would it still be poison then?

Its their work, they dedicated to it. You are using it, for free. Yes, some modules are interchangeable but not all, And normally they were a lot of work to write. Finishing your program would be near impossible without all these modules.

And you are worried cause lawyers tell you crap? Tell them don't like gpl contact the license holder to acquire a comercial license. The email of the author is almost always in the license file. Just don't come and talk about poison and how to avoid it. You and your decisions are (your) problem, not the person that made something for free and offered you for a license that does not require any counterpart unless repackage and sell the source (if gpl, others dont even require this which is amazing and what most people do in the node community)

I think the real issue is how much some developers feel entitled to things. Put yourself in check and ask yourself questions: have i ever contributed back? Have i ever supported an open source project? if not have i ever offered help (or monetary compensation) to the owner of an open source project? If the answer is no, at least dont say things are poison.

Entitled? Be graceful instead

Nuno

Ps. Another topic of discussion would be how the only way to make money in open source is support. What does that tell us about ourselves as programmers and most of all humans? 
--

Isaac Schlueter

unread,
Dec 15, 2012, 12:48:48 PM12/15/12
to nodejs
From the point of view of npm, you can use whatever license you like.
The virality of *GPL licenses as node modules has never been tested in
court, so it's unclear what the ramifications are. But you can even
publish stuff to npm with a license that says "You may not use this
for any purpose unless you send me a check for US$5000, and you may
only run it on computers that have unicorn stickers on their case."


What follows is strictly personal preference, and not the official
word of Node or npm or Joyent or anything else. If you disagree,
that's fine, but you probably won't convince me otherwise, nor do you
need to, because we can all coexist, and disagreement is a part of a
healthy vibrant ecosystem.

From the point of view of isaacs the node user, I'd rather not BE that
court test test, and I care a lot about my freedom to make my code
unfree if I choose, so if your module is proprietary or copyleft of
any sort, I won't use it. If it's AGPL, not only won't I use it, but
I'll laugh at you, because the AGPL is insane.

In my opinion, the best options are BSD, MIT, and Apache2, because
freedom is not about telling other people what to do. The BSD and MIT
licenses are functionally equivalent, but I live near Berkeley, so
that's why I use BSD instead of MIT. (I used to use MIT for
everything before moving to the East Bay, because I grew up in New
England.)

Apache2 has much more thorough coverage of patents and other IP stuff,
but I dislike it because it's so long and tedious, and I distrust long
legal documents for the same reason that I distrust large programs.
You should use it if you care about patent issues, or if you like pink
feathers.


On Sat, Dec 15, 2012 at 6:21 AM, Nuno Job <nunojo...@gmail.com> wrote:
> What if all the top 100 npm maintainers changed everything in npm to gpl?
> Would it still be poison then?

That would never ever happen, Nuno, you know that :) I do personally
think that the GPL is a blight on a programming community, and I love
that Node is much more OSS than free-as-in-beards.

But yeah, it's the author's prerogative. (You could still use
previous versions that were released under the free licenses.)

> Ps. Another topic of discussion would be how the only way to make money in
> open source is support.

Well, you and I both make money in open source, and not just by doing support.

Mark Hahn

unread,
Dec 15, 2012, 1:55:05 PM12/15/12
to nodejs
> but I live near Berkeley, so that's why I use BSD instead of MIT.

A joke, right?

Isaac Schlueter

unread,
Dec 15, 2012, 2:42:14 PM12/15/12
to nodejs
On Sat, Dec 15, 2012 at 10:55 AM, Mark Hahn <ma...@hahnca.com> wrote:
>> but I live near Berkeley, so that's why I use BSD instead of MIT.
>
> A joke, right?

Nope. They're basically the same license, functionally speaking, so
you may as well just pick one for any old arbitrary reason.

Ben Noordhuis

unread,
Dec 15, 2012, 2:51:40 PM12/15/12
to nod...@googlegroups.com
On Sat, Dec 15, 2012 at 6:48 PM, Isaac Schlueter <i...@izs.me> wrote:
> Apache2 has much more thorough coverage of patents and other IP stuff,
> but I dislike it because it's so long and tedious, and I distrust long
> legal documents for the same reason that I distrust large programs.
> You should use it if you care about patent issues, or if you like pink
> feathers.

With the benefit of hindsight, the Apache license might have been a
better choice for node.js. It would have reduced - probably removed -
the need for a CLA.

That said, patents are mostly an American issue. I release most of my
personal stuff under the ISC license, which is like MIT but with even
less boilerplate.

Jake Verbaten

unread,
Dec 15, 2012, 4:16:42 PM12/15/12
to nod...@googlegroups.com
The virality of *GPL licenses as node modules has never been tested in
court, so it's unclear what the ramifications are. 

To clarify, if I were to release a MIT module onto github or npm or some other distribution channel which has a dependency on an GPL module checked into node_modules into git. (so it's in my code).

There would have to be a court case to determine whether or not I am allowed to licence my top level code under MIT instead of being forced to use GPL because a dependency is GPL?


On Sat, Dec 15, 2012 at 9:48 AM, Isaac Schlueter <i...@izs.me> wrote:

David Herron

unread,
Dec 15, 2012, 7:47:08 PM12/15/12
to nod...@googlegroups.com
On Sat, Dec 15, 2012 at 1:16 PM, Jake Verbaten <ray...@gmail.com> wrote:
The virality of *GPL licenses as node modules has never been tested in
court, so it's unclear what the ramifications are. 

To clarify, if I were to release a MIT module onto github or npm or some other distribution channel which has a dependency on an GPL module checked into node_modules into git. (so it's in my code).

There would have to be a court case to determine whether or not I am allowed to licence my top level code under MIT instead of being forced to use GPL because a dependency is GPL?

Earlier Martin Cooper raised the question of what does it mean to "link" in JavaScript.  That wasn't just an idle question, because IIRC the GPL viralness kicks in when you "link" code together.  In JavaScript there's no "linking" involved (because it's not compiled) and with Node.js modules there's no subclassing ... etc .. soooo...

Are you sure it's a good idea to check dependencies into your own source tree?  That doesn't sound like a good practice to me.  Why not let npm take care of the dependencies? 

I would think that when you "npm install" a package, and npm installs all the dependencies, that the binding is loose enough to not trigger any actual concern.  

But, yeah, okay, it's not terribly well a clear-cut thing.  Ah.. maybe an analogy could be drawn from packaging policies in, say, the Debian/Ubuntu projects?

+ David Herron, nodejs.davidherron.com

Martin Cooper

unread,
Dec 15, 2012, 8:28:55 PM12/15/12
to nod...@googlegroups.com
On Sat, Dec 15, 2012 at 4:47 PM, David Herron <da...@davidherron.com> wrote:
On Sat, Dec 15, 2012 at 1:16 PM, Jake Verbaten <ray...@gmail.com> wrote:
The virality of *GPL licenses as node modules has never been tested in
court, so it's unclear what the ramifications are. 

To clarify, if I were to release a MIT module onto github or npm or some other distribution channel which has a dependency on an GPL module checked into node_modules into git. (so it's in my code).

There would have to be a court case to determine whether or not I am allowed to licence my top level code under MIT instead of being forced to use GPL because a dependency is GPL?

Earlier Martin Cooper raised the question of what does it mean to "link" in JavaScript.  That wasn't just an idle question, because IIRC the GPL viralness kicks in when you "link" code together.  In JavaScript there's no "linking" involved (because it's not compiled) and with Node.js modules there's no subclassing ... etc .. soooo...

The problem with that statement - that there is no linking - is that you're speaking as a technologist, not as a lawyer. It is not at all clear from a legal perspective that there is no linking involved, and it won't be until, as Isaac pointed out, this lands up in the courts and a legal precedent is set.

Many consumers of open source, individual and corporate, are not willing to be guinea pigs in that legal experiment, when it eventually happens, so they elect to avoid using ?GPL licensed software and avoid the risk. And they also avoid ?GPL when they license their own code.
 
Are you sure it's a good idea to check dependencies into your own source tree?  That doesn't sound like a good practice to me.  Why not let npm take care of the dependencies? 

I would think that when you "npm install" a package, and npm installs all the dependencies, that the binding is loose enough to not trigger any actual concern.  

Again, though, you're speaking as a technologist. You shouldn't assume that lawyers would come to the same conclusions.

My suggestion is simple: Choose whatever license meets your needs, but make sure you actually understand your goals, and make sure you fully understand the license you choose.

--
Martin Cooper


But, yeah, okay, it's not terribly well a clear-cut thing.  Ah.. maybe an analogy could be drawn from packaging policies in, say, the Debian/Ubuntu projects?

+ David Herron, nodejs.davidherron.com

Chad Engler

unread,
Dec 18, 2012, 7:32:05 AM12/18/12
to nod...@googlegroups.com

I prefer to release under MIT or MPL; GPL can infect other applications that use your module.

 

-Chad

--

Alex Kocharin

unread,
Dec 18, 2012, 8:23:34 AM12/18/12
to nod...@googlegroups.com
 
Chad, you can use LGPL then, it's not very infectious.
 
David, you can use any open opensource license you want.
 
If your package is simple enough, it's just easier to use BSD. If your package is a large framework and it takes a lot of time to do, maybe GPL or LGPL is better, but it's a matter of taste.
--
// alex
 
 
18.12.2012, 16:32, "Chad Engler" <Chad....@patlive.com>:

Angel Java Lopez

unread,
Dec 18, 2012, 8:43:47 AM12/18/12
to nod...@googlegroups.com
Great and interesting thread!


Alex Kocharin wrote:

If your package is a large framework and it takes a lot of time to do, maybe GPL or LGPL is better, but it's a matter of taste.

Hmmm... what is the argument (or matter of taste) that goes

from:

X is a large framework
X takes a lot of time to do

to:

GPL or LGPL is better for X

better why?

Austin William Wright

unread,
Dec 18, 2012, 6:51:32 PM12/18/12
to nod...@googlegroups.com
The CLA is already unnecessary. No court has ruled otherwise when it comes to derivative works.

Austin William Wright

unread,
Dec 18, 2012, 6:55:32 PM12/18/12
to nod...@googlegroups.com
It is a clear-cut thing: "Linking" in the context of copyright means to embed another program (compiled or otherwise) inside your program and distribute it.

The GPL does not decide when it gets to be applicable, all it gets to do is decide when to grant permission to distribute. If you're not distributing GPL-licensed programs, the GPL doesn't apply to you. Period.

Isaac Schlueter

unread,
Dec 19, 2012, 2:30:55 PM12/19/12
to nodejs
Austin,

Cool story. Where'd you go to law school?

Isaac Schlueter

unread,
Dec 19, 2012, 2:39:03 PM12/19/12
to nodejs
Sorry, that's slightly more confrontational than I intended.

What I mean is: All of us are probably not lawyers, and certainly not
endowed with the legal specialization that goes into IP law. If we
were, we'd be busy doing that instead of writing software.

The law is extremely complicated, with zillions of edge cases. If a
lawyer with no computer programming experience were to read the source
code of some part of the linux kernel, and tell you how it works,
would you just believe them? I'd require a test, at least, or the
advice of someone a bit more experienced with that particular piece of
complexity.

In legal matters, test cases are expensive. And what you're
describing has never been tested in court. In fact, editline and LGPL
both exist because there are many in the Free Software and Open Source
communities who believe that you are quite incorrect in how you're
interpreting the legal definition of "linking", and they'd rather not
spend money being the test case.

So, until there is a test case, and then probably a few more (since
legal matters are often not settled by one test), it's up in the air,
and none of us are really all that qualified to make such definitive
statements.

Saleem Abdul Hamid

unread,
May 7, 2013, 8:51:38 AM5/7/13
to nod...@googlegroups.com
Is there a license that says most people can do whatever you want with my stuff but if Microsoft (example) uses it to make 100 million dollars, I want to negotiate for a piece of it? That's really the question everyone is asking, although they're too shy to say it, because wanting to make money off of your stuff is considered bad form in certain quarters.

Personally, even if a huge company with a lot of money was using one of my projects as an integral part of a moneymaker, I'd be happy with a very, very fair (for them) royalty that they would probably not even consider significant. But if you use the MIT, the question of negotiating anything doesn't even come up.

To be clear, I want a license that is not infectious at all. That lets people use, modify, redistribute, all that good stuff. But just leaves open the door that if someone gets really rich using my project, I can benefit from coming up with the idea and doing the work.

Is there a license that represents this?

On Friday, December 14, 2012 10:38:05 PM UTC-5, Forrest L Norvell wrote:
On Fri, Dec 14, 2012 at 7:29 PM, David Herron <da...@davidherron.com> wrote:
I'm curious about the preferred license for modules that are distributed through the npmjs.org repository

We discussed this a bit at NodeConf summer camp this year, and the consensus was pretty strongly in favor of BSD or MIT licenses, or at least pretty liberal, commercial-use friendly licenses (including the Perl and Apache licenses).

In particular is there any legal barrier to using GPL in such modules?

As far as I understand it, the legal barrier would be whether a module which uses a GPL'd module is derivative of that module.  I don't think that it would be, but then the LGPL license does exist for a reason.  

José F. Romaniello

unread,
May 7, 2013, 9:01:54 AM5/7/13
to nod...@googlegroups.com
I think there isn't a license like that and I am not a law expert (as most of you), but I'd like to put my opinion: 

- "really rich" seems very subjective.
- what is the role your library have in the final product? and what is fair?. If you have a library like let's say "node-redis" and someone make a lot of money with "Enterprise Paid Node Redis Driver" which uses yours, I think you diserve something bigger than if someone make a lot of money with a new social network that also uses your library. I think this is at some degree very subjective too, these two examples are black and white but there are also lot of grey areas.
 
If someone is making a lot of money with your library there are some good chances that they will hire you 



2013/5/7 Saleem Abdul Hamid <mee...@gmail.com>

--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jérémy Lal

unread,
May 7, 2013, 9:28:29 AM5/7/13
to nod...@googlegroups.com, Saleem Abdul Hamid
Maybe CC-BY-NC-3.0
http://creativecommons.org/licenses/by-nc/3.0/

Mind that it is not a free software license.

J�r�my.

On 07/05/2013 14:51, Saleem Abdul Hamid wrote:
> Is there a license that says most people can do whatever you want with my
> stuff but if Microsoft (example) uses it to make 100 million dollars, I
> want to negotiate for a piece of it? That's really the question everyone is
> asking, although they're too shy to say it, because wanting to make money
> off of your stuff is considered bad form in certain quarters.
>
> Personally, even if a huge company with a lot of money was using one of my
> projects as an integral part of a moneymaker, I'd be happy with a very,
> very fair (for them) royalty that they would probably not even consider
> significant. But if you use the MIT, the question of negotiating anything
> doesn't even come up.
>
> To be clear, I want a license that is not infectious at all. That lets
> people use, modify, redistribute, all that good stuff. But just leaves open
> the door that if someone gets really rich using my project, I can benefit
> from coming up with the idea and doing the work.
>
> Is there a license that represents this?
>
> On Friday, December 14, 2012 10:38:05 PM UTC-5, Forrest L Norvell wrote:
>>
>> On Fri, Dec 14, 2012 at 7:29 PM, David Herron <da...@davidherron.com<javascript:>

Fedor Indutny

unread,
May 7, 2013, 9:32:52 AM5/7/13
to nod...@googlegroups.com, Saleem Abdul Hamid
God, you either doing it for free or not. There's always an opportunity to make money on your thing by doing paid support for it, and that's how many opensource devs are receiving money for it.

Cheers,
Fedor.


On Tue, May 7, 2013 at 5:28 PM, Jérémy Lal <hol...@gmail.com> wrote:
Maybe CC-BY-NC-3.0
http://creativecommons.org/licenses/by-nc/3.0/

Mind that it is not a free software license.

Jérémy.

Saleem Abdul Hamid

unread,
May 7, 2013, 9:47:27 AM5/7/13
to nod...@googlegroups.com, Saleem Abdul Hamid, fe...@indutny.com
There are two traditional ways of making money on MIT, etc. licensed software, it seems. The first is paid support, the second is getting famous enough from it that it becomes your résumé and you get higher paying regular jobs because of it.

But it's silly to assume that these two scenarios fit every individual writing software. What if you don't want to work on other people projects (eliminating option 2) and your project is so well-written and simple to use that no one really needs support for it (option 1 gone)? Both of those options assume you're going to spend your whole life in the same niche in the software industry. What if you have another passion, like sailing or music or something, and you're trying to support yourself from your project while pursuing that passion?

I guess a third option is to accept donations. Are there any live examples of people having success with that, and how big must your project be for you to have a chance?

Alex Kocharin

unread,
May 7, 2013, 11:39:33 AM5/7/13
to nod...@googlegroups.com
 
You can use dual-licensing. Let people choose GPL or commercial license, so anyone who can't use infectious type will be forced to pay...
 
--
// alex
 
 
07.05.2013, 16:51, "Saleem Abdul Hamid" <mee...@gmail.com>:
--

Martin Cooper

unread,
May 7, 2013, 12:06:19 PM5/7/13
to nod...@googlegroups.com
On Tue, May 7, 2013 at 8:39 AM, Alex Kocharin <al...@kocharin.ru> wrote:
 
You can use dual-licensing. Let people choose GPL or commercial license, so anyone who can't use infectious type will be forced to pay...

... or simply choose a different package. It's open source; if people don't like the terms, and there's a need, someone else will write one with more acceptable terms. You won't "force" anyone to pay.

--
Martin Cooper

Isaac Schlueter

unread,
May 7, 2013, 3:02:51 PM5/7/13
to nodejs
(IANAL. I'm fantasizing. Please ignore.)

I've often thought it would be worthwhile to have some kind of "free
once I make some money" license. Like, if you're a not-for-profit
entity, you can use this code under BSD today. If you are a
for-profit enterprise, you can use this code freely for profit as long
as you pay me $100. Once I've made $100,000 from this code, it'll be
released for all under the BSD license.

Neat idea for a startup or something :)

José F. Romaniello

unread,
May 7, 2013, 3:09:37 PM5/7/13
to nod...@googlegroups.com
Tern.js and some other projects I've seen was crow-founded in a similar way http://www.indiegogo.com/projects/tern-intelligent-javascript-editing

The author says "I am going to do this anyway, but if I reach X amount before some date it will be opensource, otherwise will be a paid-product forever", kickstarter kind of thing




2013/5/7 Isaac Schlueter <i...@izs.me>

Mark Hahn

unread,
May 7, 2013, 3:10:18 PM5/7/13
to nod...@googlegroups.com
You can write any license you want.  The different phases of licensing would all be described in one license.

However, you would have to use definitions for the different phase that are totally unambiguous.  Using terms like "making $100,000" would be ambiguous.  Using a period of time wouldn't be.

Tim Caswell

unread,
May 8, 2013, 10:38:15 AM5/8/13
to nod...@googlegroups.com
I've thought about this topic for years.  The conclusion that I've come to is I never want to charge royalties for software I write.  It's a terrible way to make money off software given the nature of open-source and how open-source markets work.

As the OP has stated, the common ways of making money off open source software are support and better jobs because of a popular project.  I've tried both these, I even moved my family to California so I could be present physically as node.js got off the ground.  I was rewarded with many good salaried node.js jobs even though I never licensed a line of node code I wrote.

But I like to experiment and do my own thing, so my latest strategy is to become an open source mercenary.  I'll spend all day writing open source projects that interest me, but allow people to sponsor various projects that they want me to focus time on.  This month I'm working full-time on the js-git project because my kickstarter for it was wildly successful.

I'm inspired by people like Mike Pall (luajit) and Marijn Haverbeke (codemirror and tern.js) who seem to be able to work on their own projects and still make money.  There are no commercial licencing deals for any of their projects, rather companies sponsor features they wish existed and the result it donated to the entire community for free.

Over the years I've asked many of my employers who were paying me to write open source node.js modules why they see value in paying me.  I would be writing open source software even if they didn't pay me.  The answer was always they saw value if directing and prioritizing what I worked on.  Even if their competitors could freeload and use the code I wrote.  My employer had a strategic advantage because it was written specifically for their needs.

Now, I feel no shame in charging subscription fees for media content (screencasts, books, etc), but I never seem to have time for that.  I'm more a code-slinger than a media producer.

I hope this helps.

Matt

unread,
May 8, 2013, 12:00:41 PM5/8/13
to nod...@googlegroups.com
On Wed, May 8, 2013 at 10:38 AM, Tim Caswell <t...@creationix.com> wrote:
But I like to experiment and do my own thing, so my latest strategy is to become an open source mercenary.  I'll spend all day writing open source projects that interest me, but allow people to sponsor various projects that they want me to focus time on.  This month I'm working full-time on the js-git project because my kickstarter for it was wildly successful.

I'm inspired by people like Mike Pall (luajit) and Marijn Haverbeke (codemirror and tern.js) who seem to be able to work on their own projects and still make money.  There are no commercial licencing deals for any of their projects, rather companies sponsor features they wish existed and the result it donated to the entire community for free.

I've done both, and the unfortunate reality of it is that making money off open source is significantly more work than making money off commercial projects. Finding a project which is successful enough to actually give you something back is extremely rare, and takes a huge amount of marketing. On the flip side getting hired because you have done great work in the open source community is extremely common, and has massively helped my career in the long term.

But please don't think I'm trying to discourage you, Tim, you've found something that people want and are willing to fund you to develop - that's AWESOME. I just hope people realise how much work you had to put into getting to that place.

Matt.

Luke Arduini

unread,
May 8, 2013, 6:05:10 PM5/8/13
to nod...@googlegroups.com
On Wed, May 8, 2013 at 12:00 PM, Matt <hel...@gmail.com> wrote:
I've done both, and the unfortunate reality of it is that making money off open source is significantly more work than making money off commercial projects.

Do whatever you like more. :)

Saleem Abdul Hamid

unread,
May 10, 2013, 10:14:29 AM5/10/13
to nod...@googlegroups.com, i...@izs.me


On Tuesday, May 7, 2013 3:02:51 PM UTC-4, Isaac Schlueter wrote:
I've often thought it would be worthwhile to have some kind of "free
once I make some money" license.  Like, if you're a not-for-profit
entity, you can use this code under BSD today.  If you are a
for-profit enterprise, you can use this code freely for profit as long
as you pay me $100.  Once I've made $100,000 from this code, it'll be
released for all under the BSD license.

Exactly!



On Wednesday, May 8, 2013 10:38:15 AM UTC-4, Tim Caswell wrote:
But I like to experiment and do my own thing, so my latest strategy is to become an open source mercenary.  I'll spend all day writing open source projects that interest me, but allow people to sponsor various projects that they want me to focus time on.  This month I'm working full-time on the js-git project because my kickstarter for it was wildly successful.

 This is pretty much the same conclusion I came to, as well, after the other replies above. I guess, at the end of the day, there're all kinds of ways to make money off-the-beaten-path, it's just a matter of having the ingenuity to figure out one that works.

 
Reply all
Reply to author
Forward
0 new messages