ethical dilemma

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: ethical dilemma

Post by mhull »

hristo wrote:
mhull wrote:
hristo wrote: Robert,
in a different world it would be possible to share ideas and property and be happy. But in our world we need people to be successful in order to have you (educational system) and other people be employed -- and this often means not sharing for free, but instead making money.
It seems that you claim that so long as one has paid money for the education received then one can "clam up", but if one has received education (knowldge) without actually paying to academia then one must contribute all ideas back to the general public.

This, if that is what you are saying, is untenable and contrary to the way our society works.

Many people don't have the funds that you have to run computer labs (clusters) to test their ideas and must find resources -- some of those resources might come from the application and development of their own ideas. It is not an easy path to start a business and make a living and pay taxes (some of which go towards funding universities) when people are unscrupulous and willing to demolish your chances for success -- merely because some believe that the inventor doesn't have a right to his own invention.

I have a fundamental problem with the above expressed [yours] notion that "Unless academia is paid up you don't have a right to your own ideas".

Regards,
Hristo
A programmer who goes commercial could have instead published a paper to benefit all, since he benefited from all.
Why? (Why should one be compelled or forced into resigning his own ideas to the general public?)
There is no implication of forcing, obligating or compelling in my argument. Those who share insight to the benefit of all are simply contrasted with those who take that benefit to build and hoard their own insight to profit only themselves.
hristo wrote: There is a distinct difference between having a unique idea and using apriory knowledge. In all of our endeavors there is a wealth of knowledge that is used to create products -- usually, products that the consumers desire. The mere act of creating something unique amidst the ever expanding pool of knowledge is even more valuable -- because it is rare and incredibly difficult to do. If we accept that any such invention should be automatically made public and the author of the invention should be stripped of his possession
I don't see any force being advocated here. Only a contrast between those who give freely and those who hoard.
hristo wrote: , then we devalue the personal achievements and force people into some 'grid' like structure where the perceived benefits for the group overwrite the individual -- "My name is '7 of 9' and I'm moving from left to right because this is good for the colony.".
mhull wrote: He took much and returned nothing or very little, using what was given, and his additions, to profit himself.
This is not a defend-able position, Matt. One can acquire knowledge by the virtue of negative knowhow, or by simply reading books ... I don't presume that in either of those cases you would demand that the author discloses his/her ideas. The individual can learn from a number of sources and in a number of ways ... but there is no direct relation between acquired knowledge and a responsibility to disclose your own ideas, whatever those ideas might be.
I'm not defending anything other than the manifest difference in stature already delineated. You are not arguing with me.
hristo wrote:
mhull wrote: No problem. Not the first, of course. Perfectly legal, of course. But those who keep their secrets on the shoulders of those who gave freely aren't of the same stature.
Agree.
They are not of the same stature, but those who condone 'thievery' are of no stature at all. (Regardless of how you (anyone) attempts to 'justify' the act of stealing, it is, after all, just that -- stealng)
I don't think I said anything that condones stealing. You perhaps you refer to someone else's comments on disassembly. The issues there will be the same as with copyrighted text.
hristo wrote:
mhull wrote: Yes, they have their monetary reward.
Not always.
Many people are simply trying to make a living by using freely available knowledge, however, they are not rich.
mhull wrote: No problem. But they aren't advancing the field of computer science and their stature will always be lesser for it.
This may be so ... but the stature of those who don't understand personal freedoms (rights) will always be lower, yet. (IMHO, of course)
The expression of behavioral value judgments among peers deosn't restrict anyone's liberty.
hristo wrote: Regards,
Hristo

p.s.
Here is an example, albeit from left-field:
I don't like weapons ... in fact I despise them ... but I strongly believe that every USA citizen (or world citizen) should have the right to posses a deadly weapon.
This is only intended to show the difference between principles and 'wishful thinking'. Yes, I do wish we were all nice to one another ... but, if we were ['nice to one another'] then having a weapon wouldn't hurt one bit.
Matthew Hull
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: ethical dilemma

Post by bob »

Marc Lacrosse wrote:
This is my last reply. If you will just simply read what I wrote, I pointed out two cases:

