Saturday 20 September 2008, 3:40 PM
When does Copyrighted Software cease to be Copyrighted?
What my question is really; "At what point does the source code take on a identifiable identity?" Its written in C (or at least a lot of it is). Most of the constructs for C are defined in the language. So you can't point to a specific subroutine or sort or whatever to say this is copyrighted or its not. My guess is that "prior art" would cover 95 to 99% of the "uniqueness" of any software product. Programmers borrow ideas and algorithms constantly.
An analogy might be helpful. You have a blob of clay. Its made of aluminum, iron, silicon, water, titanium etc. (in other words dirt without much organic material). If I subdivide the clay continually until I have split it up into individual atoms or molecules, its no longer clay. The water is what is holding it together. It might not even stick together when I push it back into a lump (I'm thinking of the open source guy that sued Linksys when he couldn't get their released source code to work). At what point does copyrighted software cease to be copyrighted when split apart? (edited 9-21-2008)
Besides having taken a materials science class in years past, the analogy to clay is valid. If you take the water out of clay by just letting it dry, it turns to dust. If you bake it in an oven at high temperature it turns into a ceramic. So consider the water to be the copyright holding the "software-clay" together.
Not that I would want it but if I had the source code to Vista or XP and wanted to use just a piece of it, how small a piece would it have to be to keep the Redmond gorilla placid? That is the question I think scares the crap out of Microsoft. I don't know if there has been a defining legal case for determining how small a code fragment can be to be copyrighted. Kind of like the Dead Sea scrolls, what size chunk is significant and does dropping one word make it different enough to be something else?
What prompted all of this thought (besides lots of dead time listening to wind howls from IKE) was that Microsoft evidently got a patent on up and down scrolling on a page. That requires software and not very much. The next thought was : "How idiotic are the US Patent Office people? My tax dollars are paying their salaries! Its past time to clean house."
Microsoft has turned into the biggest patent troll in the world. The only thing that makes any sense is that some attorney in their employ is considering that a defensive move to prevent other bottom feeders from suing Microsoft. I certainly hope that is the reason for that patent otherwise it makes no sense. If they try to enforce that patent I hope they get slapped down by the courts. (edit 9-21-2008)
In any case it puts a new light on the GPL for me.
9-21-2008
Even the GPL does not address or even attempt to define the point at which the copyright becomes operative or the source code becomes definable as a protected entity. Following good programming practices it would seem probable that at least in small chunks, similar subroutines could be written by two different programmers. Kernighan and Ritchie could lay claim to everything written in C simply because there doesn't seem to be a lower definable limit to the copyright law. Has one violated the rights of another just because he does a binary sort or a command line parse in the same fashion? Or is it evidence that they read the same magazines or web pages?
I don't have an answer but it seems a question that needs to be answered definitively.
Comments on this post
Gee that's a tough one...I think the clay anology is superb.
Where do you draw the line? Hopefully not at the 1s and 0s then we would all be in trouble!
Back to the clay anology, I can't claim to understand code. would water equate to the binary, or something closer to the UI?
What would be the consequence of creating something that was identical to..let us say XP but with a completly different code base, is this even possible?
I guess if there was a bit of trouble with the analogy the water is it. Water in a clay is, believe it or not, the binding agent. It has lots of little Hydrogen semi-ions that sort of attach to or at the very least attract the metal ions in the mix. The H2O molecule although stable and relatively non-ionic does have a bit of polarity due to the chemical binding between the single oxygen and the 2 hydrogens and the resultant sort of "elbow" the atoms align themselves in the water molecule. (The hydrogen atoms BTW are moving around the Oxygen constantly as the charges and electronic balance moves around.) Clay is a mixture or a composite of a bunch of materials that are not really chemically connected to each other, just bunched up together. When you force the water into a matrix with the other materials in the clay by firing it in a kiln, then it becomes semi-crystalline but its still a mixture instead of a crystal even though its statically fixed.
The binding agent in a software package is really the purpose or use for the software, I guess. What I'm trying to say is that if you took the Linux kernel or Windows XP source (which nobody has outside of MS) and sub divided it down into small chunks. You then disconnect all the subroutines and object definitions from each other and then call them in a different order or fashion, the software conceivably could do something completely different. The chunks themselves would not be recognizable as Windows XP or as Linux because its only when the chunks are written reasonably well, connected together properly and then compiled that it becomes recognizable as a software product that can be copyrighted and that we recognize as Linux or XP. But if you re-arrange the chunks and it ends up doing something else than operate as an OS is it still Linux or Windows XP when you're done?
I sent an email off to an attorney that specializes in copyright law and FOSS asking the question I posed in the blog, how small a chunk defines a copyrightable bit of source code. We'll see what she thinks is the minimal size.
This sounds like a question for Pamela Jones of Groklaw.
http://www.groklaw.net/staticpages/index.php?page=Headlines
Good idea. I'll try her too. The other attorney was Heather Meeker who's specialization is Open Source issues. She had a number of blog entries that I've read but none of them addresses the issue of how small do you need to go before the "identity" of the software disappears.
To add a comment, fill out the form below


