|
|
The Code That Violates SCO's Copyright: What Is Plagiarism In Programming?
By Michael Marr
Expert Author
Article Date: 2010-08-10
The ongoing battle of SCO versus the Unix and Linux world continues, and has been a topic of conversation here at unixpronews.com. However, the comments on a unrelated case decision (but related in terms of particular legal definitions that could be applied to some of SCO's cases) has spawned another heated discussion in the comments on what is copyright violation in coding.
In these comments, Kevin McBride, legal counsel for SCO, published a list of code that SCO claimed IBM violated with their versions of *nix operating systems. It seems to be a pretty weak assertion, as a view of the code reveals various blocks of somewhat generic code being replicated, i.e. tab-409. Kevin McBride claims that there is a significant amount of code that cannot be released, as it was given to the Court and parties involved with a strict non-disclosure order, protecting vital IBM code. If the code in what is not able to be released is comparable to the code being released here, then it seems like SCO's claims are severely lacking.
Plagiarism is clearly not a good thing. It stifles one's ability to be rewarded for their original thought on something, whether it be music, literature, or coding. However, what separates programming code from the arts is subjectivity. Where you might absolutely love a particular song or book, your best friend may absolutely despise. Art is very subjective. Some would argue that code is also subjective. You might prefer to write a particular class or object in a certain way that others would cringe at reading or trying to interpret, and/or might even prefer to not use a class for that task at all. However, what is not subjective is the end goal of programming: completing a task in the most efficient way possible.
It is because of this end goal of efficiency that makes any claims of plagiarized code difficult to prove. In many of the examples that SCO supplies, there are identical lines of code. However, a lemon is a lemon, and an apple is an apple. Why should someone change a variable naming scheme or even single variable name just because someone else copyrighted that variable name for that particular task first? Once you have an industry agreed upon term or name for a particular task and related information, how can you own a copyright on the simplest of ways to programmaticatly define and execute that task?
In all things, including coding, uniqueness that requires legal protection is limited by the specificity of what is being done. If you're building a car, you need an engine. Ford can not claim they own the concept of the engine. If you're building an authentication system for an application, you need a variable to store the username, and will probably use a variable named likewise. You will make a comparison/function to determine if the supplied password is valid, and return an authentication state. No one can claim that they own the variable names of username, password, or isAuthed. Nor can they claim to own the process of authenticating a user, even if their code ends up duplicated elsewhere. The scope of this task is too generic to be owned by any one person/entity.
Review the code comparisons posted by SCO yourself, and see if you can find anything that is radically unique or creative that should be clearly defined as being owned by any one programmer/company.
About the Author: Michael Marr is a IT staff Writer for WebProNews.
|
|