(1) professionals "listen in" on discussions here, but offer nothing.

(2) the more interesting case is where a programmer starts out as an amateur, and participates in discussions, asking questions, and so forth, but later decides to go commercial after discovering some new idea that works well.

So don't try to derail the discussion into "why/when do commercial programmers ask me (or anybody else) questions. I never said they did. I said they often "lurk" to see what ideas can be tried (everybody does "reductions" after Fruit was released and even more importantly, everybody does them in a better way that what fruit did, after lots of discussions here. Even though at least one other commercial program was using them a couple of years previously. The more common case is where someone begins as an amateur, and asks questions _then_...

why is that so complicated???

It is not, Bob.

For what regards myself and my modest place in our beloved computer chess world :
- By chance I had the opportunity to work for and with Fabien for the early successes of Fruit.
- Then things went wrong (and mad) when Fruit went commercial a few months later - and I did leave Fruit team.
- Then for a short while I had the pleasure of collaborating with Peter Berger for Crafty in Torino. But shortly after that Peter Berger left computer chess.
- Then orphaned Fruit became somehow the adopted child of Ryan Benitez and at the same time came back into the group of non-commercial projects. And I went back too for a little help in testing and tuning.

Inbetween I tried to help quite a few free chess engines authors.

I also declined quite a few offers from commercial projects for book-making and so on.

Hey Bob : not only do I completely agree with what you said in this thread but I come back from my former decision not to participate in such kinds of discussions in the general CCC forum anymore just to say one thing :

I deeply feel that this evolution toward leeching of free shared knowledge by soon going private profit-searching individuals will have terribly negative effects on most aspects of our hobby...

I strongly support what you said.

Marc
Thanks. Most are confusing the piracy issue with what I wrote in my comments. I don't now, and never have, agreed with the idea of stealing code outright. This can be seen in the many discussions about clones and participation in events like the WCCC that I (and many others) have had.


Your "leeching" term is really an accurate description of what I have been talking about in _this_ thread. The only advantage I have over nearly anyone else here is that I had the opportunity to see how computer chess progressed in an "open" environment, as opposed to what happens in a significant number of cases today. In the 70's there were zero secrets. In the 80's there was some, but it was minimal and inconsequential. Lang's "genius" program comes to mind as the first commercial programmer to discover something "new" on his own, that gave him a significant edge over others for a few years. But he didn't "leech" the idea. Today, you can almost bet that when someone else "goes commercial" it is based on something new they don't want to reveal. Which I guess has to be OK since that is a personal choice each person makes for himself/herself...
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: ethical dilemma

Post by Rolf »

hristo wrote:
bob wrote:
hristo wrote: Copyright, in its general form, is by no means constrained to "written material" only and this applies to computer software. The fact that your source code is translated into a binary representation doesn't remove the copyrights you held on the original code.
I hope I never implied otherwise. That would be identical to translating a book from English to German, for example. And it would be a copyright violation. But browsing through a book, to learn how the author delivers the story, and then using that is _not_ a copyright violation.

For an example, Clive Cussler starts his books in a time-travel back to the distant past, where some natural history event (A boat sinks, a bomber crashes at sea, etc) is carefully explained, adding some key detail that will be critical to plot development later. Then he time-shifts back to the present, and somehow works that ancient event into the tale to give the NUMA guys a way to thwart some global terror plan. Absolutely nothing would prevent me from using that same sort of "twist" to write my own books. You can't copyright a "style", just the actual document itself.

That was my point with computer software. You naturally hold the copyright on the source you write, and on any translation made from it which would include the executable. [...]

That was the point I was making. And disassembling a program to see how it works does not violate anything. Copying the thing and claiming it as your own won't fly. But disassembling, learning how the thing works, and then using that to write your own is perfectly safe...
I guess we are in agreement then, on this particular topic.
Disassembling a binary executable is not, strictly speaking, illegal, however what you do with the dissembled code can be.
If there is a proof that the disassembled code was used in a product then there is as strong chance of copyright infringement case. There are many ways to prove (or assert) that such an action has taken place and in the case of Rybka vs Strelka the evidence is such that as an expert witness (or advisor) I would have only one option -- Strelka misappropriated code from Rybka. (I believe that if the source code for Strelka 1.0 is released then even more evidence for this 'theft' would be available. If you go to court this would be one of the issues, btw -- history, progression of the development cycle)

