One of my graduate students just got offered a job at computational chemistry software company. I have a lot of respect for this company; they make very good, very fast, and very capable products. They also hire real scientists and do a lot of work to make sure the calculations performed by their code actually mean something. Their advisory board contains some of the smartest people I have ever met.
However, their code is not open. And this, I think, is a real problem. Imagine a skeptical researcher who is sent a paper to review. Further imagine that this paper uses this company’s software, and the skeptical researcher doesn’t have the money for a license. He or she therefore can’t “look under the hood” to verify what’s going on if they have some questions about how the code is calculating something relevant to the paper. There are good reasons that this company doesn’t give away their code; they like to put food on the table, and they don’t trust the rest of the community to shell out the money for their programs if the code were available for free.
So, I’m left with a dilemma. I want this company to do well, to hire more of my students in the future, and to continue to produce high quality code. I also want the codes that we use in my field to be available for skeptical review. So today, I’m starting a set of posts in which I’ll try to hash out the following question: How can people make money from open source scientific software?
The question has been asked (and answered) many times before in non-scientific fields, and some of the answers that might work for a piece of commodity software (like a database) might not work so well for highly-specialized software. Over the next few days, I’ll lay out a set of common strategies from non-scientific fields to figure out if any of these strategies might work in the sciences.
A rough outline for the posts which will follow is:
- Sell hardware
- Sell services
- Dual-license your software
- Use the academic community
- Differentiate between single run and high-throughput versions
I’m not naming the company involved. I’d like figure out a general strategy for making money from open source scientific software that won’t be specific for a single field. I’m hoping some of the developers and principles stop by to make comments, however.