Open Source Plagiarism

It seems the world cares less and less about intellectual property rights. Many people don't blink when mention of stealing music and movies comes up in conversation - an action that was taboo just a decade ago when the newspapers still covered music industry lawsuits against individuals. Today, students download PDFs of textbooks with nary a worry. And many of them don't even see such practice as dishonest. How does this attitude apply to open source software?

I care about intellectual property rights, because I think they help the world economy by encouraging the pursuit of art and innovation (I'm a little biased as an author and software developer). I think some of those rights go too far (excessively long copyright terms, patentable genetics, etc). But what we can all agree on is that there's a line to be drawn between taking someone else's work, and claiming someone else's work as your own. Where is that line in open source software?

Students who have grown up in this permissive, anti-intellectual property rights era not only don't care about the rights themselves, they don't care about that line either. Plagiarism is a rampant plague in the school system. I am very disappointed to see this disease of dishonesty infecting the open source world as well.

By its nature, open source software has a unique relationship with intellectual property rights. Whether it's the battle between copyleft (GPL) and permissive (BSD/MIT) style licenses, or concerns about corporations leveraging the work of individuals without contributing back to their respective projects, there are interesting and legitimate issues to debate. One thing that's not up for debate in most circles is that it's dishonest and disingenuous to take someone else's project, modify it slightly, and call it your own.

Technically, that's a derivative work. But spiritually, there is a line between a truly new project and a rip-off of the original. And you know it when you see it. Further, regardless of whether or not a project crosses that line, it must (by the terms of most open source licenses) acknowledge the original work/author.

I was very disappointed to see the appearance of RunKit on GitHub (Update: GitHub has now removed the repository due to a DMCA takedown notice by @duemunk) a Swift project by @khoiln. RunKit is a rip-off of Async by @duemunk. The first version of RunKit posted to GitHub didn't even acknowledge Async or @duemunk despite the entire project being a line-for-line copy of Async with a few name changes, comments removed, and very slight data structure changes (I inspected the two myself side-by-side). Despite this rip-off, @khoiln marketed RunKit with a banner image, a rewritten README and postings to public places.

Developers noticed this disingenuousness and posted issues on GitHub specifically calling out the plagiarism of Async (with no acknowledgement). @khoiln closed the issues. Then @duemunk himself opened an issue on RunKit specifically highlighting the MIT license's requirement that @khoiln acknowledge him and Async. He subsequently did. He went on to claim that he "...created this for internal projects since Async keyword is being used in our other framework." (Update: this quote was removed shortly after this blog post was published). That makes no sense - why then publish it publicly with a banner graphic and rewritten README? Why close the earlier issues? Now @khoiln has closed the project to issues on GitHub all together (yet RunKit continues to trend on GitHub).

Writing most open source software is not glamorous. One of the few things open source authors get is acknowledgement of their authorship (for resume, glory, or reputation purposes). It's sad to see even that challenged by plagiarism. One can imagine a very realistic scenario, where a developer writes an open source project, it gets little notice, and then another rips it off, gets a lot of notice, and lands a job based upon it.

Ultimately, unless you're a lawyer or a big corporation that can hire one, there's very little one can do against the limits of monetary resources and across borders to enforce an open source license. Yet, it would be nice if in the world of open source, we as a community enforced an honor code. I don't know how to instill such an honor code into young developers. I fear given their generation's widespread anti-intellectual property attitude, it may already be too late.

Addendum: For an example of this in a big company setting - checkout this GitHub issue in which Microsoft is called out for stripping the MIT license/acknowledgement from several files in their first release of WinObjC.

About Me

I teach Computer Science to college students, develop software, podcast, and write books about programming including the Classic Computer Science Problems series. I'm the publisher of the hyper local newsletter BTV Daily.

You can find me on Twitter and GitHub. Check out my podcasts Kopec Explains Software and Business Books & Co. You can subscribe to my very low volume newsletter to find out about my future book, media, or software projects.


©2012-2023 David Kopec. As an Amazon Associate I earn from qualifying purchases.

Based on tdSimple originally by Lasantha Bandara and released under the CC By 3.0.