OpenBUGS

OpenBUGS is a software application for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo (MCMC) methods. OpenBUGS is the open source variant of WinBUGS (Bayesian inference Using Gibbs Sampling). It runs under Microsoft Windows and Linux, as well as from inside the R statistical package. Versions from v3.0.7 onwards have been designed to be at least as efficient and reliable as WinBUGS over a range of test applications.

Differences from WinBUGS
In addition to the different licence and greater range of operating systems, a fundamental difference between OpenBUGS and WinBUGS is the way in which the expert system selects the updating algorithm to use for the class of full conditional distribution of each node. While WinBUGS defines one algorithm for each possible class, there is no limit to the number of algorithms that OpenBUGS can use, allowing greater flexibility and extensibility. The user can select the updater to be used for each node after compilation. Further differences are detailed on the OpenBUGS website.

Programming language
The source code of OpenBUGS is written in the Component Pascal programming language and is dependent on the Component Pascal libraries provided by Oberon Microsystems as part of the Blackbox Component Framework. The development tools are available as open source. Binaries of the current version of OpenBUGS are available for Microsoft Windows, and the previous version for Linux, it can also run under WINE for Linux. Installation problems, development and usage questions are discussed at the OpenBUGS Bulletin Board.

Attempts to port OpenBUGS to Java with the Gardens Point Component Pascal were given up in favor of a new portable implementation called JAGS.

The BUGS language is the language that specifies the model code. It is parsed by OpenBUGS, which then creates an executable (compiled code) that generates a sample from the posterior distribution when run.

OpenBUGS was designed to run together with S-Plus and the BUGS language is similar to the S programming language. OpenBUGS works well together with R; the R2OpenBUGS or BRugs packages provides some interoperability, and R modules help further analyses.