The value of the open source community

One of the most valuable components of open source hardware and software making is availability of code and guides built by a community around a solution, hardware, or topic.

The corollary to that is that no open source solution or hardware will succeed without a critical mass of active users.

Duh
Ok, so that might sound obvious. But let me illustrate what happened to me last week.

I’ve been breaking down and inspecting a patient monitor recently. I wanted to have it send some HL7 messages to a server, so I could see the kinds of messages and see how that messaging can be hacked. I had a Raspberry Pi 4 from another project looking for something to do, so I typed in ‘open emr raspberry pi’ to see what I could find.

There were a few. Cool. And there was one that already had an image for the Raspberry Pi. So I downloaded it, put it on a SD, and then tried to use it.

Nope. It was only for the Raspberry Pi 3.

No worry, there seemed to be a wiki with instruction on how to install it from scratch. Though it seemed like there were some missing pieces, the code was a bit too generic for Raspbian, the applications to download didn’t really map to PyPi where it as coming from.

No worries. I slowly worked my way through things, stepping forward, and falling back as I did my troubleshooting. What became obvious was that not many folks seemed to be talking about the process, so I really was flying blind, no examples, tips, forums, guides to help me in the install.

Ok, worries. I saw what hinted to be easier ways to install from PyPi. Why wasn’t that in the official guide? Why didn’t the PyPi stuff match the stuff in the official guide?

No matter. I managed to get the EMR server up and running, learning along the way what was needed to make this thing run.

Then I tried to install the client. And the official guide wasn’t helpful at all for a n00b like me to sort out the errors. Why was it so f-in hard to just install the damed thing? Hadn’t this EMR been around for years?

I then saw that what little was written up for this EMR talked about SUSE, a distribution of Linux I didn’t know at all. But the SUSE site had a guide for installing this EMR. So I loaded SUSE on an SD and did the painful thing of setting it up to use.

Though this time I set a time limit, as the whole process really was disheartening.

Needless to say, the time ran out.

Community helps
That evening, looking back on the two or so days I was trying to make this happen, I realized the value of a broad user base sharing code and insights.

I’ve built a ton of projects, designed boards, coded things – all with a backdrop of guide, tutorials, example code, easy to deploy tool chains, and lots and lots of community chatter.

I couldn’t find anything of the sort for this EMR (and I think it’s been around for 10 years!). And the lame state of the official guide, websites, and such suggests that this isn’t really something that I can do.

Two lessons
The first lesson is for me – stick to things that reside in a healthy ecosystem of code, hardware, examples, history, and people to talk to.

The second lesson is for all of us – if you want to succeed, make an effort in building that ecosystem, one the feeds on itself and rapidly grows as folks use what you make, share what you make, and hack what you make.

A belated realization
When I was selling a Hadoop version way back when, I was wondering why the more established players flaunted the levels of commits and the like.* I knew it was a proxy for interest. But now I know that it’s also a proxy for examples, creations, and support from the community. That should be considered also when choosing software or hardware platforms to build upon.

Right?

What do you think? Do you have similar stories?

*Actually, when reading up on a repo on GitHub, I always look at the last commit dates, not only to see how active the repo is, but to tell me if I’m going to have any trouble. This isn’t a petty thing to think of, but actually an important indication of things such as quality, relevance, and usability (as I guess I’ve always implicitly known, reinforced by this EMR fiasco).

Image by Tumiso