Aside from the above, the more pertinent question is the one that Gerd Isenberg posed at the beginning of this thread. It is clearly not illegal to learn and use someone else's ideas, for the purposes that you see fit -- even if those ideas were obtained in an immoral and dishonest fashion.
However, if you use Rybka's ideas in your own software while completely disregarding the means by which those ideas were obtained and disseminated then you must also understand that others would use your ideas (or education) for purposes that might run contrary to what you believe is 'right' and 'just'.

If you want others to follow your moral standards and use your ideas in a way that is consistent with your intent, then you must extend this same courtesy to the ideas represented in Rybka -- for those ideas were surely not intended to be made public knowledge.

However, if the benefit from using Rybka's ideas is sufficient you will likely use them within your own product and for your own interests, even though you, personally, had nothing to do with their invention. As time passes you might feel obliged to help others understand those 'stolen' ideas and then demand that you are given something back in return ... I don't know.

If all of us were university professors we wouldn't be required, by the simple rules of life, to be able to create and actually sell our products -- fortunately, some of us have to create real products that consumers want to buy in a very competitive market and this necessity puts pressure on innovation and advancement. In the realm of chess software this is readily obvious -- regardless of how much I like Glaurung. (In fact, I would pay money for the privilege of using Glauring)
bob wrote:
There are many criteria that come into play, and I certainly don't understand or know all of them, when deciding on a copyright infringement, but I'm certain that "literal copying of source code" is not a requirement in the case of software.

