This is the first of a series of three discussing open source software for non-programmers interested in informatics. I try to stay as accurate as possible while avoiding jargon.
Open source (OS) has been a popular phrase not only in software engineering but also in radiology. Open source is closely tied to DICOM, the most popular format in medical imaging, in part because many frameworks available to manipulate DICOM files are open source.
A thorough discussion on OS is available here. If you are more into an abbreviated 3-minute introduction, stick around.
Open source can create collaboration and a sense of community. For example, the Medical Imaging Resource Center (MIRC) is a set of publicly licensed software tools allowing individual institutions to build teaching files.
However, open source is also confusing. Sometimes knowing exactly what someone means by “creating an open source software” is difficult. Even if you are not a programmer, knowing a few things about OS projects when checking out the SIIM Open Source Plug Fest helps the experience.
What Is Open Source
Open source is often used interchangeably with “free software.” However, OS is a nuanced form of free. It comes in many definitions and, sometimes ironically, with restrictions.
Open source is free – free as in beer and free as in speech.
Free as in Free Beer
This is the conventional definition of free – zero cost. The way OS software fosters a community is through the freely available code. OS software programmers allow you to download the source code of the software for free. The most important thing to know about OS is that it applies to the source code and not (necessarily) the compiled program.
In other words, if a project is OS, those creators by definition have to give away the source code without charge.
This also means that software distributed for free BUT with the source code held proprietary are not open source. Examples of freeware that are not OS include the Facebook app for smartphone and Mozilla Firefox.
Free as in Free Speech
So what if what you’re getting is the source code and not the software?
When a writer creates a book, we cannot copy any section of it and republish it as our own. Doing so constitutes copyright violation or plagiarism.
However, we know that some books sit in the public domain. Just as you are free to speak as you believe, you can adapt a public domain to your imagination. For example, an author took entire segments of Jane Austen’s novel, added some undead-inspired fight scenes in Pride and Prejudice and Zombies.
Public domain is a form of open source. It is the most open form with no restrictions.
However, just like you can’t exercise your first amendment rights to yell “Fire” in a crowded place, often an OS code comes with restrictions. OS code usually comes with a license that details what can and cannot be done with the software. Usually the license will adhere to a variation of the Open Source Definition.
For instance, one of the most well-known license in this space is GPL (GNU Public License). GPL allows you to do anything you wish to the source code of that software at no cost, but the catch is your software itself also must be licensed under GPL.
Summary: What Free Implies
Open source is a complex topic, the full details of which are outside the scope of this post (and my understanding – I’m a nerd, not a copyright lawyer!).
However, within the scope of – say, the SIIM OS plug fest, this is usually what you could expect of an open source project:
The code has to be available.
Well, and free.
You can use the code however you want
The license outlines how the code can be redistributed, but it does not restrict how the code is used. An open source project does not discriminate against specific uses.
The code usually comes with no warranty
Because programmers are making the source code available to you, they usually take no responsibility for the result of that source code. After all, the control for the code is on the hands of the actual user, not the creators.
The code may or may not come with an executable binary
With freedom comes responsibilities. While some OS projects are fairly mature and come with everything necessary to get it up and running, others are a little like Phase 1 clinical trials. They may have shown promise in controlled settings but are so early in development such that some early versions of the code won’t even compile. Others may require a fairly specific setup.
To Be Continued…
Next in the series focuses on common misconceptions about open source projects – some of which could affect how you decide to use OS in your practice. Or if you are already involved in an OS project, find out to add unique value to an OS project without being a hardcore coder.
[Tweet “The layperson’s introduction to open source software.”]
Pingback: 7 Things Worth Checking out at SIIM 2015 | Figure Stuff Out
Pingback: Opening Up – Adding Value to Your Open Source Project | Figure Stuff Out
Pingback: The 5 Myths of Open Source – A Guide for The Non-Programmer | Figure Stuff Out