JaVaFo, a new FIDE pairing engine

First of all, the news: after a rather long incubation, Roberto Ricca, a programmer by trade and a FIDE Arbiter in his spare time, decided to release the pairing engine JaVaFo (pronounced yäväfö' - please, note the correct spelling: J, V, F are all capital letters).

The goal of JaVaFo was to implement the rules of the "Swiss System Based on Rating" (as described in the FIDE handbook, chapter C.04.1), better known as "Dutch" after its inventor, Dutch International Arbiter Geurt Gjissen.

In reading such rules, you may have the impression that you are reading a software algorithm. Never an impression was more correct! In fact, the legend says that first came the Dutch Algorithm, and then FIDE rules were modelled on it.

The main drawback of such an approach is that the programmer must guess whether he should implement the rules or build a clone of a FIDE endorsed program instead.

Moreover, it is very difficult to achieve a thorough knowledge of the C.04.1 rules.

"Why?", you may ask. "Isn't there a FIDE web site where the rules can be found?" Sure, such a site exists (see here). Unfortunately, it is definitely out of date. Please, read the first line: "Approved by the 1992, 1997 and 1998 General Assemblies". It stops in 1998. Do you know that the rules were amended at least in 1999, 2001, 2006 and 2009? And that the 1999 amendments were so much misplaced (paragraph 21 of C.04.2, a chapter which describes the Lim system!) that even the FIDE officials forgot about them?

And this is just the beginning... To a software programmer it is not really important where the algorithm comes from, or how frequently it is modified: a well written program can fend off all of this. One thing is really important: that the rules are unambiguous.

Unfortunately, perhaps because of how they were born, the Dutch rules show a certain ambiguity, or inconsistency, in several points. Because of this uncertainty, there are some situations (rather extreme situations, indeed) in which different officially FIDE-endorsed programs produce different pairings, even in top brackets!

In writing his program, Roberto was helped by a small group of testers (Francesco De Sio and Mario Held) and was lucky enough to be able to interact with Christian Krause, Chairman of the FIDE Pairing Committee, who gave Roberto and his testers the correct rules and also some bits of very good advice, which greatly helped to get through some of the toughest ambiguities.

JaVaFo generates pairings according to the rules defined in 2009. If you think you've got grounds for disagreement, you are welcome to contact us.

JaVaFo is not officially endorsed by FIDE - at least so far! But Roberto is confident that it is just a matter of time - the product has just started the rather lengthy process that will hopefully bring it to its final goal: the FIDE approval.


JaVaFo and Vega

If and when JaVaFo is officially endorsed by FIDE, it will come up with a user's manual that will enable anybody to use it in conjunction with his/her own software or as a stand-alone program. As for now, the only way to appreciate JaVaFo is through Vega, which was heavily modified itself to include the necessary support for JaVaFo. You will find JaVaFo in the new Vega release: just go to the Tournament tab and select Dutch FIDE (JaVaFo) in the Play System listbox.

That's not all, however: JaVaFo is written in Java (there are no relationships between the names Java and JaVaFo - it is just a coincidence) and your computer needs a Java Virtual Machine (JVM) to run it - but don't worry: very likely, you already have it. To find it out, go to menu Settings, Control Panel and look for a "Java" icon. If it is there, Java is already installed, and you just need to check the version: double-click on the Java icon, select tab General, then press button About: you will get a popup window telling you the current version (which should be 5 or greater to ensure proper working of JaVaFo).

If there's no "Java" icon up there, just go to the official java site (, follow the instructions to download the latest release of Java for your operating system, then install it on your machine using an 'Administrator' account - this is a very simple and straightforward operation, which will require just a few minutes.

Once you have done all of this, your system is ready to run JaVaFo. Thanks to it, Vega becomes the first - and, so far, the only one - Tournament Manager for Windows inclusive of  the most important FIDE approved Swiss systems (Dutch, Dubov and Lim).


The cost

Roberto Ricca, author of JaVaFo, has just a few very simple wishes:

  • to be the intellectual owner of the product

  • that people do not mispronounce JaVaFo (again, it is yäväfö')

  • that they write it correctly: javafo, JaVaFo and JAVAFO are ok, Javafo is wrong!

Nothing else. JaVaFo is thus currently free of charge in Vega (but, mind out! Vega itself is not freeware), but this decision may be subject to change in the future. Please, feel free to download the new Vega release and use JaVaFo as your pairing system.

Should you encounter any problems, please report them. The program was extensively tested, so no problem is expected - but, as the sayin' goes, never say never.


15 June 2010


News of 27 November 2010

The FIDE handbook now contains the updated rules of the Dutch system. It is the same implemented in JaVaFo. 


News of October 2012

The FIDE has officially endorsed JaVaFo in the Istambul Olympiad!


News of 2 March 2014

JaVaFo is mantaneid by Roberto Ricca at the address

Please refer to its site for details about the engine and how to interact with it.

The engine is freely available!