Additionally, parts of your program can be protected by the very nature of their creation, for instance a table of values (or small poem) is embedded in your application. If this table cannot be easily derived from first principles and if the infringing party cannot show how this table was derived then you have an infringement. (considering that they couldn't have copied this table of values from somewhere else, it doesn't matter how easy it is to create the table if the can be created...
Now you are hitting on the essence of why we don't allow copyright to apply to a "program" in general, but specifically to its source and translated derivatives.

What set of values can't be produced by trial and error, when we are talking about any table that might appear in a chess program? It is easy enough to write a simple algorithm that can produce any set of parameters you want, totally by brute force... So it all goes back to proving that I stole your source or executable and used it in whole or in part, and that has proven to be _very_ difficult in all the copyright infringement cases I have followed over the years...
Unless you can show the 'simple algorithm that you used to discover the table' you are going to be toast. This is not a matter of speculation or hand-waving -- you have the table and I have the table, but you came up with that table first, I admitted to have looked at your table and then I cannot show a way to derive it - case closed.
bob wrote: For example, the large table of "magic" numbers I use. Came from Pradu. They appear in several programs. And we all could have come up with the same numbers ourselves, just like we _could_ generate our own tablebases, but the effort would be wasted since it has already been done once.
You can lose your 'copyright' by failing to enforce it ... or there might be no copyright material to start with. It is a matter of expression and it is not very simple ... which was my point.
bob wrote:

If the infringing party admits to have disassembled your work and then literal or non-literal, as a result of translation (and consequent obfuscation), parts of the original are found in the derivative then you have very good chance of winning. (Notice that nowhere in this process one has to argue or defend the concept of 'idea')

All you are after is to show that your original work was used inappropriately. This is, usually, much easier to do when your work contains identifiable unique parts.

However, that is the sticky point as I mentioned. For example, old versions of Crafty used rotated bitmaps, with large tables of constants to generate moves. If someone copied those, I would have no chance to get relief under copyright law because the numbers are not unique (no number on a computer is ever unique) since they can be generated by an algorithm, which can never be copyrighted or patented...
This is intermingling two concepts, IMO.
Your source code is just a bunch of numbers that can be derived through a random number generator -- this in no way impedes your copyrights and so I'm not sure what your point is.

Regards,
Hristo

p.s.
The appreciation for your work and your contributions with respect to computer chess is not in question. However, your perceived (expressed) attitude towards 'injustice' and 'abuse' is what makes me respond in the way that I do.

(Why is it that we still don't have the blueprints of Deeper-blue, or Hydra, or the source code of Hiarcs, or ...? It is because those people have worked very hard to get where they are (were) and they deserve to have possession of their own work. With your attitude, soon enough there will be only rental-software ... that runs on a server and outside of your control -- good days.)
Sorry that I quoted the full text. It's also for my own archive. It's easy to be seen to what extent we are ready to forget about all what our field could have as somewhat holy.

For Bob the state of the whole computerchess field has importance when he said that the practice of 'leeching' leads to a halt of fast progress which could be called dark ages from a later more developped standpoint after all the inventions have been used in all programs.

Now you dare to state what I have put in broad letters, that some practice must not be illegal even if it's avaible through immoral, dishonest practices.

I strongly disagree because then all what Bob tried to hypostate as 'holy' runs down through the gutter. And that would be no good for our field as such.

What Bob from the elevated science view wants to conserve is that our computerchess is steadily moving towards perfect chess, for many decades to come. Progress should not be hindered by for example professionals who were amateurs and got all the good ideas from our community, and who then as pro's wouldnt give anythig back. Even my and Walker's objection that they have a family and they have NOT the financial security as academics, didnt change Bob's verdict, he didnt even respect that argument as valid. He even tried to moote my topic by arguing that many of the best programmers have never been academics. As if that would prove something against professional as young family fathers. Also Bob completely ignored the age factor. All his examples are older aged people while Vas isnt even 30 years old. One could better already speak of a clash between different generations IMO. Bob simply ignores the real world for young people in a time of recession.

Let me clearly point out why I am totally against your amoral concept. Let me tell you something. In a state it is NOT tolerated that groups or individuals use immoral and or dishonest means for their own good also if there is no legal rule offended. Because if a state would tolerate that it would die out as if it had been eaten up by cancer. Such business rats would simply been exterminated, well knowing and only because everybody knows it that legal procedures couldnt reach them because what they do isnt illegal but it's immoral and dishonest. I speak for example of these ill-minded Hedge Fonds who intentionally destroy absolutely sane economic industries just to make the maximal profit.

The same how a state can do this we in computerchess also need a moral basis from what on we can punish and exterminate immoral and dishonest activities. And that should be organised right now as fast as we can.

Clones, legal or not, must be banned from all our tournaments. No excuses for anyone. Strelka, Toga etc. these creations must be exterminated as poison for the progress of computerchess.

If we would follow such guidelines then, Bob and Hristo, and all other members, someone like Vas could happily present his new findings for the best of the field. If he must not fear all kind of immoral or dishonest activities would be tolerated that would rip his own creation apart.

I ask all well-meaning members if they would accept such a policy of not the slightest tolerance for dishonest stealing of code of other talents.
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: ethical dilemma

Post by Rolf »

Rolf wrote:The same how a state can do this we in computerchess also need a moral basis from what on we can punish and exterminate immoral and dishonest activities. And that should be organised right now as fast as we can.

Clones, legal or not, must be banned from all our tournaments. No excuses for anyone. Strelka, Toga etc. these creations must be exterminated as poison for the progress of computerchess.

If we would follow such guidelines then, Bob and Hristo, and all other members, someone like Vas could happily present his new findings for the best of the field. If he must not fear all kind of immoral or dishonest activities would be tolerated that would rip his own creation apart.

I ask all well-meaning members if they would accept such a policy of not the slightest tolerance for dishonest stealing of code, tricks and ideas of other talents.

1. Creation of a commission of three outstanding programmer experts

2. After suspicious observations the commission decompiles the code of any possible creation. A verdict is given and from that on that program stands in quarantaine so to speak. Nobody will operate it, buy it or enjoy it. The verdict will be published in a weeklky hit-list.

3. In difficult cases the commission gives the order to other famous experts, invites them to find out if there is something fishy in a program code.

4. The newest §§ is this: also already professional programs are discussed without prejudices, and likewise they are possibly banned. The rules of honesty are well known and must be accepted also by professionals. It's intolerable that pro's should have extra rights to cheat the community. NB this is not about judicial issues but about morally banning dishonest practices of amateurs but also of professionals.

5. Although a lay I have a determined opinion about who should survive with his program at all. A program with certain singular ingrediants and such specialties does also stand under the protection against copy practices. Honesty means that all borrowed stuff must be declared in the prog files in a special info.

6. Such a practice would then increase the chess interest of any tournament. We have a table for all programs and their similarity parameter. Which allows to debate the different approaches what is actually impossible to do even for experts because the code details of professionals (= commercials) are secret.

(Please all can improve the many points and also add other aspects. The most important side of such a charter of programming honesty is the unity of our community which allows the choice of a favorite but then on almost expert level and not just because we like or dislike a certain programmer's nose or home country. I catched these ideas as a friendly observer of the field without being a computerchess technology expert as such. Best wishes for every creative individual! With a hug to all around.)
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: ethical dilemma

Post by slobo »

Rolf wrote:
Rolf wrote:The same how a state can do this we in computerchess also need a moral basis from what on we can punish and exterminate immoral and dishonest activities. And that should be organised right now as fast as we can.

Clones, legal or not, must be banned from all our tournaments. No excuses for anyone. Strelka, Toga etc. these creations must be exterminated as poison for the progress of computerchess.

If we would follow such guidelines then, Bob and Hristo, and all other members, someone like Vas could happily present his new findings for the best of the field. If he must not fear all kind of immoral or dishonest activities would be tolerated that would rip his own creation apart.

I ask all well-meaning members if they would accept such a policy of not the slightest tolerance for dishonest stealing of code, tricks and ideas of other talents.

1. Creation of a commission of three outstanding programmer experts

2. After suspicious observations the commission decompiles the code of any possible creation. A verdict is given and from that on that program stands in quarantaine so to speak. Nobody will operate it, buy it or enjoy it. The verdict will be published in a weeklky hit-list.

3. In difficult cases the commission gives the order to other famous experts, invites them to find out if there is something fishy in a program code.

4. The newest §§ is this: also already professional programs are discussed without prejudices, and likewise they are possibly banned. The rules of honesty are well known and must be accepted also by professionals. It's intolerable that pro's should have extra rights to cheat the community. NB this is not about judicial issues but about morally banning dishonest practices of amateurs but also of professionals.

5. Although a lay I have a determined opinion about who should survive with his program at all. A program with certain singular ingrediants and such specialties does also stand under the protection against copy practices. Honesty means that all borrowed stuff must be declared in the prog files in a special info.

6. Such a practice would then increase the chess interest of any tournament. We have a table for all programs and their similarity parameter. Which allows to debate the different approaches what is actually impossible to do even for experts because the code details of professionals (= commercials) are secret.

(Please all can improve the many points and also add other aspects. The most important side of such a charter of programming honesty is the unity of our community which allows the choice of a favorite but then on almost expert level and not just because we like or dislike a certain programmer's nose or home country. I catched these ideas as a friendly observer of the field without being a computerchess technology expert as such. Best wishes for every creative individual! With a hug to all around.)
You should allow some space to cloned engines. They must have the right to try to beat their source-engines and deny your commission.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: ethical dilemma

Post by Rolf »

slobo wrote:You should allow some space to cloned engines. They must have the right to try to beat their source-engines and deny your commission.
I proposed some ethical basics for computerchess and these should then be valid without any exception. You seem to confuse ethics with a judicial law which is something else.

Let me give a simple example. The case O might be legally still not totally clear and therefore nothing will happen in that direction. But ethically O has offended every ethical basis with his own funny meant confession how he had procedured. So, not judicially, what could be difficult concerned that we had to face other laws in the former GUS states, but ethically O violated another programmer collegue and he should be treated with contempt. You srr the difference?

The general rule is this:

Not everything what is legally tolerated because it cant be proven beyond doubt is therefore ethically sound and allowed. All kind of nasty misbehavior for example.

Take again the O case. O defended himself with a clear insinuation / allegation against Vas, a personal attack. But even if he were correct O didnt create something "better" or "worthier". What he created was alone intended to harm another programmer with his creation. O directly insinuated that Vas took Fruit. - You cant forbid such practice, but the community could decide to abstain such misbehavior and to ignore it.

Anyway I am no expert and neither a member of that programmer commission. And IMO clones shouldnt be allowed in test practice or tournaments. Clones meant also in that sense that it's a tuned version of a program. That is user fun but not made to be publicly honored by official testers and tournament organisers. It's that simple. Not only out of etcal reasons but from a testing basics too. I think it's understood that such "versions" brought into the tests at any time degenerate the value of the outcoming results. Because testing means the entries have equal chances. The critic was also valid in direction of the famous SSDF. It's the loop between neutral testers and the responsibles for the entries from outside.

Another often overseen aspect is also ethically important: the tuning of lent or taken or ripped programs is insultive to the many not so strong programmers, probably 300+, who could never participate in our known tournaments, but someone who did never create something on his own, he would participate which is almost a slap into the faces of the many honest unknown programmers!
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: ethical dilemma

Post by slobo »

Rolf wrote:
slobo wrote:You should allow some space to cloned engines. They must have the right to try to beat their source-engines and deny your commission.
I proposed some ethical basics for computerchess and these should then be valid without any exception. You seem to confuse ethics with a judicial law which is something else.
Not at all: I only see a possibility that your ethical commission may transform itself in something else with the time, so we should foresee that possibility and do something to fight against it

In chess doubts should always be solved over chess board, not by commissions. Games should be the final proof.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: ethical dilemma

Post by Rolf »

slobo wrote:
Rolf wrote:
slobo wrote:You should allow some space to cloned engines. They must have the right to try to beat their source-engines and deny your commission.
I proposed some ethical basics for computerchess and these should then be valid without any exception. You seem to confuse ethics with a judicial law which is something else.
Not at all: I only see a possibility that your ethical commission may transform itself in something else with the time, so we should foresee that possibility and do something to fight against it

In chess doubts should always be solved over chess board, not by commissions. Games should be the final proof.

That a commission, because out of erring human beings, is potentially wrong, this is normal but this doesnt mean that the idea of such a moral instance is faulty and that we should better tolerate the stealing practice... I hope you agree so far. In the end you twist around what I said and propose that crimes are better than ethical commissions... I hope you dont mean that.

A commission of ethical concern makes judgements so that our community can look through complicated cases. They speak out of a superior programmer knowledge that we normal members lack of. This concept is universally accepted. That higher experienced experts can judge with a higher credibility. And if one should fail, the two others will correct that. If two will faIl the third expert will inform the members. Very unlikely the case where all the experts will fail to look through.

Chess and computerchess hopefully too isnt a gamble in Vegas but a sport with ethical standards that have a legendary origine of higher spirit just like the game itself. However the ethical commission will certainly consider the results of games as well as all kind of test results, no doubt about it.

But for now we have chaos and wild west manners. Ethical considerations should change the community to the better. All IMO of course.

GENS UNA SUMUS
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: ethical dilemma

Post by slobo »

Rolf wrote:
slobo wrote:
Rolf wrote:
slobo wrote:You should allow some space to cloned engines. They must have the right to try to beat their source-engines and deny your commission.
I proposed some ethical basics for computerchess and these should then be valid without any exception. You seem to confuse ethics with a judicial law which is something else.
Not at all: I only see a possibility that your ethical commission may transform itself in something else with the time, so we should foresee that possibility and do something to fight against it

In chess doubts should always be solved over chess board, not by commissions. Games should be the final proof.

That a commission, because out of erring human beings, is potentially wrong, this is normal but this doesnt mean that the idea of such a moral instance is faulty and that we should better tolerate the stealing practice... I hope you agree so far. In the end you twist around what I said and propose that crimes are better than ethical commissions... I hope you dont mean that.

A commission of ethical concern makes judgements so that our community can look through complicated cases. They speak out of a superior programmer knowledge that we normal members lack of. This concept is universally accepted. That higher experienced experts can judge with a higher credibility. And if one should fail, the two others will correct that. If two will faIl the third expert will inform the members. Very unlikely the case where all the experts will fail to look through.

Chess and computerchess hopefully too isnt a gamble in Vegas but a sport with ethical standards that have a legendary origine of higher spirit just like the game itself. However the ethical commission will certainly consider the results of games as well as all kind of test results, no doubt about it.

But for now we have chaos and wild west manners. Ethical considerations should change the community to the better. All IMO of course.

GENS UNA SUMUS
Down the World Government.
A chess engine, be it called "original" or "clone" (we know that none of them is original 100%), must have assured its right to play on borad, and beat, its supposed engine-mother.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: ethical dilemma

Post by bob »

hristo wrote:
bob wrote:
hristo wrote: Copyright, in its general form, is by no means constrained to "written material" only and this applies to computer software. The fact that your source code is translated into a binary representation doesn't remove the copyrights you held on the original code.
I hope I never implied otherwise. That would be identical to translating a book from English to German, for example. And it would be a copyright violation. But browsing through a book, to learn how the author delivers the story, and then using that is _not_ a copyright violation.

For an example, Clive Cussler starts his books in a time-travel back to the distant past, where some natural history event (A boat sinks, a bomber crashes at sea, etc) is carefully explained, adding some key detail that will be critical to plot development later. Then he time-shifts back to the present, and somehow works that ancient event into the tale to give the NUMA guys a way to thwart some global terror plan. Absolutely nothing would prevent me from using that same sort of "twist" to write my own books. You can't copyright a "style", just the actual document itself.

That was my point with computer software. You naturally hold the copyright on the source you write, and on any translation made from it which would include the executable. [...]

That was the point I was making. And disassembling a program to see how it works does not violate anything. Copying the thing and claiming it as your own won't fly. But disassembling, learning how the thing works, and then using that to write your own is perfectly safe...
I guess we are in agreement then, on this particular topic.
Disassembling a binary executable is not, strictly speaking, illegal, however what you do with the dissembled code can be.
If there is a proof that the disassembled code was used in a product then there is as strong chance of copyright infringement case. There are many ways to prove (or assert) that such an action has taken place and in the case of Rybka vs Strelka the evidence is such that as an expert witness (or advisor) I would have only one option -- Strelka misappropriated code from Rybka. (I believe that if the source code for Strelka 1.0 is released then even more evidence for this 'theft' would be available. If you go to court this would be one of the issues, btw -- history, progression of the development cycle)

Aside from the above, the more pertinent question is the one that Gerd Isenberg posed at the beginning of this thread. It is clearly not illegal to learn and use someone else's ideas, for the purposes that you see fit -- even if those ideas were obtained in an immoral and dishonest fashion.

However, if you use Rybka's ideas in your own software while completely disregarding the means by which those ideas were obtained and disseminated then you must also understand that others would use your ideas (or education) for purposes that might run contrary to what you believe is 'right' and 'just'.

If you want others to follow your moral standards and use your ideas in a way that is consistent with your intent, then you must extend this same courtesy to the ideas represented in Rybka -- for those ideas were surely not intended to be made public knowledge.

However, if the benefit from using Rybka's ideas is sufficient you will likely use them within your own product and for your own interests, even though you, personally, had nothing to do with their invention. As time passes you might feel obliged to help others understand those 'stolen' ideas and then demand that you are given something back in return ... I don't know.

If all of us were university professors we wouldn't be required, by the simple rules of life, to be able to create and actually sell our products -- fortunately, some of us have to create real products that consumers want to buy in a very competitive market and this necessity puts pressure on innovation and advancement. In the realm of chess software this is readily obvious -- regardless of how much I like Glaurung. (In fact, I would pay money for the privilege of using Glauring)
bob wrote:
There are many criteria that come into play, and I certainly don't understand or know all of them, when deciding on a copyright infringement, but I'm certain that "literal copying of source code" is not a requirement in the case of software.

Additionally, parts of your program can be protected by the very nature of their creation, for instance a table of values (or small poem) is embedded in your application. If this table cannot be easily derived from first principles and if the infringing party cannot show how this table was derived then you have an infringement. (considering that they couldn't have copied this table of values from somewhere else, it doesn't matter how easy it is to create the table if the can be created...
Now you are hitting on the essence of why we don't allow copyright to apply to a "program" in general, but specifically to its source and translated derivatives.

What set of values can't be produced by trial and error, when we are talking about any table that might appear in a chess program? It is easy enough to write a simple algorithm that can produce any set of parameters you want, totally by brute force... So it all goes back to proving that I stole your source or executable and used it in whole or in part, and that has proven to be _very_ difficult in all the copyright infringement cases I have followed over the years...
Unless you can show the 'simple algorithm that you used to discover the table' you are going to be toast. This is not a matter of speculation or hand-waving -- you have the table and I have the table, but you came up with that table first, I admitted to have looked at your table and then I cannot show a way to derive it - case closed.
bob wrote:
That's the problem, in a nutshell. Here is my trivial program to find the values for a table of 32 different numbers:

Code: Select all

for &#40;n1=lower; n1 < upper; n1++)
  t&#93;0&#93; = n1;
  for &#40;n2=lower2; n2<upper2; n2++)
     t&#91;1&#93; = n2;
    ....
      ....
        &#123;output t&#91;&#91;*&#93; and test, save best&#125;



In fact, we discover a lot of eval values for crafty in exactly that way. And it will work for anything, given enough time. And that is why numbers can't be patented or copyrighted, nor series of numbers, etc...
For example, the large table of "magic" numbers I use. Came from Pradu. They appear in several programs. And we all could have come up with the same numbers ourselves, just like we _could_ generate our own tablebases, but the effort would be wasted since it has already been done once.
You can lose your 'copyright' by failing to enforce it ... or there might be no copyright material to start with. It is a matter of expression and it is not very simple ... which was my point.
bob wrote:

If the infringing party admits to have disassembled your work and then literal or non-literal, as a result of translation (and consequent obfuscation), parts of the original are found in the derivative then you have very good chance of winning. (Notice that nowhere in this process one has to argue or defend the concept of 'idea')
The disassembly and finding duplication won't stand up.

There are a large number of different C/C++ code segments that can produce identical code when fed thru a good compiler.

For example:

a <= 8;

a = a * 256;

a = a * exp(2, 8);

and so forth. Proving that a group of assembly instructions is unique would be impossible. In fact, if you were to disassemble most bitboard based programs, you would probably find significant matches "just because that is the way things are done". And it would not prove copying at all. I think that would be a hopeless thing to prove with reasonable confidence.


All you are after is to show that your original work was used inappropriately. This is, usually, much easier to do when your work contains identifiable unique parts.

However, that is the sticky point as I mentioned. For example, old versions of Crafty used rotated bitmaps, with large tables of constants to generate moves. If someone copied those, I would have no chance to get relief under copyright law because the numbers are not unique (no number on a computer is ever unique) since they can be generated by an algorithm, which can never be copyrighted or patented...
This is intermingling two concepts, IMO.
Your source code is just a bunch of numbers that can be derived through a random number generator -- this in no way impedes your copyrights and so I'm not sure what your point is.

Regards,
Hristo

p.s.
The appreciation for your work and your contributions with respect to computer chess is not in question. However, your perceived (expressed) attitude towards 'injustice' and 'abuse' is what makes me respond in the way that I do.

(Why is it that we still don't have the blueprints of Deeper-blue, or Hydra, or the source code of Hiarcs, or ...? It is because those people have worked very hard to get where they are (were) and they deserve to have possession of their own work. With your attitude, soon enough there will be only rental-software ... that runs on a server and outside of your control -- good days.)

note that the internals of deep blue are public. They have been published several times. Not circuit schematics, which are not the important part, but the implementation details themselves (singular extensions, parallel search algorithm, evaluation terms) have been well-exposed... Ditto forr many other programs, just not the commercial ones.