About UsResearchOpportunities
PublicationsResourcesSite Map
 

COSHER = Completely Open Source, Headers, Engineering, and Research

Before investing considerable time in learning how to use new software, and in developing works in that new software, which may then become "locked into" a particular file format, we ask ourselves a very simple question: Is the software in question COSHER?

COSHER stands for Completely Open Source, Headers, Engineering, and Research.

What this means is that there has been no deliberate attempt at obfuscation of the underlying principles of operation of this software, or in preventing us from freely distributing the intellectual foundations upon which we might invest many years of our lives. Deliberate attempts at obfuscation include such practices as elimination of source code and stripping of executable task images.

By using COSHER software, we are making a statement that we prefer Computer Science over Computer Secrecy. Science supports the basic principles of peer review, and a continued development and advancement of software principles, and principles that we build on top of the software.

Moreover, the time we invest in both learning the software, as well as creating works in the software, will be less likely to go to waste if we have a copy of the complete source code of the software. In this manner, should the software ever become discontinued or unsupported, we will be able to become our own software support group and migrate the software forward to new architectures as our old computers become obsolete. If it's COSHER, chances are we'll be less likely to lose the many hours or many years we invest in producing works within the software.

Furthermore, if we make new discoveries that are built on a foundation of COSHER software, they are easier to distribute.

In science, it is important that others be able to reproduce our results. Imagine what it would be like if we had built our results on top of DOS 3.1. Others would have to either rewrite our software to exactly reproduce our results, or find an old version of DOS 3.1. Since this is proprietary software, we are not at liberty to freely distribute it with our research, but it is also no long available for purchase. However, if we had built our work on COSHER software, such as Linux 1.13, we can include a full distribution of Linux 1.3 in an archive, together with our results. Many years in the future, a scientist wishing to reproduce our results could then obtain a virtual machine (emulator for our specific architecture which will no doubt be obsolete by then) and install the COSHER operating system (Linux 1.13) that came with our archive, and then compile and run our programs.

Examples of COSHER software

The Linux operating system is a good example of a COSHER operating system. GNU software is also COSHER. There are many COSHER software packages, including GIMP (Gnu Image Manipulation Program), and the Video Orbits software package, described here.
See also the USENIX98 closing keynote address