I learn best by seeing. I better understand mathematics and calculus when my professor manipulates the numbers for me on the board. I pick up physics quicker when I'm shown a physical demonstration, and then have the theoretical equations illustrated for me in concrete terms.
I've taught myself a fair amount of programming by looking at code. Consequently, my ability to learn is diminished when I am asked to learn from programs that I cannot study. It is particularly upsetting and ironic when I am asked to do so by an institution which has promised to teach me.
I am a student learning computer science at the University of Kentucky. One of the courses required for this major requires that I use proprietary software. I am ethically opposed to the use of such software. All semester (until now), I have cordially and non-confrontationally asked that these beliefs be respected. I have been ignored. My grade has begun to suffer as a result. I am writing now to bring my case to the attention of my entire computer science department. Others, like the award-winning computer scientist, Richard Stallman, have explained at length why one should take an ethical stance for software freedom; I will not restate such arguments here. I do, however, encourage readers who are not familiar with these arguments to read The GNU Project's and the Free Software Foundation's philosophy page (at http://www.fsf.org/philosophy/).
As I have made my case privately to various faculty in my department, several challenges have been offered to suggest why I cannot reasonably expect to go through required major courses without using proprietary software.
Some have speculated: "What if you were ethically opposed to using textbooks?" Some have argued (correctly) that some Free Software tools do not currently have the same features as their proprietary software equivalents. Others have maintained that teachers and teaching assistants should not be asked to do non-uniform grading. While I understand all of these concerns, I do not believe they should lead to discounting and dismissing my ethical objections.
When I demand that the software I use be free (as in freedom), I demand that I have the right to study it. Proprietary software is not analogous to proprietary textbooks. While I (sadly) don't have the freedom to modify or freely redistribute my textbooks, I am permitted to study them. I then may reexpress what I've learned in a new tangible medium without infringing on the book's copyright. The real analogy for proprietary software is a textbook written an ancient Egyptian cuneiform (i.e., binary code), along with a license that prohibits me from learning that ancient cuneiform .
Even with non-free textbooks, I can, if nothing else, learn from them and apply that knowledge elsewhere. I cannot do that with proprietary software. An institution of learning should try to aid my learning. By requiring me to use proprietary software in order to graduate, they are, in direct contrast to the University's mission, hindering my learning.
My required course this semester is an electrical design course. I did find Free Software programs (GNU Electric and GNU Emacs) that had most of the right features to aid me in completing the course assignments. I believe that it provides all the components necessary to teach what the class requires. Moreover, I have repeatedly offered to work with the professor to find alternative ways to complete any additional course requirements. I even offered to make a project out of improving the Free Software so that maybe someday it can do everything the proprietary software does. I'd happily do two or three times the amount of work as my classmates to complete some an alternative coursework program.
I do realize that allowing projects to be completed several ways can add difficulty to grading. Professors are already overworked, with busy schedules to teach courses and do important research. However, the problem here is not that students demand too much; the problem is a general lack of funding for education. This is an administrative problem: professors and teaching assistants are expected to do too much. The solution, therefore, is to lessen the strain on them and/or compensate them better. I would gladly help in any way I could to lessen their load, or to pay additional tuition to facilitate their ability to grade me.
All of the arguments put forward for requiring me to use proprietary software do not justify trampling of my personal ethical beliefs. The department must recognize that these are important considerations which have a significant impact on our field and the community of computer users. I am asking the department to take the first step in giving some priority to these now global concerns.
More than addressing my immediate concerns, I hope that this letter serves to begin a useful dialogue in our department about the issues of software freedom.
Brett Smith <>
Sophomore, Computer Science Major
University of Kentucky, Lexington, KY, USA
 Most proprietary software licenses prohibit "reverse engineering" of the binary code. Users are forbidden by copyright and contract law from analyzing that binary code to learn from it.