Get Involved

PyChess is a fun group of people interested in chess and making it accessible to people. If you are like what we do, there is sure to be a way you can contribute, however little time you may have.

Join the pychess-people mailing list and #pychess on freenode and see what's going on.

Contributing to the project

Browse through the opportunities below and feel free to ask if you have any questions. If you would like to do something else out of the box - super duper.

  • Helping Users

    Interested in helping others get the most out of PyChess and Chess? We rely on enthusiastic contributors like you to support and guide them. Hang out on the mailing list, online IRC chat or the Issue tracker and see if anybody asks for help.

  • Testing and Quality Assurance

    Quality Assurance is a great way to get familiar with PyChess and our code. Help us on the exciting hunt for bugs, that terrorise the life of people we care about.

  • Coding

    Many people start hacking on PyChess simply to practise their Python or Gtk skills. Other start because they are interested in chess engines, databases, Internet chess protocols and more. You can find all the developers on the mailing list, and also make sure to check out the More coding section below.

  • Localization

    Get involved with PyChess by making it available in your language. The process is easy and a fun way to practise your language skills.

  • Marketing and Evangelism

    A lot of people are still struggling to find a usable chess client. Help us spread the word of PyChess and increase its momentum further.

  • Visual Design

    So you have great artistic skill, but how about letting thousands of users experience that every day? We believe that a well designed user experience makes the world a happier place.

More about coding

PyChess has come a long way since it started in 2006, and is today one of the most advanced chess clients for Linux. But our ambitions know no end, and we have a lot more stuff lined up. To get there, we need your help.

Reaching this point, you have hopefully already secured yourself a copy of the source code. After all it is just there for you to take and play with. As a first project, you could modify the arena.py script to test the different difficulty levels of PyChess against each other; Or you could write a small gtk-viewer that shows a fen chess board. Enjoy!

PyChess has a very open development structure. If you want to hack on a specific task in which you are interested, just do it. Of course we'll have to discuss the integration, and you can hopefully get valuable feedback and hints from your fellow developers, but don't hold yourself back.

If you'd like inspiration on projects to take on, check out the Easy-Fix label on the tracker. It holds tasks that can be solved without too much prior knowledge of the code.

Documentation

Documentation is gold, but we aren't rich. There does exist a pydoc of the API and a big UML of the 0.6 class structure. It probably won't be worth your time though.

The best advice is to have a good look around in the module you are interested in, which should work more or less independently. Also a few scripts in the utilities/ do a good job showing the engine API.

Once you figure out how a badly documented piece of code works, remember to add a few new lines there or on the wiki, so to help the next person with the same problem you had. (It may be yourself).

And of course, ask on mailing list, chat up your fellow developers, ask, ask, ask :)