JaVaFo version 2.0 (alignment to 2017 Rules) available
JaVaFo is the name of a program that implements the pairing rules of the Swiss System called "Dutch", as described in the FIDE handbook, chapter C.04.3.1 (for a pdf version of the entire section C.04, look here).
The author
JaVaFo is authored and intellectually owned by Roberto Ricca, former programmer, International arbiter and currently Secretary of the FIDE Commission “Systems of Pairings and Programs” (SPP), formerly known as “Swiss Pairings Programs”.
The name
The name JaVaFo (pronounced yäväfö') comes from concatenating the first and the last letter of the author's three nephews, Johanna, Victoria and Francesco. Therefore in its correct spelling J, V, F are all capital letters. Of course, depending on the circumstances, also javafo or JAVAFO are proper spellings, but please never use Javafo, as J, V and F have all the same dignity.
The Dutch Algorithm
The system has been brought to FIDE by the Dutch International Arbiter Geurt Gjissen. It is the main pairing system supported by FIDE. In reading its rules, there is the constant impression that it is a software algorithm being presented. Never an impression was more correct! In fact, the legend says that first came the Dutch Algorithm (and the Swiss Master program that was implementing it), and then FIDE rules were modelled on it.
A bit of history
For quite a long time, the existing dichotomy in the Dutch rules was the main source of confusion for both arbiters and programmers: should they follow (implement) the rules described in the handbook or behave as Swiss Master was behaving (build a clone for programmers)?
Until 2011, the FIDE handbook (at that time, section C.04.1, called “Swiss System Based On Rating”) was not very helpful, as some of its rules, perhaps because of how they were born, were ambiguous when not inconsistent. The end-result of this was that there were some situations (rather extreme situations, indeed) in which different officially FIDE endorsed programs produced different pairings, even in top brackets!
From 2011 to 2013, at the FIDE Congresses in Krakow, Istanbul and Tallinn, the SPP Commission performed some heavy rewriting on the Dutch rules and, although some things can still be written in a better way, at least the grandest part of the ambiguities was removed (hopefully, all of them).
The pairing engine
Helped by the role that its author has in the SPP Commission, JaVafo has always been the first pairing engine available that was following the clarified interpretation of the Dutch rules. Also mentioned in the FIDE handbook (section C.04.4 – The endorsement procedure), JaVaFo has been the ideal benchmark against which to test other pairing engines.
An advanced user manual is available in various formats:
pdf file (note: in-lined hyper-links may or may not work)
The current version of JaVaFo is 1.4 (made available on March 30th, 2014).
Instructions
JaVaFo is written in Java (there are no relationships between the names Java and JaVaFo - it is just a coincidence). Therefore, a computer needs a Java Virtual Machine (JVM) to run it. Very likely, it already has 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 just its version may need a check: double-click on the Java icon, select tab General, then press button About: a pop-up window will report 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 (www.java.com), follow the instructions to download the latest release of Java for the computer operating system, then install it using an 'Administrator' account - this is a very simple and straightforward operation, which will require just a few minutes.
Once all of this has been done, a computer is ready to run JaVaFo.
Conclusion
As long as it is pronounced properly (again, it is yäväfö') and spelled correctly (again: javafo, JaVaFo and JAVAFO are ok, Javafo is wrong!), JaVaFo is free of charge. Just mention this page when using it in a commercial product.
Please report any problems to javafo@rrweb.org. The program was extensively tested, so no problem is expected - but, as the saying goes, never say never.