I'm generally in favor of having source code available for any
software I buy or use, but reluctant to part with source code that I
have spent years working on.
Having the source code certainly makes bug fixes easier, and even
compensates somewhat for the usually grossly inadequate and inaccurate
documentation.
On the other hand, it also makes it much harder for the originator of
the program to keep the program maintained. Bug fixes that are done
at one site are unlikely to propagate back to the original release.
We have local bug fixes and enhancements for several of the
open-source programs we use, and I have no idea whether the people who
did the fixes sent them back to the original maintainers of the
programs, or if they did, whether they were incorporated into the
official version. If we pick up a new release, we may get something
much buggier than what we currently have. For that matter,
open-source software is often fairly unstable with new "features"
added by one person being incompatible with those added by another.
It takes some pretty strong reviewing to keep an open-source program
stable and usable.
If you decide (as our University encourages us) to sell the program to
commercial companies, while giving it away to academics, government
labs, and non-profits, then you have to retain control of the source
code, or it is too easy to pirate the code. This doesn't mean that
the source code needs to be secret, but it may need to be protected by
license agreements.
It turns out that most users don't care about the source code, so just
distributing executables and documentation satisfies over 90% of the
users (how many of you have had to get source code for BLAST?).
If you want to retain control over your program (an idea that is
anathema to some in the open-source community), then a two-tier
license agreement is often the best strategy---most users get a simple
license with permission to use the executables, and those who really
have a need for the source code get a more detailed license.
--
Kevin Karplus karplus at cse.ucsc.eduhttp://www.cse.ucsc.edu/~karplus
life member (LAB, Adventure Cycling, American Youth Hostels)
Effective Cycling Instructor #218-ck
Anything below this line is junk added by others without my approval.