I started the chemfp project to see if I could develop a self-funded free/open source product in my field, cheminformatics. (In short, storing and searching chemical information on a computer. Chemfp does very fast Jaccard-Tanimoto similarity search for "short"/O(1024 bit) bitstrings.
The answer: no.
The paper includes a comprehensive background on the search techniques and the software, which probably doesn't interest most here.
The section I linked to highlights some of the problems I had selling software under the principles of free software. For examples: How do I provide a demo if I always provide MIT licensed source code? Academics expect discounts, but they are also the ones most likely to redistribute the code. Which is not a wrong thing to do! But it affects the economics in a way I could never resolve, compared to proprietary/"software hoarding" licensing models.
As an HN note, I contracted a couple people to help improve the popcount implementations. HN user nkurz developed and tweaked the AVX2 implementation, and proof-read the paper. Thanks nkurz!
You have probably just not understood the concept of free software in the first place...
I'm in the opinion that everyone is free to decide to do a proprietary closed source software if they accept the consequences.
But just think about the fact that your software is built on top of other free software and knowledge. Python for example.
What would you have done without it? If you had to pay thousands of dollars to get a visual studio + dev licences, plus additional thousands of dollars of licenses of proprietary libraries to use.
You would not have been able to create something like that without being in a big Corp.
Also, by being proprietary your are closing yourself a lot of opportunities and contributors. Nowadays a lot of people will not touch your software if it is not free. Even if some could get a 'no-fee' version.
The point being that open source is not the issue. The issue is that you have not found the right model to finance it.
But as stated by you, you started first with the goal to generate money before the goal to create something great. So chances were already good that it would fail in the first place.
I think my paper shows my understanding of free software, but I'll elaborate.
I co-founded the Biopython project, an open source project for bioinformatics. I was secretary of the Open Bioinformatics Foundation and helped organize the Bioinformatics Open Source Conference for several years. I contribute to a number of open source projects, including Python. You'll see my name in Misc/ACKS , I was nominated to the PSF about 18 years ago, and code of mine is in CPython.
So when you write "What would you have done without [Python]" ... the answer is that I would have helped write it.
But I did not contribute to Python, or Biopython, or other projects with the thought that the future would be in debt to me, or feel obligated to respond in kind. Nor do I think most free software developers believe in that obligation. For that's an obligation which can never be paid off. Worse, it means my contribution to free software places the future in even more debt.
You wrote "by being proprietary". That is not quite correct. As I noted in the section I linked to:
"All versions of chemfp are still available under the MIT license. What’s new are proprietary licensing options for those who do not wish to pay the full price, and pre-compiled binaries with a time-locked license key for evaluation purposes."
I think the point you're making is that with a closed development model I am closing myself to "a lot of opportunities and contributors." I touch on that in the paragraph before the section I linked to:
"""While the closed model may inhibit collaborations with those willing to contribute improvements, personal experience shows that it’s rare for most FOSS projects to get more than occasional patches. The disadvantages of the closed model may easily be outweighed by possible additional funding. For example, funding from chemfp sales was used to pay two people from the small community of popcount optimizers to improve chemfp performance"""
You write "Nowadays a lot of people will not touch your software if it is not free."
This is very market dependent. All of my competitors are proprietary vendors, with no option of free software licensing or even source code availability. I certainly agree that it's very difficult to release (say) a new programming language or text editor implementation which isn't free software.
You write: "The issue is that you have not found the right model to finance it."
Yes, that is the point of the section. As I write in the abstract, "Several product business models were tried, but none proved sustainable. Some of the experiences are discussed, in order to contribute to the ongoing conversation on the role of open source software in cheminformatics."
When you write "you started first with the goal to generate money before the goal to create something great", do you mean my summary here? Or what I stated in the paper?
My summary here was for what I thought HN readers would find most interesting. The abstract starts with the overall chemfp goals, those being:
"""The chemfp project has had four main goals: (1) promote the FPS format as a text-based exchange format for dense binary cheminformatics fingerprints, (2) develop a high-performance implementation of the BitBound algorithm that could be used as an effective baseline to benchmark new similarity search implementations, (3) experiment with funding a pure open source software project through commercial sales, and (4) publish the results and lessons learned as a guide for future implementors."""
Making money was only third on the list, and much less important to me than #1 or #2. I make most of my money consulting and writing custom in-house software for pharma R&D. But #1 and #2 are very specialist and not interesting to most HNers.
3 comments
[ 4.8 ms ] story [ 15.9 ms ] threadThe answer: no.
The paper includes a comprehensive background on the search techniques and the software, which probably doesn't interest most here.
The section I linked to highlights some of the problems I had selling software under the principles of free software. For examples: How do I provide a demo if I always provide MIT licensed source code? Academics expect discounts, but they are also the ones most likely to redistribute the code. Which is not a wrong thing to do! But it affects the economics in a way I could never resolve, compared to proprietary/"software hoarding" licensing models.
As an HN note, I contracted a couple people to help improve the popcount implementations. HN user nkurz developed and tweaked the AVX2 implementation, and proof-read the paper. Thanks nkurz!
I'm in the opinion that everyone is free to decide to do a proprietary closed source software if they accept the consequences.
But just think about the fact that your software is built on top of other free software and knowledge. Python for example. What would you have done without it? If you had to pay thousands of dollars to get a visual studio + dev licences, plus additional thousands of dollars of licenses of proprietary libraries to use. You would not have been able to create something like that without being in a big Corp.
Also, by being proprietary your are closing yourself a lot of opportunities and contributors. Nowadays a lot of people will not touch your software if it is not free. Even if some could get a 'no-fee' version.
The point being that open source is not the issue. The issue is that you have not found the right model to finance it.
But as stated by you, you started first with the goal to generate money before the goal to create something great. So chances were already good that it would fail in the first place.
I co-founded the Biopython project, an open source project for bioinformatics. I was secretary of the Open Bioinformatics Foundation and helped organize the Bioinformatics Open Source Conference for several years. I contribute to a number of open source projects, including Python. You'll see my name in Misc/ACKS , I was nominated to the PSF about 18 years ago, and code of mine is in CPython.
So when you write "What would you have done without [Python]" ... the answer is that I would have helped write it.
But I did not contribute to Python, or Biopython, or other projects with the thought that the future would be in debt to me, or feel obligated to respond in kind. Nor do I think most free software developers believe in that obligation. For that's an obligation which can never be paid off. Worse, it means my contribution to free software places the future in even more debt.
You wrote "by being proprietary". That is not quite correct. As I noted in the section I linked to:
"All versions of chemfp are still available under the MIT license. What’s new are proprietary licensing options for those who do not wish to pay the full price, and pre-compiled binaries with a time-locked license key for evaluation purposes."
I think the point you're making is that with a closed development model I am closing myself to "a lot of opportunities and contributors." I touch on that in the paragraph before the section I linked to:
"""While the closed model may inhibit collaborations with those willing to contribute improvements, personal experience shows that it’s rare for most FOSS projects to get more than occasional patches. The disadvantages of the closed model may easily be outweighed by possible additional funding. For example, funding from chemfp sales was used to pay two people from the small community of popcount optimizers to improve chemfp performance"""
You write "Nowadays a lot of people will not touch your software if it is not free."
This is very market dependent. All of my competitors are proprietary vendors, with no option of free software licensing or even source code availability. I certainly agree that it's very difficult to release (say) a new programming language or text editor implementation which isn't free software.
You write: "The issue is that you have not found the right model to finance it."
Yes, that is the point of the section. As I write in the abstract, "Several product business models were tried, but none proved sustainable. Some of the experiences are discussed, in order to contribute to the ongoing conversation on the role of open source software in cheminformatics."
When you write "you started first with the goal to generate money before the goal to create something great", do you mean my summary here? Or what I stated in the paper?
My summary here was for what I thought HN readers would find most interesting. The abstract starts with the overall chemfp goals, those being:
"""The chemfp project has had four main goals: (1) promote the FPS format as a text-based exchange format for dense binary cheminformatics fingerprints, (2) develop a high-performance implementation of the BitBound algorithm that could be used as an effective baseline to benchmark new similarity search implementations, (3) experiment with funding a pure open source software project through commercial sales, and (4) publish the results and lessons learned as a guide for future implementors."""
Making money was only third on the list, and much less important to me than #1 or #2. I make most of my money consulting and writing custom in-house software for pharma R&D. But #1 and #2 are very specialist and not interesting to most HNers.