On the openness of RexChain

Based on our experience negotiating with investors.

Our electronic prescription infrastructure has a persistence layer at the core of it’s engine. It used to be called RxChain but we switched to RexChain because the Rx is still there, and T-Rex’s are amazing. Also Rex has a good latin meaning. I’ve always believed in open source and can see many advantages in having your code out in the open. For instance, how it forces you to have best practices, document properly and how it speaks of your openness and trust. You can’t hide bad practices on your privaterepo, and you let the public see that your development process is legit. Of course, for me, the most important thing is that you also teach the community and let others build on what you’ve done.

It turns I also witnessed how CDs beat minidisks, how MP3s beat the myriad of audio encoding codecs out there, and how VHS beat Beta despite the technological superiority of Beta. In the wild, open beats closed. Even the iPod ran Linux at some point. Business models aside (I’ll leave that for another post), justifying an open source project is not necessarily simple, especially to VCs. This short text came about as I went through a due diligence process. When the time came for the technical audit, I got a call from one of the partners.

“Hey, so we were browsing through your github last night, and a friend of ours (he meant, the “auditor”) realized that your repository is public. It put us a little off, he says anyone can clone it…”

There was a really long pause, as my thoughts raced. The first thing that came to mind was, “Really? nothing about the license, nothing about the documentation, nothing about the code itself??” Where could I start?

I explained to the VC that Google had a long history of defaulting to open source, that Microsoft had just open sourced their entire war chest (even IE will now run on the open source Chromium engine) and that this was not a mistake or gross oversight from our development operations team. The conversation flowed awkwardly and I eventually suggested he let me compile some more formal justification. This was my attempt.

Why open source?

The trend of open tech and their relation to open source is pretty clear, open source projects achieve greater adoption, grow faster and get farther. For RexChain, the decision on going open source had to do with these three questions.

Why does your project exist?

What does your project do?

What is the ideal stage of your project?

You need to keep answering these constantly to understand if open source is right for that particular tool. Our Dec 2018 answers are here:

RexChain exists to be the open data standard for clinical data in developing countries. Saving the local govt. time and money by providing a free implementation with the world’s best practices.

It seeks to understand the specific needs of Mexico, latam and developing countries and provide a viable alternative to paper.

The ideal state of the project is to be deployed as basic infrastructure across Mexico, maintained by the people who use it, without depending on any central authority and without the capacity to be taken away by anyone.

Sure, open sourcing your project implies losing some control, but it becomes safer and easier to scale, because if it succeeds, you will not be alone in maintaining the code. It’s particularly clear, that the correct way to implement open standards is to gain the trust of the most potent talent around: software developers.

Some further reading:

1. https://www.forbes.com/sites/janakirammsv/2017/07/09/how-google-turned-open-source-into-a-key-differentiator-for-its-cloud-platform/#13038e646fbd

2. https://opensource.google.com/docs/why/

3. https://medium.com/@johnmark/why-open-source-failed-6cae5d6a9f6