It is currently Sun May 11, 2025 2:18 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2  Next
Author Message
Offline
 Post subject: Plagiarism and Computer Engines
Post #1 Posted: Fri Jan 06, 2012 7:54 am 
Tengen

Posts: 4382
Location: Caldas da Rainha, Portugal
Liked others: 499
Was liked: 733
Rank: AGA 3k
GD Posts: 65
OGS: Hyperpape 4k
Some of you may find this interesting: it's about the charges of plagiarism against the creator of the strong chess engine Rybka. The author argues that they are unwarranted. http://marginalrevolution.com/marginalr ... tions.html (this is a blog post discussing the original piece, but it has all three links in one place).

_________________
Occupy Babel!

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #2 Posted: Fri Jan 06, 2012 4:38 pm 
Lives in gote

Posts: 302
Liked others: 70
Was liked: 8
Rank: DDK
KGS: Sujisan 12 kyu
OGS: Sujisan 13 kyu
This issue almost single handedly brought the computer chess community to it's knees. In fact, the computer chess community split into at least two groups over a similar issue about the supposed cloning of Rybka.

_________________
My plan to become an SDK is here.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #3 Posted: Fri Jan 06, 2012 7:05 pm 
Lives in gote
User avatar

Posts: 614
Liked others: 28
Was liked: 65
Rank: 1 Kyu KGS
KGS: Numsgil
Unless an algorithm is patented, I call it open season for reverse engineering. The entire game industry (where I work as a programmer) is 100% reliant on reimplementing what the other guy is doing in your own engine. And really that's 99% of the work anyway. Clever algorithms are nice and all, but unless someone sits down to write the code it's just an idea. And the Devil's always in the details.

Even if you had the other guy's source code in front of you, getting it to even build and compile is usually more effort than it's worth, let alone trying to make it work with your own code base in any meaningful way. Source code plagiarism is really a fundamentally silly concept.

_________________
1k KGS

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #4 Posted: Sat Jan 07, 2012 1:16 am 
Lives in sente
User avatar

Posts: 1072
Location: Stratford-upon-Avon, England
Liked others: 33
Was liked: 72
Rank: 5K KGS
GD Posts: 1165
KGS: Dogen
Numsgil wrote:
Unless an algorithm is patented, I call it open season for reverse engineering.


Huh? What about copyright? Only patents count for you? Can you explain why?

_________________
My blog about Macs and more: Kirkville

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #5 Posted: Sat Jan 07, 2012 5:45 am 
Beginner

Posts: 19
Location: Oxford, England
Liked others: 60
Was liked: 4
Rank: European 3 kyu
KGS: maproom
Quote:
Huh? What about copyright? Only patents count for you? Can you explain why?
It's not only IP law that matters. Tournaments have rules. These generally forbid using someone else's work without permission.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #6 Posted: Sat Jan 07, 2012 5:53 am 
Gosei
User avatar

Posts: 1585
Location: Barcelona, Spain (GMT+1)
Liked others: 577
Was liked: 298
Rank: KGS 5k
KGS: RBerenguel
Tygem: rberenguel
Wbaduk: JohnKeats
Kaya handle: RBerenguel
Online playing schedule: KGS on Saturday I use to be online, but I can be if needed from 20-23 GMT+1
kirkmc wrote:
Numsgil wrote:
Unless an algorithm is patented, I call it open season for reverse engineering.


Huh? What about copyright? Only patents count for you? Can you explain why?


As a mathematician, I don't think an algorithm CAN be patented, nor an algorithm CAN have copyright. I know reality differs in a lot of countries, but this is nonsense. In mathematics, like Newton said, we stand in the shoulders of giants. If we allow algorithms to be patented and not allow them to be used and built upon, we will be licking midget's feet in the future.

So maybe reverse engineering is not the adequate issue, but re-implementing the same algorithm is.

_________________
Geek of all trades, master of none: the motto for my blog mostlymaths.net

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #7 Posted: Sat Jan 07, 2012 7:15 am 
Lives in sente
User avatar

