Source Code & Copyright
cunamara writes "Patently-O has posted a discussion of Aharonian v. Gonzales . Aharonian is trying to build a database of source code as a repository of prior art. The interesting thing is in part of the decision, which is that "Conversely, if plaintiff independently creates software that is functionally identical to other software, he does not infringe any copyright on the other software's source code, even if his independently created source code is nearly identical to the copyrighted source code." Interesting. But how does one defend "nearly identical" independently created source code from a copyright infringement lawsuit?" I'm actually not as interested in the copyright side of things as I am in the notion of using something like that for prior art of software patents. The argument that source code is uncopyrightable, with some extensions could be applied to almost all, say, fiction stories since no one's written a truly new story in like five thousand years.
I'm not a big fan of "near-identical" copyrighting source code.. It's almost like copyrighting mathematical equations. The compiler creates a framework designed to achieve predictable results, and whatever results are achieved within that framework, isn't the invention of genius, but the application of an engineering language. It's cclearly wrong to rip off chunks of people's programming and sell it as your own, but if there's proof of linear progression of programming which achieves a similiar function using a similiar process within the programming framework, there's no reason the other's work should be thrown out, or licensed against the 'prior artists'. Intellectual property is going to be such a freaking headache if shit like this is allowed to continue.
Any fool can criticise, condemn, and complain, and most fools do. - Benjamin Franklin
the argument that source code is uncopyrightable, with some extensions could be applied to almost all, say, fiction stories since no one's written a truly new story in like five thousand years.
The idea is not what is protected under copyright, it is the work itself which is protected under copyright. Just because the idea implemented in a story (or computer program for that matter) has been done before, that does not mean that someones actual book, movie or videogame is somehow immune from copyright.
Patents, on the other hand... Well, let's not get started on patents...
For US citizens it important to get organised. FFII has an USA mailing list. Perhaps it might serve as a breeding ground for a US campaign which becomes equivalent to the EU campaign effort. Americans are perfect communicators in the field of software patents but lack anti-swpat organisation.
Currently the rest of the world suffers from the American unability to get anti-Software Patent interests organised.
For example, there aren't much variation in ways to code a doubly linked list. If a project in java needs one, you need to write it yourself, because it isn't in java.util.* yet. With a standard coding style in that language, I've seen quite a few near identical looking implementations for an assignment.
It's about time to stop suing over one snippet of code in a project - there are only so many ways to do the basic tasks. It's how you use the individual lego blocks to build something that counts - if you copy the whole design and claim it as your own, then you deserve to be sued, not for using five white ones to build a wall, as everyone does that.
Google Books seems like an ideal solution to this problem. Of course, I'd talk to Google about it first. Your source code repository would be transformed into book form with the source code as large excerpts and the revision control system being your chapter introductions. This would force the repository to be something organized and not just a mish-mash of inserted code. Their About page says that they'll show you a couple of pages. I would ask them to restrict the search to only showing the section introduction and a 15 lines surrounding the code in question. Google could then wrap an API around it to make it easy to programatically search.
Then, there's the issue of licensing. This would be, I think, the first legitimate use of the GPL (not the LGPL) for a published document. Google promises to protect the work as a dark search until valid copyrights expire. If you put a hypertext link into each section where the code can be properly licensed (i.e. downloaded), then it works as a prior art repository and as a code reuse archive.
I fear that in today's society, the Adelphi charter is irrelevant and misdirected.
Keep in mind the real priorties:
1: Corporate rights shall be preserved.
2: Corporate freedom of action shall be maximized.
3: Opportunity for revenue and profit shall not be impeded.
I just went to see "Why We Fight" this weekend, including a Q&A with the writer/director, afterward. To be short, sweet, and simple, it wasn't a rant against the Bush administration. They are merely the latest (and most willing?) phase in the rise to power of the military-industrial complex. The movie was a warning about corporatism, rooted in Ike's parting message about the military-industrial complex.
In retrospect, the Free Software movement is perhaps one of the most important ones in today's world. As far as I can tell, it is the ONLY major endeavour of modern life not utterly dominated by corporate interests. No wonder there is so much interest in things like the DMCA, DRM, HDMI, TPM, etc. I suspect the fine-tuning will be to push Free Sofware into the correct corral, so it's developments can continue to be harvested, yet at the same time make it irrelevant to day-today life.
The living have better things to do than to continue hating the dead.
Two decades ago when doing stupid things with neural nets was fashionable in computer science, I built a neural net C compiler. Odd thing is it worked on small programs so I expanded it.
...
Its parser would takes code of the form foo=foo+bar; and reduces it to foo+=bar; or other minimal C with translation to var1+=var2; It would then hand that off to the NN compiler. It then ran every bit of C code I could find through it. Its interesting that there were only about 160 (if I remember right) common statements that appeared more than once and most of them were followed by a very limited subset of other statements.
If you reduced a program another step into:
common_line1;
common_line23;
common_line7;
It ended up that many bits of code where exactly the same in many programs or had very small differences.
The most interesting stat was most C used less than about 100 common statements but the guys at Bells Labs added about 40 (of which I think Joe Ossanna was responsible for 30 or so) and BSD guys added about 10. The IOCCC entries didn't change the results but I don't think the compiler ever got any of them right even after a cb and extra reduction step which says something about their code.
The argument that source code is uncopyrightable, with some extensions could be applied to almost all, say, fiction stories since no one's written a truly new story in like five thousand years.
The difference is that programming languages are usually pretty logical and to achieve an aim there's usually an obvious and correct way of solving a problem. For example if I asked a collection of programmers to write a function to sum the elements of an array it would inevitably look like the following (for C at least).
int sumArray(int array[], int elements) {
int i, t = 0;
for (i = 0; i elements; i++) t += array[i];
return t;
}
There would be variations but everyone would essentially write the same code.
When writing literature, writers are restricted by the language, but for some they are extremely flexible and the same concepts can be written about and result in a completely different book.
It's the same for any art. The Queen of England has had hundreds of portrates painted and yet they are all very different depite the use of similar materials. Yes the basic subject is the same but you cannot say the paintings are the same. Coding is more like photography.
At it's extreme source code is a mathematical description of an algorithm. It's either write or wrong. I can't see how you can copywrite it any more than copywriting 2 + 2 = 4.
Of course, BIOS was written in assembler, which tends to restrict the universe of potential ways of accomplishing the same thing. Some of these operations (e.g., subroutine calls) can only be done one way -- the way that the architecture specifies. If you factor in that BIOS writers would tend to try to keep variables in registers, that restricts things even further.
With high-level languages, it would seem to be less likely to find large areas of similarity.