fowode / pychess

Automatically exported from code.google.com/p/pychess
GNU General Public License v3.0
0 stars 0 forks source link

gaviota license #773

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hello,

I am the pychess package maintainer in Debian. In 0.12.beta2 release, I notice 
some binary files included in the gaviota folder. Are these files compatible 
with the pychess "GPL" license? I couldn't find sources for these files, and 
the gaviota project license looks very restrictive: 
https://sites.google.com/site/gaviotachessengine/license

"Anyone is permitted to use this software, but its distribution is not allowed 
without the consent of the author."

"Modification of the software is not permitted."

I can't include these files in the Debian package. Could you consider removing 
them?

Thanks,
Varun

Original issue reported on code.google.com by varunhir...@gmail.com on 31 May 2013 at 2:35

GoogleCodeExporter commented 9 years ago
Hi Varun!

The .so files are so called endgame tablebase probing code, compiled myself.
The sources are here:
https://sites.google.com/site/gaviotachessengine/download (tbprobe-0.4.zip at 
bottom of page)
and the license is MIT.
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1

It was my attempt to help people to easy install (without compilation etc.) 
this lib, but I think I will leave them out from RC and final releases. PyChess 
was always pure Python stuff from the beginning, and producing correct arch 
dependent .rpm and .deb is above of my knowledge.
If you plan to update the official packages soon, I can remove the affected 
code from setup.py and make a new beta3. (The final 0.12 will be released 
probably in next month.)

Btw. don't you interested to adopt and make official .deb packages from it? 
Many chess engines can use Gaviota tablebases for 3-4-5 man endgames.
If you are interested, there is another, new competitor from Ronald de Man (up 
to 6 man endgames) here:
https://github.com/syzygy1/tb

Original comment by gbtami on 31 May 2013 at 9:24

GoogleCodeExporter commented 9 years ago
Hi,

I see that the tablebase probing code is under MIT license, but are the table 
base files *.gtb.cp4 also under the same license? In any case, Debian requires 
all binary files to be built from source so we can't direcly include the .so 
files.

It would actually be good to not include theses files in the sources. pychess 
being pure python is arch independent; adding these files will make it arch 
dependent. Debian supports many archs -- does gaviota code work/build on all 
archs?

Sorry I currently don't have much time to spend packaging these tablebase 
projects. Do you know of any other chess related package in Debian/Ubuntu that 
uses these endgame tablebase files? I would be interested in knowing how they 
handle these. I am not too familiar with these files.

Thanks,
Varun

Original comment by varunhir...@gmail.com on 1 Jun 2013 at 4:02

GoogleCodeExporter commented 9 years ago
I asked Miguel on talkcess, here is hes response:

"Hi Bajusz,

Very glad you are including this to PyChess!

I thought the files *.cp4 did not need a license, but I can explicitly say they 
are under the MIT license if needed. Of course my intention was to share them.

The probing code is as a portable as we can possible have and should be 
architecture independent. I wrote it in standard C89 + a couple of POSIX 
instruction (mutex etc.). I think that if a machine has a GCC, it should 
compile with no problem. The compressing software that is included is 
compatible with MIT license and should compile with no problem (they are zlib, 
7z, etc.).

I think that the best solution is that Debian distributes the .so library 
separately. That will certainly benefit other projects, like GNUChess 5.5. 
Michel Vanderbergh (his maintainer) will be very happy about it, and it 
suggested it to me a while ago (do not confuse it with GNUChess 6.0).

There are other opensource programs that would benefit from it too, like Umko. 
This is not a comprehensive list 
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1

Miguel"

Original comment by gbtami on 1 Jun 2013 at 8:34

GoogleCodeExporter commented 9 years ago
Hi Bajusz,

If Miguel is providing all the files in MIT license (and if he can mention this 
somewhere on the project webpage), I can try to package the Gaviota library for 
Debian.

Then PyChess and other engines could you it.

Thanks,
Varun

Original comment by varunhir...@gmail.com on 2 Jun 2013 at 2:42

GoogleCodeExporter commented 9 years ago
He added the license here:
https://sites.google.com/site/gaviotachessengine/license
and here:
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1

"Probing tablebases from your own program

The Gaviota Tablebases can be probed from your own program (engine or 
interface). The code needed to do this has been released under the liberal MIT 
license, so basically anybody can use it with almost no restrictions. The 
tablebase files themselves, compressed (*.gtb.cp?)  and uncompressed (*.gtb) 
are also distributed under the MIT license. The latest release of the probing 
code (with the program example tbprobe) can be downloaded from the download 
page (look for TB probing code). Alternatively, it could be downloaded directly 
from the Git Hub Gaviota Tablebases repository."

Original comment by gbtami on 2 Jun 2013 at 7:20

GoogleCodeExporter commented 9 years ago
Hi Bajusz,

I have create preliminary packages for the gaviota tablebase library. The debs 
(only for i386 arch) can be found on my homepage here: 
http://people.debian.org/~varun/

If you have access to some i386 machine running Debian or Ubuntu, could you 
please install and check if these libraries work with PyChess? The main shared 
object is in the libgaviotatb1_0.4-1_i386.deb and the database files are 
provided in gaviotatb_0.4-1_all.deb. The header files and the static library 
are in libgaviotatb-dev_0.4-1_i386.deb.

Thanks,
Varun

Original comment by varunhir...@gmail.com on 3 Jun 2013 at 2:41