Posts: 1103
Location: Netherlands
Liked others: 408
Was liked: 422
Rank: EGF 4d
GD Posts: 952
RBerenguel wrote:
kirkmc wrote:
Numsgil wrote:
Unless an algorithm is patented, I call it open season for reverse engineering.


Huh? What about copyright? Only patents count for you? Can you explain why?


As a mathematician, I don't think an algorithm CAN be patented, nor an algorithm CAN have copyright. I know reality differs in a lot of countries, but this is nonsense. In mathematics, like Newton said, we stand in the shoulders of giants. If we allow algorithms to be patented and not allow them to be used and built upon, we will be licking midget's feet in the future.

So maybe reverse engineering is not the adequate issue, but re-implementing the same algorithm is.


Agreed, Imagine in mathematics if every conjecture or theorem was copyrighted or patented, The field would grind to a complete halt.

I think having some way to cite sources (a la published journals) is a great idea, I think calling it plagiarism is a stretch.

I'm the owner of a software patent on an algorithm (via a previous company), and I also think they're complete bunk.

_________________
Tactics yes, Tact no...

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #8 Posted: Sat Jan 07, 2012 7:54 am 
Lives in sente

Posts: 1045
Liked others: 0
Was liked: 182
I think some misunderstanding of the issues.

An algorithm can't be copyright or patented but I believe you can patent the application of an algorithm to some particular task. However that's not what "reverse engineering" is all about.

a) The creators of a program do not have to disclose what algorithms they are using. If they do not, they do not have to allow anybody to look at the code to figure that out. They can make one of the conditions of obtaining a copy "don't look at the code".

b) Just knowing the algorithms (these might be known) does not necessarily make writing your implementation of them cheap and easy. Some of us are better at devising clever implementations than others so it's not at all unusual to see different implementations of an algorithm done by different people with an order of magnitude difference in performance. Or even more. Back in my working days that's one of the things I did, rewrite programs to improve perfomance. Admittedly there had to be something clumsy about the way the existing production program was written to cause its poor performance to come to my attention but usually I could get an order of magnitude improvement and in a few instance ~50 times!

BTW, "reverse engineering" isn't cheap or easy either. A few times I was called upon to disassemble a routine to replace lost source code. The tools can give you something you can recompile but not something you can easily maintain (modify). To convert from what the tools give you to what makes for human readablity takes a bit of skill and experience. Tedious work.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #9 Posted: Sat Jan 07, 2012 1:14 pm 
Lives in gote

Posts: 302
Liked others: 70
Was liked: 8
Rank: DDK
KGS: Sujisan 12 kyu
OGS: Sujisan 13 kyu
Just for the record, you can't copyright OR patent an algorithm, since EVERY chess program contains an Alpha-Beta, SEE, Pruning of some sort, etc. But that's NOT the problem and that's not what allegedly happened in the Rybka case. What allegedly happened in the Rybka case was Rybka's author, Vasik Rajlich, took the open source chess program Fruit, which was open source but GPL'ed and copied significant portions of code.

One argument against the copying case is that Rybka was a bitboard program and Fruit was a mailbox program. Dr. Hyatt, an expert in the computer chess field headed a panel, of experts, that decompiled the earliest versions of Rybka. What they found was that Rybka's author copied significant portions of Crafty (Dr. Hyatt's program), and contained even the same exact bugs, mixed with significant portions of Fruit, most notably the Fruit PST's.

Like I said, this issue has just about brought the computer chess community to it's knees. Whether or not Rybka copied code now is a moot point since the ICGA has banned Vasik Rajlich and Rybka for life. Keep in mind, that there are still debates over this issue in the computer chess community.

_________________
My plan to become an SDK is here.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #10 Posted: Sat Jan 07, 2012 1:28 pm 
Gosei
User avatar

