Today I heard the news of Intel promoting open research in Universities. In short, Intel is requiring Universities that receive funding from them for specific research to not only open source the software they come up with, but also to promote open research by prohibiting the universities on staking claims on patents. This is priceless, I applaud Intel for this, its an evolutionary step in research and I hope it proves pivotal and others will follow.
This news bit triggered some synapses in my brain and brought back memories of an unpleasant experience while studying at my University, Rutgers, which I'd like to finally document and rant about publicly.
While studying Computer Science at Rutgers University (Class 2003) I realized I really enjoyed mathematics. I liked math so much I had even decided to co-found the University's math club during my time there. Even though the Bachelor of Science undergraduate degree only required up to Calculus II (integral calculus) as a requirement, I decided to take a few extra math courses -- just for fun. One of them was Calculus III (multivariable calculus), another was new shiny course on Polynomiography. Its my experience with Polynomiography while at Rutgers which I'd like to document.
Polynomiography is a coin termed by Dr. Bahman Kalantari, it deals with a method of visualizing polynomials. It does this by using algorithms to find the roots of the polynomial and colorizing the complex plane based on tendencies of coordinates on the plane to being close to one root or another. If you don't get this description do not worry, even for me its all fuzzy at this point, but understand its a neat way to make art out of math. The course was fun, and the idea was surely innovative. This course set itself apart from other math courses in that in the end of the course you can write software using the materials learned as part of your final class project. Since I was starting to become passionate about software development then I was really excited about the course.
There is one thing that set me apart from my classmates and gives this short story a twist, apart from mathematics I was also passionately into Free and Open Source Software, for both the philosophical aspects of it, and the technical merits of it. Its to the extent I also co-founded the Rutgers University Student Linux Users' Group to help find other locals interested in talking about and geeking out about FOSS. Because of my involvements with both passions and my new course I decided I was going to release the software I come up with as free software under the GPLv2. Neat, right?
One technical aspect about polynomiography which made it even more interesting for me was that it dealt with complex math. As it turned out the programming language I chose to write the software in, C, only recently had gotten complex math added to it, via the ISO/IEC 9899:199 standard, referred to as C99. At that time there wasn't much code out that used complex math in C, let alone Graphical User Interface applications using complex math, and the landscape was even worse for FOSS software using complex math. As I envisioned it, my software would enable a lot of users be able to learn from programming with complex numbers in C, but also educate folks on Polynomiography and on graphical user interface development. I was stoked!
I remember the day I presented my final project. The Teaching Assistant (TA) of the course present. Everything went well until I mentioned my intent on releasing the software as free and open under the GPLv2 license. My professor's eyes opened widely, eyebrows to the top, he spilled his coffee on the floor while staring at me, and immediately told me I could not release the software. I was shocked! I believe the TA was just as shocked. Ackward moment.
I decided to reach out to Rutgers legal team and talk bout this. If you have never visited your University's legal department, specially the one that deals with Intellectual Property I encourage you to do so. Fancy. I have carried around for years the business card of the person who I met with but for the life of me I cannot find it right now. It was explained I could not release the software, that they could try to talk to Dr. Kalantari but that he had a firm position on this. I had been holding the attorney's business card because I meant to eventually try to fight this but I never had enough time.
And now comes the rant part.
Almost 10 years have gone by now and Patent 6,894,705 sits protected, assigned to my alma mater, Rutgers, The State University of New Jersey, and I never was able to release software for a course I took at Rutgers. Dear Rutgers, for what purpose do you hold this position? Why do you offer a course if I cannot even write free software with the stuff you taught me? Are you fucking kidding me? What the fuck! What kind of shit is this? Fuck you. To future students: ask and do not tolerate this shit, go beyond where I got -- take this to the top. This is unacceptable for educational institutions.
Glad I let that out... For those curious, I did manage to pass though, with a B+.