Plagiarism in Code
Today, copying and computer programming seem like two concepts that might be blurred together.
After all, many of the world’s largest websites are built on the frameworks of previous sites.
It is common practice today for a website to release an API (application programming interface) that essentially allows outside developers to leverage and build on top of the site’s original code.
Sites like Facebook, Twitter, and Google all have an API that allows outside individuals or companies to ‘copy their code.’
In fact, computer programming language itself is built on top of previous frameworks. This layered coding history has allowed for developers to fluidly and easily build applications that were in the past too complicated to even fathom.
If anyone tried to code a modern day site like Facebook entirely in BASIC, they’d likely end up in a mental asylum. On a more granular level, in today’s Web 2.0 world it doesn’t make much sense for a new company to build their own proprietary video streaming platform or payment system when they can simply implement YouTube or PayPal.
It seems to be the nature of technology to build upon previous layers – no single invention suddenly appeared out of the ether without taking from some previous notion or architecture.
So does that mean that plagiarism doesn’t exist in the world of computer programming? Is it anyone’s game to simply take and use other people’s code?
This is not the case; just like in the world of literary plagiarism, there is a fine line between lawful use and plagiarism in coding.
The Brown Daily Herald recently published a piece that revealed their computer science department to have the highest level of plagiarism within the university among all other majors:
“Forty-two students were cited with potential violations of the Academic Code last academic year — with nearly 70 percent of the cases coming from the Department of Computer Science, according to a faculty committee’s report released this month.”
Although the comp. sci department had the highest percentage of plagiarism, the measurement may be inflated due to the department’s frequent use of MOSS (Measure of Software Similarity) to detect instances of duplicate code. MOSS is a free solution (developed by a Stanford professor in 1994) that enables a list of files to be compared and duplicate code to be highlighted.
Brown is currently considering the use of Turnitin, a similar solution to MOSS, but for other academic departments that require literature and science essays to be checked for instances of plagiarism. Thomas Doeppner, co-chair of Brown’s Standing Committee on Academic Code expounded on this possibility:
“If Brown was to use something like this (Turnitin), I think we would see collaboration cases in the rest of the University at the same level we see in computer science,” he said. “But without a tool like that, it’s really hard to find such cases.”
Writing for the humanities and sciences builds on layers and previous frameworks just like code. Authors frequently take concepts, styles and ideas from one another.
However, citing sources and providing proper attribution is the difference between borrowing and plagiarism. With both coding and literature – technology can be utilized to detect exact instances of duplicate content to help us draw that fine line.
Bakshi, Tony. “Computer science tops in academic violations last year” The Brown Daily Herald. 1 November 2010. http://www.browndailyherald.com/mobile/computer-science-tops-in-academic-violations-last-year-1.2388353