Posts: 1585
Location: Barcelona, Spain (GMT+1)
Liked others: 577
Was liked: 298
Rank: KGS 5k
KGS: RBerenguel
Tygem: rberenguel
Wbaduk: JohnKeats
Kaya handle: RBerenguel
Online playing schedule: KGS on Saturday I use to be online, but I can be if needed from 20-23 GMT+1
Suji, http://en.wikipedia.org/wiki/Software_patents The fact that an algorithm can not be patented does not detract from the fact that it happens. Did you know that Amazon tried (and succeded)to patent 1-click buying?

Quote:
The United States Patent and Trademark Office (USPTO) issued US 5960411 for this technique to Amazon.com in September 1999.
On May 12, 2006, the USPTO ordered a reexamination[1] of the "One-Click" patent, based on a request filed by Peter Calveley.[2] Calveley cited as prior art an earlier e-commerce patent and the Digicash electronic cash system.
On October 9, 2007, the USPTO issued an office action in the reexamination which confirmed the patentability of claims 6 to 10 of the patent.[3] The patent examiner, however, rejected claims 1 to 5 and 11 to 26. In November 2007, Amazon responded by amending the broadest claims (1 and 11) to restrict them to a shopping cart model of commerce. They have also submitted several hundred references for the examiner to consider.[4] In March 2010, the revised patent was confirmed.[5][6][7]


As a regular reader of Slashdot in the past, I've seen a lot of cases, this is the most flagrant I remember. Maybe 1-click is not an algorithm, but the patentability of something in the US (and starting soon, in Europe) is quite absurd.

The RSA algorithm was patented in the US (and prior to the end of that patent, all cryptographic programs like PGP asked if you were in the US or outside, it was not patented in most of the rest of the world), for the record: http://en.wikipedia.org/wiki/RSA_(algorithm)

The point is, in the US you can patent a "method for X" which uses algorithm Y. When someone else wants to do X using Y (and Y is not patented) you are infringing this patent.

It may be a stretch to say that I can patent a "method for determining the zeros of a function", use Newton's algorithm and get rich: there is prior art. But as the RSA case shows, you can stretch the algorithm patentability as much as you want

_________________
Geek of all trades, master of none: the motto for my blog mostlymaths.net

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #11 Posted: Sat Jan 07, 2012 2:37 pm 
Lives in sente

Posts: 1223
Liked others: 738
Was liked: 239
Rank: OGS 2d
KGS: illluck
Tygem: Trickprey
OGS: illluck
Just read part 4 of the series at http://www.chessbase.com/newsdetail.asp?newsid=7813

I'm not familiar with programming, but if the claims about the side-by-side comparison are true then they certainly bring up disturbing questions about the entire investigation.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #12 Posted: Sat Jan 07, 2012 4:10 pm 
Lives in gote

Posts: 302
Liked others: 70
Was liked: 8
Rank: DDK
KGS: Sujisan 12 kyu
OGS: Sujisan 13 kyu
RBerenguel wrote:
Suji, http://en.wikipedia.org/wiki/Software_patents The fact that an algorithm can not be patented does not detract from the fact that it happens. Did you know that Amazon tried (and succeded)to patent 1-click buying?

Quote:
The United States Patent and Trademark Office (USPTO) issued US 5960411 for this technique to Amazon.com in September 1999.
On May 12, 2006, the USPTO ordered a reexamination[1] of the "One-Click" patent, based on a request filed by Peter Calveley.[2] Calveley cited as prior art an earlier e-commerce patent and the Digicash electronic cash system.
On October 9, 2007, the USPTO issued an office action in the reexamination which confirmed the patentability of claims 6 to 10 of the patent.[3] The patent examiner, however, rejected claims 1 to 5 and 11 to 26. In November 2007, Amazon responded by amending the broadest claims (1 and 11) to restrict them to a shopping cart model of commerce. They have also submitted several hundred references for the examiner to consider.[4] In March 2010, the revised patent was confirmed.[5][6][7]


As a regular reader of Slashdot in the past, I've seen a lot of cases, this is the most flagrant I remember. Maybe 1-click is not an algorithm, but the patentability of something in the US (and starting soon, in Europe) is quite absurd.

The RSA algorithm was patented in the US (and prior to the end of that patent, all cryptographic programs like PGP asked if you were in the US or outside, it was not patented in most of the rest of the world), for the record: http://en.wikipedia.org/wiki/RSA_(algorithm)

The point is, in the US you can patent a "method for X" which uses algorithm Y. When someone else wants to do X using Y (and Y is not patented) you are infringing this patent.

It may be a stretch to say that I can patent a "method for determining the zeros of a function", use Newton's algorithm and get rich: there is prior art. But as the RSA case shows, you can stretch the algorithm patentability as much as you want


I am indeed aware that it can happen. For chess programs, however, patents don't come into play. This is because of the nature of chess programs. Every program uses alpha-beta searching, SEE, MVV-LVA, LMR, etc. There are multiple 0x88 programs out there as well as bitboard programs. However, if I GPL my program and someone uses my code they are required to release the code to my program, along with the modifications they did.

That is what was at play in the Rybka case.

illluck wrote:
Just read part 4 of the series at http://www.chessbase.com/newsdetail.asp?newsid=7813

I'm not familiar with programming, but if the claims about the side-by-side comparison are true then they certainly bring up disturbing questions about the entire investigation.


Yes, Chessbase has all four of the parts and I encourage everyone to read them, along with this, this, and this and all the corresponding links and come up with your own conclusions.

_________________
My plan to become an SDK is here.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #13 Posted: Sun Jan 08, 2012 7:11 am 
Lives in sente

Posts: 1045
Liked others: 0
Was liked: 182
Where the charge is using open source code the situation is much more complicated. It is not an infringement for a commercial product to use something that comes from open source provided a number of conditions are met. Since these conditions would be of no interest to end users I won't bother describing.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #14 Posted: Sun Jan 08, 2012 12:49 pm 
Lives in gote

Posts: 302
Liked others: 70
Was liked: 8
Rank: DDK
KGS: Sujisan 12 kyu
OGS: Sujisan 13 kyu
Mike Novack wrote:
It is not an infringement for a commercial product to use something that comes from open source provided a number of conditions are met.


I agree with the preceding statement, however, Fruit had the GPL license applied to it. The issue then becomes, did Rybka copy code? If so, then as per the GPL, Rybka would then have to be open source regardless of being commercial or not.

_________________
My plan to become an SDK is here.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #15 Posted: Sun Jan 08, 2012 6:59 pm 
Gosei
User avatar

Posts: 1449
Liked others: 1562
Was liked: 140
Rank: KGS 6k
GD Posts: 892
Thanks for the articles, they were pretty interesting. :tmbup:

What I am curious after reading them, is if there is an overlap to Go computer programs as well.
I wonder if running the same sort of playing similarity tests on current computer go programs would produce as interesting a linkage graph as the one on the article.

_________________
a1h1 [1d]: You just need to curse the gods and defend.
Good Go = Shape.
Associação Portuguesa de Go

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #16 Posted: Mon Jan 09, 2012 1:53 pm 
Lives in sente

Posts: 1045
Liked others: 0
Was liked: 182
Suji wrote:
Mike Novack wrote:
It is not an infringement for a commercial product to use something that comes from open source provided a number of conditions are met.


I agree with the preceding statement, however, Fruit had the GPL license applied to it. The issue then becomes, did Rybka copy code? If so, then as per the GPL, Rybka would then have to be open source regardless of being commercial or not.


No, that's a misconception --- Simply the use of some open source routine by an application does not make all of that application open source (the rest of it). Try reading the GPL more closely to see what the developer of Rybka would be obligated to do. I'll repeat, this is not a suitable forum for discussing the technicalities of either the license or how to code so as not to violate it, etc. except to point out that once can code so as not to "enclose" a routine.

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #17 Posted: Mon Jan 09, 2012 1:59 pm 
Gosei
User avatar

