Access To Source Code

Software development is in its infancy and is more of an art form than a science. This fact makes the practice quite volatile. Tools change, bugs are discovered and fixed, and new techniques are discovered and employed constantly. This can make applied research on a subject of software reuse quite challenging.  Thus one needs to concentrate on the fundamental over the flashy; on the flexible over the fixed.

For these reasons, it is important to have access to source code for the software components as well as the the tools used to build them.
Source code for the tools is necessary to adapt them for use in environments for which the original designer did not envision. Similarly, source code for components allows users to refactor and improve the original components. Otherwise, one has to work around flaws and not pursue more ideal solutions.

Binary distributions in the form of libraries principly serve as a form of intellectual property protection. While this is a valid use in the economic sense, it is counter to the needs of a software research community and the study of software as a science.

The bottom line is that for research and many other types of work, there is no substitute for having access to source code. Therefore, in all of my persuits, I wil only used closed source software if there is no open source alternative. In addition, all of the software that I develop is to be freely available to further the state of the art in software engineering.