In the Free Software Movement, from which "open source" split off in 1998, we believe computer users should have the freedom to change and redistribute the software that they use. Universities should encourage free software for the sake of advancing human knowledge, just as they encourage scientists and scholars to publish their work. Alas, many universities have a grasping and self-serving approach to software. Free software developers have been dealing with this for almost 20 years.
When I started developing the GNU operating system in 1984, my first step was to quit my job at MIT. I did this specifically so that the MIT licensing office would be unable to interfere with releasing GNU as free software. The "free" in free software refers to freedom: It means users have the freedom to run, modify and redistribute the software. I had planned an approach for licensing the programs in GNU that ensures that all modified versions must be free software as well, an approach that developed into the GNU General Public License (GNU GPL), and I did not want to have to get approval from MIT before using it.
(A modified version of GNU is used on millions of computers, but the users often are not aware of this, because the whole system is widely confused with its kernel program, whose name is "Linux.")
Over the years, university affiliates have often come to the Free Software Foundation for advice on how to cope with administrators who see software only as something to sell. One good method, applicable even for specifically funded projects, is to base your work on an existing program that was released under the GNU GPL. Then you can tell the administrators, "We're not allowed to release the modified version except under the GNU GPL -- any other way would be copyright infringement." After the dollar signs fade from their eyes, they will usually consent to releasing it as free software.
You can also ask your funding sponsor for help. When a group at NYU developed the GNU Ada Compiler, with funding from the U.S. Air Force, the contract explicitly called for donating the resulting code to the Free Software Foundation. Work out the arrangement with the sponsor first, then politely show the university administration that it is not open to renegotiation. They will most likely go along.
Whatever you do, raise the issue early -- certainly before the program is half finished. At this point, the university still needs you, so you can play hardball: Tell the administration you will finish the program, make it usable, if they have agreed in writing to make it free software (and agreed to your choice of free software license). Otherwise you will work on it only enough to write a paper about it, and never make a version good enough to release. When the administrators know their choice is to have a free software package that brings credit to the university or nothing at all, they will usually chose the former.
Not all universities have grasping policies. The University of Texas has a policy that, by default, all software developed there is released as free software under the GNU General Public License. By developing faculty support first, you may be able to obtain such a policy at your university. Present the issue as one of principle: Does the university have a mission to advance human knowledge, or does it exist purely for its own survival?
To make these methods succeed, it helps to have determination and adopt an ethical perspective, as we do in the Free Software Movement. To treat the public ethically, the software should be free -- as in freedom -- for the public. Make it clear you will not settle for a "balanced" solution of "'free' only in price, restricted to academic use only."
If you hold the "open source" view that allowing others to share and change software is just an expedient, a way to make software powerful and reliable, you may find it hard to resist a university administrator's argument that "we could make it even more powerful and reliable with all the money we can get." This may or may not come true in the end, but it is hard to disprove in advance.
But when you recognize that free software respects the users' freedom, while non-free software negates it, then making sure your software is free is a matter of defending freedom for all of society. Nothing strengthens your resolve like knowing that the community's freedom depends, in that instance, on you.
-- Richard Stallman, president, Free Software Foundation