JaVaFo is the official pairing engine for certifying implementations of the Dutch pairing algorithm for Swiss tournaments. When I look at FIDE's list of endorsed pairing programs I see that most of them use JaVaFo. How can I get this engine and use it in my own pairing program?
According to the website for the engine it was written by international arbiter Roberto Ricco:
JaVaFo is authored and intellectually owned by Roberto Ricca, former programmer, International Arbiter and current Secretary of the FIDE Commission “Systems of Pairings and Programs” (SPPC), formerly known as “Swiss Pairings Programs”.
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.
JaVaFo is distributed as an executable java archive (jar) file and so the first step is to visit the Java Download site and download the Java runtime environment so you can run a Java Virtual Machine.
Next you can download the javafo.jar file from http://www.rrweb.org/javafo/current/javafo.jar.
Roberto Ricca has also written an Advanced User Manual which is also worth reading and which tells you exactly what functionality is available and how to invoke it.
Finally, Mark Jenkins has written some python scripts which give some concrete examples of invoking JaVaFo and which he has made available on Github.