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. On Tue, May 7, 2013 at 2:10 PM, Mark Hahn <m...@hahnca.com> wrote: > 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. > > > On Tue, May 7, 2013 at 12:02 PM, Isaac Schlueter <i...@izs.me> wrote: > >> (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 :) >> >> >> On Tue, May 7, 2013 at 9:06 AM, Martin Cooper <mfncoo...@gmail.com> >> wrote: >> > >> > >> > >> > On Tue, May 7, 2013 at 8:39 AM, Alex Kocharin <a...@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 >> > >> > >> >> -- >> >> // alex >> >> >> >> >> >> 07.05.2013, 16:51, "Saleem Abdul Hamid" <meel...@gmail.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. >> >> >> >> >> >> 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 >> >> >> >> >> >> >> >> -- >> >> -- >> >> 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 nodejs@googlegroups.com >> >> To unsubscribe from this group, send email to >> >> nodejs+unsubscr...@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+unsubscr...@googlegroups.com. >> >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> >> >> >> >> >> -- >> >> -- >> >> 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 nodejs@googlegroups.com >> >> To unsubscribe from this group, send email to >> >> nodejs+unsubscr...@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+unsubscr...@googlegroups.com. >> >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> >> >> > >> > >> > -- >> > -- >> > 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 nodejs@googlegroups.com >> > To unsubscribe from this group, send email to >> > nodejs+unsubscr...@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+unsubscr...@googlegroups.com. >> > For more options, visit https://groups.google.com/groups/opt_out. >> > >> > >> >> -- >> -- >> 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 nodejs@googlegroups.com >> To unsubscribe from this group, send email to >> nodejs+unsubscr...@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+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -- > -- > 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 nodejs@googlegroups.com > To unsubscribe from this group, send email to > nodejs+unsubscr...@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+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- 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 nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.