Hacker News new | ask | show | jobs
by miloshh 5803 days ago
Source code publication along with the paper is a great idea in theory, but there are several problems with it in practice.

The reason CS researchers do not usually publish their code has nothing to do with dishonesty - nobody is trying to hide their code because it does not really work, or anything like that. It's not even that people are worried of scooping, though that sometimes happens.

The main problem is that any time spent on cleaning up the code, packaging examples, writing instructions, answering bug complaints, etc. is time not spent on things that matter in academia - doing research, presenting it, and teaching students.

It might help if some conferences required source code submissions - but people might just submit to different conferences instead. The only real solution would be if funding agencies like NSF required that any projects funded through them have to release source code. This makes sense from a taxpayer's point of view, and would make the extra work acceptable (since everyone would have to do it).

1 comments

(Disclaimer: I am author of the OP)

The NSF is a great point.

One of the things that bugs me about this, that I didn't go into in the post for brevity's sake, is that a lot research is funded by some government institution under the banner of public interest. If you are paid to create something, and then you lock it away for whatever reason, that's not in the public interest. Worse still, more money has to be spent for someone else to re-implement the exact same thing if they liked it!

I hadn't thought this out to the logical conclusion of having the funding body also ask for the code to be released, but I think it's a great idea.

Wouldn't things like Bayh-Dole have to be repealed before that could even be anywhere near remotely possible? At this university source-code transfers must be rubber-stamped by the university IPO office. For publishing we only have to tell them what's going on if we think it may be valuable. But actually letting university-owned things slip out is a university IPO matter. Unless you're a student, in which case code you write directly related to your degree is yours, the university owns the code. The work of post-doc's, professors, associates, etc are owned by the employer. The way most research grants work, you are an employee of the university, not of the NSF/NIH.
I honestly wouldn't know about the majority of these issues (and, secretly, I suspect most universities don't either).

Aside from legal issues, it seems to me the business proposition is the same as the open-source business proposition: you know the most about the system you've created, so you're in the best position to consult on it. If you want a startup, I think guys like Cloudera show that even if you give away what was traditionally thought of as the family jewels, you can still very effectively monetize. That's what the university should leverage.

Anyway, for most projects, you've already given the game away in the paper (or at least, should have done): the expensive thing was the idea. Reimplementation is cheap.

I'm surprised that as a researcher you have not had notification or training about Bayh-Dole (someone mentioned they are in your lab so I assume you're funded). Universities have to report that they have notified researchers about the act. Here, all grad students have to sign an acknowledgement form indicating that fact during orientation. Flaunting the act has serious implications for the university's federal funding. It's government research privatization indoctrination 101 since the Regan revolution.

It's funny because the public (like you) demands access to the research because they paid for it, but the politicians view you as an economic investment and demand that you monetize and produce returns (e.g. tax revenue, employment from startups). The public doesn't write the rules.