GoogleCodeExporter commented 9 years ago
On i386 Squeeze in Python console:

>>> from ctypes import CDLL
>>> CDLL("libgaviotatb.so.1.0.1")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/libgaviotatb.so.1.0.1: undefined symbol: z_uncompress

Another question regarding gaviotatb_04-1_all.deb, what size can be a database 
.deb package? I'm asking this, koz packaging only 3-man tablebase files is only 
a minimum version of the tb files. The full tablebase (containing all 3-4-5 man 
files) is about 6.6 gigabytes.

Original comment by gbtami on 3 Jun 2013 at 5:12

GoogleCodeExporter commented 9 years ago
Hi Bajusz,

Could you please try installing the packages again? There were some linking 
issues with the zlib library, so I have updated the packages. The CDLL works 
for me know. (I am not using the zlib library included with the gaviota 
sources. I link to the zlib library available in Debian.)

I'm not yet sure if the database package will be accepted into Debian as the 
*.gtb files are generated with a gaviota program which itself is not fully 
opensource -- so I will need to check. However, if it gets accepted, I could 
include some more databases in that package. I don't know if there is any upper 
limit on the package size -- again I will need to check.

Thanks,
Varun 

Original comment by varunhir...@gmail.com on 4 Jun 2013 at 1:32

GoogleCodeExporter commented 9 years ago
Hi Varun!

Updated the packages and it works now on my i386 Debian!
I removed gaviota *.so and *.cp4 files from our sources, so you can test
your new packages too. I attach a simple 0.pgn for test. It ends in a KPK
position, so if Hints panel is enabled in preferences-sidepanels, and egtb
is enabled in preferences-hints, and the egtb data files path is set too,
you have to see some lose/draw/win statistics.

Original comment by gbtami on 4 Jun 2013 at 1:26

GoogleCodeExporter commented 9 years ago

Original comment by gbtami on 4 Jun 2013 at 1:30

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by gbtami on 4 Jun 2013 at 1:32

GoogleCodeExporter commented 9 years ago
Hi Bajusz,

Yes, I see some statistics being displayed in the Hints window when I set the 
EGTB path in your example game. 

So I will cleanup the gaviota packages and upload them to Debian in a day or 
two. Since this is a new package, its license will be manually checked by 
certain people. Meanwhile, I have contacted debian-legal to check if I can 
include the *.gtb database files in a debian package and am waiting to hear 
from them. I will keep you posted on this.

Thanks,
Varun

Original comment by varunhir...@gmail.com on 5 Jun 2013 at 2:30

GoogleCodeExporter commented 9 years ago
Hi Varun!

Just got a reply from Miguel that he willing to decouple the TB generator
code from Gaviota engine, if this step really needed, and release the
generator under MIT license too.
 Of course this takes some time. We will see what debian-legals say.

Original comment by gbtami on 5 Jun 2013 at 7:52

GoogleCodeExporter commented 9 years ago
Hi Bajusz,

I contacted debian-legal: 
http://lists.debian.org/debian-legal/2013/06/msg00007.html and somebody 
suggested that it should be OK to include the database files in Debian/main, 
but I am not yet 100% sure. I have uploaded the Gaviota package to Debian and 
if the package gets accepted then we are good. It is waiting in the new queue: 
http://ftp-master.debian.org/new.html

Else it would be good if Miguel could release the TB generator code also under 
the MIT license.

Thanks,
Varun

Original comment by varunhir...@gmail.com on 8 Jun 2013 at 7:46

GoogleCodeExporter commented 9 years ago
Varun, thanks!

Original comment by gbtami on 8 Jun 2013 at 8:12

GoogleCodeExporter commented 9 years ago
Hi Bajusz,

Just an update: gaviota got accepted into Debian, so I can now package pychess.

http://packages.qa.debian.org/g/gaviotatb.html

Thanks,
Varun

Original comment by varun.ml...@gmail.com on 24 Jul 2013 at 8:47

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Thank you very much! Do you got any info about package size limit you talked 
about in comment #8?
Btw. I plan to do the beta3 release this week.

Original comment by gbtami on 24 Jul 2013 at 9:36

GoogleCodeExporter commented 9 years ago
I haven't yet checked about the package size. We should be able to include a 
few more files - say up to 10-20 MB, but it may be better to provide a simple 
script in the package for the users to run and download the required databases 
themselves if needed. I will think about this.

Original comment by varun.ml...@gmail.com on 24 Jul 2013 at 9:41

GoogleCodeExporter commented 9 years ago

Original comment by gbtami on 8 Aug 2013 at 7:07

GoogleCodeExporter commented 9 years ago
Hi Bajusz, 

I didn't get much time to work on this, but have updated the pychess package in 
Debian to 12 beta3. Hopefully it is working fine.

If you would like me to include some more gaviota database files, I can do it 
in the next release. Alternatively, I was think you could add an option in the 
pychess GUI to let the user download extra databases if needed (through a 
script in the background).. or we could provide an extra script in the gaviota 
package to do the same.

I just think including all the databases in one single package may discourage 
people from installing it (and pychess which will depend on this package).

Varun

Original comment by varun.ml...@gmail.com on 8 Aug 2013 at 1:41

GoogleCodeExporter commented 9 years ago
It would be cool to have such a script in gaviotatb package, koz it can put the 
additional downloaded table files where they belongs to 
(/usr/share/gaviotatb/). If this is not possible we can add a GUI option of 
course.

Original comment by gbtami on 8 Aug 2013 at 2:06