While working on a htmlwidget for
CodeMirror called codemirrorR, I remembered a post More Money For Better Open-Source Software from
codemirror author Marijn Haverbeke. He has set up a way to fund his many open source contributions in an attempt to test Option 3 from his post.
"Option 3: The Cultural Approach
This is a long shot, but it is what I'm going to try. I am legally licensing the code under an MIT license, which is very liberal. Contributors keep the copyright over their contributions on the condition that they license them under the same license, so that the project is a free thing that can be continued and forked without my involvement.
But along with this legal licensing situation, I am going to emphasize, in the docs, the license file, and the communication surrounding the project, that free-loading is not socially acceptable. Along with this, I will provide convenient mechanisms to donate. The code of financial conduct would be something like this..."
Types of Open Source Authors
I started to think about classifying types of open source authors.
- Full-time developers whose job is to work on employer sponsored open-source projects.
- Developers who use open source software in their job and who contribute the byproducts of their work back to the core project or as extensions. Many do this as a way to give back to the open source projects on which they or their employers rely.
- Academic researchers who post open source code as a byproduct of their research or as a method of reproducibility.
- Passionate volunteers who sacrifice personal time to contribute out of a sense for charity, for fun, or some other reason that leads them to believe they should not be paid for their efforts.
The first 3 types get monetary and/or non-monetary funding for their contributions. If you rely on work from the first 2, you can often expect these projects to endure. Type 3 (academic) usually die soon after the research is published. Type 4 (me) are the most unstable, and if you rely on a Type 4, I highly recommend that you find a way to motivate them. Since most of their efforts are driven by personal satisfaction, often this only requires you to let them know that you are using their project. However, if you or your employer are using their efforts for your own monetary gain (even if salary), then sharing your monetary gain even if the license does not require sharing just seems like the right thing to do.
For Example, d3
I am currently most concerned about
d3, upon which many
htmlwidgets rely. It an open source project that started as a Type 3 became a Type 1/2 but now seems like a type 4. I am hoping the author Mike Bostock can find a way that we can fund him and hope the results of the funding are ultra-successful.
I and all my
htmlwidgets are Type 4. I do not get paid to make
htmlwidgets or even use
htmlwidgets. Also, if you want to make money using my efforts, I would love to know how we might work together (see Time Isn't Money).