Dear all, This is a somewhat unusual message for this list and I wanted people to know that Andrew and I had talked about it (and his proposal) first and that I completely agree that it's an appropriate message for the rdkit-discuss mailing list. We don't agree about everything here, but Andrew is exploring options for how to support himself while working with, and producing open-source software, and I have a ton of respect for that and think that it's something that's likely to be a long-term good for the RDKit community.
So, if you have an objection to this kind of thing showing up on the list: please reply to Andrew and I privately. I don't think a public email "debate" about the topic is likely to be fruitful. If you want to talk about it in person and are planning on being at the UGM: Andrew and I will both be there and we can have a long fun argument in the real world. Best, -greg On Wed, Jul 31, 2019 at 7:02 PM Andrew Dalke <da...@dalkescientific.com> wrote: > Hello RDKit users, > > As some of you know, I have been exploring ways to fund commercial open > source software projects in cheminformatics. I plan to try a crowdsourcing > model to help develop and support the mmpdb matched molecular pair system. > In short, I'm looking for several people or organizations interested in > funding specific new mmpdb features. > > At this point I am looking to see if there is enough interest to be worth > my time and effort. If you are potentially interested, or have feedback, > please respond in private email. > > I am starting with a small trial. > > One company contacted me asking if I could add Postgres support and a way > to export the property rules. I can deliver that to them. However, it > typically takes 2-3 times as much effort to develop software for general > use than software for a single customer. (For example, the people who asked > me to develop a feature don't need much documentation about what the > feature does.) It doesn't seem right to ask them to pay twice as much just > so I can add the result back to mmpdb. > > In addition, others may be interested in those features, and be willing to > pay for them. If I contribute the new features back to mmpdb immediately, > then they have no reason to pay me since the features are there. While if I > wait, I might get more consulting work for redoing the same work. > > Even better, if several companies pay me for a feature, then the surplus > can help fund general mmpdb maintenance beyond those specific features. > > Crowdsourcing > ============= > > I am planning to run the trial as a Kickstarter-like system. For those who > are unfamiliar with Kickstarter, it's a crowdfunding platform. A project > creator comes up with a funding goal, and a deadline. If enough people > commit funding, the project starts. If there isn't enough funding, then no > one does or pays anything. > > For example, if each of three companies commits to paying EUR 5 000, then > the total commitment is EUR 15 000. That exceeds the basic funding goal of > EUR 14 000, which means I will develop a new version of mmpdb with the > features listed below, and deliver the new version to those backers. > > Like most Kickstarter projects, I also have a set of concrete stretch > goals. I honestly don't think I'll get EUR 50 000 of funding for this > trial, but if I do, then I'll be able to make many improvements to the > mmpdb project, and make it all available through the main mmpdb repository > as soon as it's ready. > > Goals and Funding levels > ======================== > > Here are the provisional goals and corresponding funding levels. At this > point I am looking for feedback before committing to them. > > o Basic level - EUR 14 000 > > This pays for my time to add support for: > > - Postgres database support > - rule and property rule export > - provide environment fingerprints as SMILES fragments, instead of or in > addition to SHA256 hashes > > Everyone who joins the crowdsourcing consortium would receive the new > features, under the existing 3-clause BSD license. However, in order to > incentivize people to join, this new code will not be sent upstream to the > main mmpdb repository hosted by the RDKit project. (See the Q&A below.) > > Feedback question: are there any other minor modifications that several > people would like, and are willing to pay for? > > o Delayed upstream level - EUR 20 000 > > Within 6 months of completion, I will contribute the new features back > upstream to the main mmpdb repository for anyone to download and use. > > The delay is meant to encourage people to fund the project now, rather > than wait until it is available for free. > > Feedback questions: is this a reasonable enticement? Is the delay too > short or too long? Perhaps I should consider something else? The main > problem with open source funding has always been in trying to get people to > pay for things which are already available for free. > > o Documentation level - EUR 25 000 > > At this level of support, I rewrite and update the documentation from the > current README into a better form that can be hosted on "Read the Docs". Of > this, USD 400 will go to sponsoring Read the Docs. > > o mmpdb/GitHub support - EUR 29 000 > > At this level of support, I will be able to handle support questions on > the mmpdb project page on GitHub for a year. > > o Instant upstream level - EUR 37 000 > > At this level of support, the code is distributed upstream at once, with > no further delay. > > o Test suite level - EUR 50 000 > > At this level of support, I develop a reasonable automated test suite for > the project. Currently there are only a few tests to assure that the basic > functionality works. This must be fleshed out in order to support long-term > development. Good test suites often find new bugs, which I'll also fix. > > > How to join > =========== > > To start, email me to say that you are interested, and how much you are > willing to fund. > > Kickstarter allows people to set their own donation levels, which is > likely difficult to explain to the financial department. I can understand, > because I know I'm weirded out by the restaurants which allow you to pay > what you think the food was worth! > > Instead, here are the funding levels: > > Academic/Individual - EUR 1 000 > Research group - EUR 3 000 > Organization - EUR 5 000 > > All crowdsourcing consortium members will receive the mmpdb source code > under the existing 3-clause BSD license. > > Those wishing to pay an additional EUR 3 000 will receive 1 year of > support. That EUR 3 000 will added to the sum used to determine if a > funding goal is met. > > The funding status will be made public. Funders can be left anonymous or > agree to have their names used. > > I generally use purchase orders, paid to my company's Swedish bank > account. I can accept credit card payments through PayPal, though will > charge 10% more because of the overhead. > > If enough people commit to the project, I will send out a formal quote to > the backers, and start the purchase order process. > > > Timeline > ======== > > As a rough timeline: > > Today - Pre-announcement on the RDKit list for planning purposes > 1 September - Announcement on the RDKit list > 28 September - Lightning talk at the RDKit UGM > 1 October - Second announcement on the RDKit list > 1 November - Call off the trial if there has not been enough interest > 1 December - End of fundraising / see which funding goals are met > > Note: I define "interest" as people sending me an email saying they/their > company wants to join, at a given funding level. It does not mean that I > have a purchase order from everyone. It should be seen as a verbal > agreement, not a written or financial commitment. > > Project work will likely start shortly after the interest level meets the > basic level goal. > > If this trial proves very successful (over EUR 30 000 or so), then one > likely future crowdsourcing project will be to develop a web interface for > mmpdb. > > > Questions & Answers > =================== > > 1) Is it really "open source development" if it isn't available to > everyone for free? > > Most well-known open source software is also available at no cost. > However, open source, and free software, describe the rights and freedoms > available to the person who receive the software. They do not require that > the software be made available for no cost. > > Think if you modify a GPL project like Open Babel, and distribute the > changes to a friend. There's nothing about the GPL, or the principles of > open source, which require you to also distribute that code to anyone else. > > I am influenced by Stallman's essay at > https://www.gnu.org/philosophy/selling.html . He states "if you are > redistributing copies of free software, you might as well charge a > substantial fee and make some money. Redistributing free software is a good > and legitimate activity; if you do it, you might as well make a profit from > it. ... Distributing free software is an opportunity to raise funds for > development. Don't waste it!" > > > 2) What happens to the code if the 'Delayed upstream level' goal of EUR 20 > 000 isn't reached? > > That's a tough one. At the very least, any of the backers who receive a > copy of the code could contribute the code to the main mmpdb repository in > the RDKit project. > > If there is little interest, I will likely release it after 9 months or a > year, and also reduce my involvement in developing open source > cheminformatics software, as I cannot continue to do things for free or low > wages. > > > 3) What about Oracle support, or feature X? > > Then let me know. Part of my goal now is to figure out which to include as > the features to implement at the basic level. > > If there's more interest, I might have two feature levels. > > In any case, I am also available for consulting work. > > > 3) Where should I send questions and suggestions? > > Right now, private email to me is the best. I'll set up a mailing list and > project web page if I get preliminary feedback that it's worth my time to > go further with this trial. > > Thanks for reading to the end! > > Andrew Dalke > da...@dalkescientific.com > > _______________________________________________ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss