Author: Uri Blass
Date: 01:25:49 03/05/04
Go up one level in this thread
On March 04, 2004 at 22:21:18, Dann Corbit wrote:
>On March 03, 2004 at 21:01:36, Bas Hamstra wrote:
>
>>On March 03, 2004 at 14:33:50, Dann Corbit wrote:
>>
>>>On March 03, 2004 at 13:43:49, Bas Hamstra wrote:
>>>[snip]
>>>>I fact the sole purpose of TSCP was education. "Look, this is the guts of a
>>>>chess program in 1000 lines, everyone can do it. Take it and improve it". And it
>>>>still is highly succesful as such. I think there is a BIG difference between
>>>>basing upon TSCP, which was written in 3 days and hardly more than a framework
>>>>to learn from, and basing upon Crafty which is a fully developed state of the
>>>>art chess program with > 5 years work in it.
>>>
>>>E:\tscp>copy *.? blob
>>>board.c
>>>book.c
>>>data.c
>>>DATA.H
>>>DEFS.H
>>>eval.c
>>>main.c
>>>protos.h
>>>search.c
>>>tscp.c
>>> 1 file(s) copied.
>>>
>>>E:\tscp>wc blob
>>>2314 Lines, 8742 Words, 66517 Characters
>>>(tscp.c is a tiny stub I used that looks like this):
>>>/*
>>> ** This strange little beastie has only one purpose:
>>> ** To allow the compiler to inline like a madman.
>>> */
>>>int king[2];
>>>#include "book.c"
>>>#include "search.c"
>>>#include "board.c"
>>>#include "data.c"
>>>#include "eval.c"
>>>#include "main.c"
>>>
>>>With 2000 lines of code, that is about 200 hours of effort. Given a 40 hour
>>>work week, that would be 5 weeks to do it. I expect if you ask him about how
>>>much time (including all the revisions, documentation, etc.) it will have been
>>>at least that much effort he put into it. If you can do it in 3 days, then you
>>>are a miracle worker.
>>
>>Doesn't this also count blank lines and comments? I mean
>>
>>#include <stio.h>
>>#include <stdlib.h>
>>
>>//----------------------------------------------------------------
>>/
>>// This is my program
>>//
>>//----------------------------------------------------------------
>>
>>main()
>>
>>{ //--------------------------------------------------------------
>> //
>> // The following line is printing kukeleku
>> //
>> //--------------------------------------------------------------
>>
>> printf("kukeleku");
>>
>> return 0;
>>
>>}
>>
>>Wow, I just wrote 22 lines of code! (worth $220) No, I remember Tom himself
>>saying that he wrote the original version in 3 days and it was close to 1000
>>lines of code at the time.
>
>I think Tom was either exaggerating or used Stobor as a model and just stripped
>away stuff he was not using. The fact that it has doubled in size and has had
>dozens of releases also shows the effort that went into it.
>
>The metric assumes that you write useful comments. Plied against TSCP it would
>provide a correct measure. Plied against your program it would inflate the
>figure.
>
>>>200 hours times $100/hour = $20,000 worth of effort.
>>>
>>>Allow me to quote from Tom's readme.txt file:
>>>
>>>
>>>
>>> "LEGAL STUFF
>>>
>>>According to copyright law, you are not allowed to distribute copies of TSCP
>>>or anything that's derived from TSCP without my authorization.
>>>
>>>Version 1.4 of TSCP is the first version to include copyright notices, but
>>>previous versions are also protected under law. If you are distributing an
>>>earlier version of TSCP or a derivative work without my authorization, you are
>>>acting illegally.
>>>
>>>For more information about copyrights, visit this web page:
>>>http://lcweb.loc.gov/copyright/"
>>>
>>>I don't think you can say the intentions any more clearly than that. Tom is a
>>>very reasonable person. I expect that anyone who asks will get permission. For
>>>sure, though, the use of TSCP as a framework deserves a mention of thanks in any
>>>readme.txt file for a derivative work. Yes, even if ten years later there is
>>>not a single line of TSCP left in it. In my view, the accreditation should be
>>>perpetual.
>>>
>>>> With GNU somewhere in the middle.
>>>>"Basing" on Crafty and not mentioning it stinks, IMO. Not many will have a
>>>>problem with doing so with TSCP.
>>>
>>>But those people are doing something just as wrong as if they had used crafty.
>>>It is unethical, illegal (and in my view) immoral.
>>
>>Well it's not only a binary matter of right and wrong, the degree of evil is
>>also a factor. Basing on 3 day's work and modify it for a year, pretending it is
>>yours is not the same as basing on 5 year's work and modify it for a year and
>>pretend you just created a top-program. It's the difference between stealing a
>>cookie and committing a murder. Both are unethical, immoral, illegal. But there
>>is a difference.
>
>To me, the difference is between stealing $20,000 and one million dollars.
>Equally reprehensible, I would say.
>
>And how hard is it to say:
>"This program used ideas from TSCP."
>and asking Tom for permission?
Using ideas from tscp is not the problem.
The problem is using code from tscp and not a small part of it.
I also have some varaibles that have the same name as tscp and some constants
with the same names and some structures that are the same as tscp.
I even suggested Tom at some point to show him the relevant parts that are
identical if he has a problem with it but he said that he does not need it and
there is no problem with it.
Uri
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.