Comments on Opensource and Code sharing

When asked to share their code, many scientists say that they do not want to release their code as it represents a significant time investment on their part and they do not want their competitors to gain an advantage based on this investment.

I’d argue that this is the wrong way of thinking about it. There are numerous companies who contribute to open source code and have perfectly viable business models. Tons of companies contribute to the linux kernel, and nearly all do so in an open manner (There are exceptions, like Nvidia wanting a proprietary blob and DRM in the kernel to allow this). I’d argue that companies such as Nvidia are harming their business model by doing this. Redhat for instance makes a living offering enterprise support for their red-hat opperating system and as a by-product offers the fedora operating system, This has resulted in many spinoff operating systems (CentOS and scientific linux to name a couple) and they aren’t complaining about these spinoffs hurting their bottom line.

Arguing that companies release their code is essentially an argument for Open source. In the 1600s chemists (then called alchemists) used to operate individual laboratories where they would develop cures in secret isolated from their competitors. The wisdom at the time was that another alchemist could cut into their market or offer a better cure if they found out what they were doing. The only way to learn alchemy was to be an apprentice. This also meant that you only learned what your master taught you, and not only that but this master apprentice relationship was often rife with abuse. Anyway, at some point alchemists started sharing their work rather than keeping it secret, and this change is what allowed the proliferation of chemical knowledge and formed the foundation of the modern art of chemistry. Nobody today would in their right mind suggest that going back to those ways would be good. Can you imagine if only one guy in a state knew the laws of physics or how to code C, and you had to get that knowledge from him?

A modern example of closed source technology which can adversely impact people who are using it, is the close-source pacemaker technology which is used in many people. These pacemakers use proprietary code to decide when to deliver electric shocks to the heart. Bugs in this code can lead to death for the user. There is a famous example of a pacemaker using trying to gain access to the source-code of her pacemaker, but ultimately failing. It’s not to say that a lay-person would necessarily be able to use that code, but competant people are capable of understanding the code and subsequently finding bugs [1]. This can only serve to benefit other users of the device, and in turn the company. If someone discovered a bug which may result in user death and fixed it, this patch was pushed to other pacemakers, how much money do you think the company would’ve saved by virtue of these lives being saved?

If more scientists and companies were more forthright about their research, computational science might have a renaissance of it’s own. We would all be better off for it.

Bibliography

  1. K. Sandler, L. Ohrstrom, L. Moy, and R. McVay, “Killed by Code: Software Transparency in Implantable Medical Devices,” Software Freedom Law Center. https://www.softwarefreedom.org/resources/2010/transparent-medical-devices.pdf
Last Updated: Aug 28 2017