Free Software and Computer Scientists

Mon 10 August 2009

Gabriella Coleman writes on the relationship of academics and Free Software:

One irony (though not entertained in the chapter) has to do with the status of Free Software in the academy: it is pretty weak among CS-ey types and yet Free Software is often identified as a paragon example of the openness and communitarian elements of how academic science is supposed to work. So.. what is exactly going on?

The post seems to confuse the issue of software generated by CS research, and the software needs of education. Simply put: Moodle developers don't earn tenure.

It's not the case, however, that Free Software "is weak among CS-ey types". Looking back on my CS undergraduate studies, my fellow students and I used a number of open source tools. Some are general purpose tools: Apache, OCaml and gcc, CVS, ANTLR, lexx/yacc to name the ones I remember. We even studied source code from a C stdlib. Our 3d graphics course focused on Linux, and OpenGL when it came time for hardware rendering. Some open source software was necessarily open sourced for instruction: NachOS and Minix come to mind. One professor was writing a textbook on formal language theory and the drafts are GFDL.

There are plenty of FOSS research projects. They're just things nobody's heard of or forgot, because they're academic, boring or complicated. If we treat the various Bell Labs as a private academic institution, they've put out stuff like SPIN, graphviz, and so on. University of Edinburg released festival, and Carnegie Mellon developed flite. BSD came from Berkley, an obvious example. The rest of the stuff I know of is source code static analysis tools that go further and take longer than lint, or Eclipse plugins. If anyone knows of Moodle related research for publication in say ACM or IEEE, I'm unaware of it and would enjoy a reference to the paper.

So CS students use and read open source software, and CS researchers create and improve it. The remaining aspect of the question, as I understand it, is why more student projects aren't started to solve the university's problems. It's a bit naive, I think, to imagine a capstone project can replace incumbent software in a semester or two. You could develop a project over years of classes, but there's a problematic theme among educational source code: projects for instructional improvement need to stay in need of improvement. Hence, Minix spawned multiple, unincorporated VM projects, and eventually lead to Linus Torvalds starting his own OS. It's also a bit rude to charge students tuition for the privilege of replacing software you need, and then demand that rights to that labor. Even GRAs are paid tuition or stipend!

A positive example: Cellwriter. UROP paid the student an Undergraduate Research grant, with exceptional results. But in the longer term, who owns the responsibility for maintaining these programs? Undergraduates tend to graduate and land jobs, rarely to continue their work on a capstone course. Leaving the life-span of a project in their hands works fine for the self-selected, but requiring CS students to work on someone else's problem will only work until grades are assigned. I remember my own capstone project, and while instructive, I don't think anyone in the team wants to see that subject or code ever again.

Directing CS departments at open source's deficiencies is a bit like asking EE professors to wire your campus, or ArchiE professors to design your buildings. These people are employed to solve hard and mostly unsolved problems; campus IT is mostly not that. (At this point, I must confess I am a CS academic-in- training who's transitioned to college IT administration, and may have a bias.) It's a tremendous mistake to take these people and build an open source AutoCAD when they should be working on alternatives to the CAD concept! Of course it would be great if innovations from Computer Science departments were Free Software, and many are.

It's therefore incumbent upon IT administration to handle the mundane tasks; we operate in service of the academy, not the other way around. My alma mater actually builds its own online education site, and employs many CS students, but I see little need for CS research on the subject. It's not that IT lacks funding or programmers, but that they have no desire (ability?) to release that code. OSUOSL is the closest positive example I have; they're an organization that promotes the creation of FOSS, by students and staff. But from what I see, their mission is more outreach than... "inreach".

So I guess my point is, it's the duty of IT departments to solve IT department's needs. Hopefully I've convinced you that Computer Science isn't quite so alien to Free Software, and that projects similar to OSUOSL are a better form of FOSS adaptation than reallocating Computer Science faculty and classes.

Comments !