DOMjudge is a system for running programming contests, like the ICPC regional and world championship programming contests.
This means that teams are on-site and have a fixed time period (mostly 5 hours) and one computer to solve a number of problems (mostly 8-11). Problems are solved by writing a program in one of the allowed languages, that reads input according to the problem input specification and writes the correct, corresponding output.
The judging is done by submitting the source code of the solution to the jury. There the jury system automatically compiles and runs the program and compares the program output with the expected output.
This software can be used to handle the submission and judging during such contests. It also handles feedback to the teams and communication on problems (clarification requests). It has web interfaces for the jury, the teams (their submissions and clarification requests) and the public (scoreboard).
A global overview of the features that DOMjudge provides:
DOMjudge has been used in many live contests (see https://www.domjudge.org/about for an overview) and is Open Source, Free Software.
This is a (rough) list of the requirements for DOMjudge.
A detailed list of requirements is contained in the Installation and Configuration chapter.
DOMjudge is developed by Jaap Eldering, Nicky Gerritsen, Keith Johnson, Thijs Kinkhorst and Tobias Werth; Peter van de Werken has retired as developer. Many other people have contributed (apologies for any oversights): Michael Baer, Jeroen Bransen, Stijn van Drongelen, Rob Franken, Marc Furon, Jacob Kleerekoper, Ruud Koot, Jan Kuipers, Richard Lobb, Alex Muntada, Dominik Paulus, Bert Peters, Jeroen Schot, Matt Steele, Shuhei Takahashi, Hoai-Thu Vuong, and Jeroen van Wolffelaar. Some code has been ported from the ETH Zurich fork by Christoph Krautz, Thomas Rast et al.
DOMjudge is Copyright (c) 2004 - 2019 by the DOMjudge developers and its contributors.
DOMjudge, including its documentation, is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. See the file COPYING.
This software is partly based on code by other people. These acknowledgements are made in the respective files, but we would like to name them here too (with non-GPL licences listed where applicable):
doc/dash.copyrightfor more details). Sources can be downloaded from: https://www.domjudge.org/sources/.
COPYING.MIT. It was downloaded from http://www.barelyfitz.com/projects/tabber/.
COPYING.BSD. It was downloaded from https://github.com/ajaxorg/ace-builds, the
COPYING.MIT. It was downloaded from http://jquery.com/.
COPYING.MIT. It was downloaded from https://github.com/loopj/jquery-tokeninput.
COPYING.MIT. It was downloaded from https://github.com/js-cookie/js-cookie.
COPYING.MIT. It was downloaded from https://github.com/mustangostang/spyc/.
COPYING.MIT. It was downloaded from https://github.com/Kattis/problemtools/tree/master/support/default_validator.
m4/. These are licensed under all-permissive and GPL3+ licences; see the respective files for details.
The name of this judging system is inspired by a very important and well known landmark in the city of Utrecht: the dome tower, called the `Dom' in Dutch. The logo of the 2004 Dutch Programming Championships (for which this system was originally developed) depicts a representation of the Dom in zeros and ones. We based the name and logo of DOMjudge on that.
We would like to thank Erik van Sebille, the original creator of the logo. The logo is under a GPL licence, although Erik first suggested a "free as in beer" licence first: you're allowed to use it, but you owe Erik a free beer in case might you encounter him.
The DOMjudge homepage can be found at: https://www.domjudge.org/
We have a low volume mailing list for announcements of new releases.
The authors can be reached through the development mailing list: firstname.lastname@example.org. You need to be subscribed before you can post. See the list information page for subscription and more details.
DOMjudge has a Slack workspace where a number of developers and users of DOMjudge linger. Feel free to drop by with your questions and comments, but note that it may sometimes take a bit longer than a few minutes to get a response, partly because people might be in different timezones.