Posts: 1585
Location: Barcelona, Spain (GMT+1)
Liked others: 577
Was liked: 298
Rank: KGS 5k
KGS: RBerenguel
Tygem: rberenguel
Wbaduk: JohnKeats
Kaya handle: RBerenguel
Online playing schedule: KGS on Saturday I use to be online, but I can be if needed from 20-23 GMT+1
Indeed, the GPL does not force something to be open sourced, but forces the distribution of the source code:

Quote:
The fourth section for version 2 of the license and the seventh section of version 3 require that programs distributed as pre-compiled binaries are accompanied by a copy of the source code, a written offer to distribute the source code via the same mechanism as the pre-compiled binary, or the written offer to obtain the source code that you got when you received the pre-compiled binary under the GPL.

_________________
Geek of all trades, master of none: the motto for my blog mostlymaths.net

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #18 Posted: Mon Jan 09, 2012 2:15 pm 
Tengen

Posts: 4382
Location: Caldas da Rainha, Portugal
Liked others: 499
Was liked: 733
Rank: AGA 3k
GD Posts: 65
OGS: Hyperpape 4k
RBerenguel: perhaps I'm slow today, but what distinction are you trying to make?

_________________
Occupy Babel!

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #19 Posted: Mon Jan 09, 2012 2:24 pm 
Gosei
User avatar

Posts: 1585
Location: Barcelona, Spain (GMT+1)
Liked others: 577
Was liked: 298
Rank: KGS 5k
KGS: RBerenguel
Tygem: rberenguel
Wbaduk: JohnKeats
Kaya handle: RBerenguel
Online playing schedule: KGS on Saturday I use to be online, but I can be if needed from 20-23 GMT+1
I was just sourcing the comment by Mike: the GPL does not require software to be open sourced, just to make the sources available. Open source is a broad term, which usually means that you can mess as much as you want with the code and derivatives. The GPL does not force you to do this, just to provide the source of your program. With your own licenses, except for the part covered by the GPL (since any derivative work of a GPL work is also GPL, but something USING code from GPL does not need to be).

_________________
Geek of all trades, master of none: the motto for my blog mostlymaths.net

Top
 Profile  
 
Offline
 Post subject: Re: Plagiarism and Computer Engines
Post #20 Posted: Mon Jan 09, 2012 5:08 pm 
Lives in gote

Posts: 302
Liked others: 70
Was liked: 8
Rank: DDK
KGS: Sujisan 12 kyu
OGS: Sujisan 13 kyu
Mike Novack wrote:
Suji wrote:
Mike Novack wrote:
It is not an infringement for a commercial product to use something that comes from open source provided a number of conditions are met.


I agree with the preceding statement, however, Fruit had the GPL license applied to it. The issue then becomes, did Rybka copy code? If so, then as per the GPL, Rybka would then have to be open source regardless of being commercial or not.


No, that's a misconception --- Simply the use of some open source routine by an application does not make all of that application open source (the rest of it). Try reading the GPL more closely to see what the developer of Rybka would be obligated to do. I'll repeat, this is not a suitable forum for discussing the technicalities of either the license or how to code so as not to violate it, etc. except to point out that once can code so as not to "enclose" a routine.
RBerenguel wrote:
Indeed, the GPL does not force something to be open sourced, but forces the distribution of the source code:

Quote:
The fourth section for version 2 of the license and the seventh section of version 3 require that programs distributed as pre-compiled binaries are accompanied by a copy of the source code, a written offer to distribute the source code via the same mechanism as the pre-compiled binary, or the written offer to obtain the source code that you got when you received the pre-compiled binary under the GPL.


Okay, so *I* am wrong. Clearly, I'm not an expert in this issue at all (In all reality, I'm going to be wrong more than I'm going to be right, thus non-expert).

So, as I understand it, if I take Fruit which was open source with the GPL. Let's say that I manipulate the Fruit sources and improve the engine to #1 in the world right now. I'd be required to give back to the community in some fashion due to the GPL, correct? In what fashion, how I improved the program? If I built a GUI for Fruit to run in while still improving it to number one, could I get away with not releasing the source code to the GUI if it's completely separate from the source of Fruit while releasing the source code to Fruit?

_________________
My plan to become an SDK is here.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group