hristo wrote:bob wrote:
Has Vas patented his new ideas? If not, there will never be a law suit because there is no infringement. Reverse-engineering infringement suits depend on the pre-existing patent to form the basis for the infringement. There is clearly no copyright issue if actual original code is not copied. In fact, US patent/copyright laws are very clear in what can be copyrighted and what has to be patented...
I don't believe that you are correct in the above.
Literal and non-literal copies (with respect to original source code or binary output) are both subject to copyright violations. If there is disassembled code found in the Strelka (1.x - 2.x) that can be shown to have been taken from Rybka executable then the copyright infringement is a very likely outcome.
It is not legal to disassemble a program and then assemble it again and claim copyright on the result and avoid the copyrights associated with the original -- even if you have never seen the code that produced the original binary.
It is illegal (in vast majority of the cases) to integrate machine executable code into your own application, without being given the explicit permission to do so.
Anyway,
copyright issues are often more complex than what we believe them to be.
http://docs.law.gwu.edu/facweb/claw/WebTable.htm
Among a copyright owner's exclusive rights is the right “to prepare derivative works based upon the copyrighted work.” 17 U.S.C. § 106(2). If, as we hold, the speeded-up Galaxian game that a licensee creates with a circuit board supplied by the defendant is a derivative work based upon Galaxian, a licensee who lacks the plaintiff's authorization to create a derivative work is a direct infringer and the defendant is a contributory infringer through its sale of the speeded-up circuit board.
Section 101 of the 1976 Copyright Act defines a derivative work as “a work based upon one or more preexisting works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which a work may be recast, transformed, or adapted.”
... source code is not necessary to have a copyright infringement.
Regards,
Hristo
There is a special case for algorithms. They must have patent protection.
I have seen a tool used by a large corporation used to check for copyright violation. It basically did a diff on the two versions of source code and if less than a certain large percentage of the code was *identical* it said that there was no case.
Of course, I am not a lawyer, and I could always be wrong about it. On the other hand, if simply using the same idea (read 'algorithm') in a chess program is copyright infringement, then every chess program in the world is infringing. Is there a chess program that does not use some form of alpha-beta or mtd(f)? If not, then they are using the same algorithm as written originally by someone else.
Be that as it may, if somehow the court ruled that the fundamental ideas from Rybka used by another program constituted copyright infringement, I think it would be the single worst blow that I can possibly imagine for software development. From that moment forward, only the really huge corporations could develop software. It would mean (really) that copyright and patent now were identical in software development and you do not even have to apply for it. Here is my opinion, stated more eloquently than I could ever do it:
http://lpf.ai.mit.edu/Patents/knuth-to-pto.txt
See also:
http://eupat.ffii.org/gasnu/knuth/index.en.html
http://en.wikipedia.org/wiki/Software_patent_debate
http://www.bellevuelinux.org/software_piracy.html
And from
http://www.jenkins.eu/articles/reverse-engineering.asp
we have this:
"COMPUTER PROGRAMS
In the case of computer programs, the EU directive states (11) that the ideas and principles underlying a program are not protected by copyright, and that (12) logic, algorithms and programming languages may to some extent comprise ideas and principles.
Analysis of the function of a program (but not decompilation (13))is permitted under Article 5.3, if it is carried out by a licensed user in the normal use of the program.
Reverse engineering is allowed under Article 6, but only for the single purpose of producing an interoperable program (rather than a competing program).
For this purpose, in addition to reverse engineering itself (i.e. producing a high level version of the code) subsequent forward engineering to produce the interoperable program is permitted.
However, the reverse engineer has to cross a host of formidable barriers before he can make use of this right;
It must be indispensable to reverse engineer to obtain the necessary information.
The reverse engineering has to be by a licensee or authorised user.
The necessary information must not already have been readily available to those people.
Only the parts of the program necessary for interoperability (i.e. the interfaces) can be reproduced.
The information generated by the reverse engineering cannot be used for anything other than achieving interoperability of an independently created program.
The information cannot be passed on to others except where necessary for this purpose.
The information obtained cannot be used to make a competing program (rather than just an interoperable one).
The "legitimate interests" of the copyright owner or "normal exploitation" of the program must not be prejudice.
Thus, far from creating a general right to reverse engineer, these provisions create only the smallest of openings for the reverse engineer; they are intended for use only to defeat locked, confidential, proprietary interfaces."
P.S.
In the US (at least) you do not have to explicitly claim copyright in the source code. The only way for code to become public domain is to explicitly say so.