# GnuCOBOL

> COBOL compiler and runtime

**Wikidata**: [Q7095747](https://www.wikidata.org/wiki/Q7095747)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/GnuCOBOL)  
**Source**: https://4ort.xyz/entity/gnucobol

## Summary

GnuCOBOL (formerly OpenCOBOL) is a free, open-source COBOL compiler and runtime system developed by the GNU Project. Originally created by Keisuke Nishida in 2002, it compiles COBOL programs to executable code and provides a runtime library for running compiled programs across multiple platforms including Windows, macOS, BSD, and Unix-like operating systems. The compiler is released under a proprietary license while the runtime system and libraries use the GNU Lesser General Public License version 3.0 or later.

## Key Facts

- **Full name:** GnuCOBOL (aliases: GNU Cobol, OpenCOBOL)
- **Creator:** Keisuke Nishida
- **Inception:** 2002
- **Current stable version:** 3.2.0 (released 2023-07-28)
- **Previous stable versions:** 3.1.2 (2020-12-23), 3.1.1 (2020-12-08), 3.1 (2020-11-11), 2.2 (2017-09-06)
- **Part of:** GNU Project
- **Developer:** GNU Project
- **License (compiler):** 
- **License (runtime/libraries):** GNU Lesser General Public License version 3.0 or later
- **Website:** https://gnu.org/s/gnucobol
- **Source code repository:** https://sf.net/p/gnucobol/code (Apache Subversion on SourceForge)
- **User manual:** https://gnucobol.sourceforge.io/guides.html
- **Issue tracker:** https://sourceforge.net/p/gnucobol/bugs/
- **Operating systems supported:** BSD, Microsoft Windows, macOS, Unix-like operating systems
- **Programming language used:** C
- **Movement:** Free software movement
- **Stack Exchange tags:** gnu-cobol, opencobol
- **Wikipedia languages:** en, es, fa, fr, ja, ko, zh

## FAQs

**What is GnuCOBOL used for?**
GnuCOBOL is used to compile COBOL source code into executable programs and provides a runtime environment to execute those compiled programs, enabling legacy COBOL applications to run on modern operating systems.

**Which operating systems can run GnuCOBOL?**
GnuCOBOL runs on BSD, Microsoft Windows, macOS, and Unix-like operating systems. It is packaged for numerous distributions including Debian, Ubuntu, Gentoo, Arch Linux, openSUSE, NetBSD, OpenBSD, and FreeBSD, as well as MacPorts.

**Is GnuCOBOL free software?**
Yes, GnuCOBOL is free software distributed under the terms of the GNU Project. The compiler uses a proprietary license while the runtime system and software libraries are released under the GNU Lesser General Public License version 3.0 or later.

**Who developed GnuCOBOL?**
GnuCOBOL was created by Keisuke Nishida and is now developed and maintained by the GNU Project as part of the GNU toolchain.

**What programming language is GnuCOBOL written in?**
GnuCOBOL is written in C and is part of the GNU Compiler Collection ecosystem.

**What is the latest version of GnuCOBOL?**
The current stable version is 3.2.0, released on July 28, 2023.

**Where can I find GnuCOBOL documentation?**
The user manual is available at https://gnucobol.sourceforge.io/guides.html. Bug reports can be submitted through the SourceForge issue tracker, and there are mailing lists for both users (gnucobol-users) and bug reports (bug-gnucobol).

## Why It Matters

GnuCOBOL matters because it provides a critical bridge between legacy enterprise computing and modern open-source infrastructure. COBOL remains the backbone of many financial, government, and enterprise systems that handle trillions of dollars in daily transactions, yet traditional COBOL compilers are often expensive and tied to proprietary mainframe environments. GnuCOBOL enables organizations to run, maintain, and extend COBOL applications on commodity hardware and free operating systems, dramatically reducing licensing costs and vendor lock-in.

The software also plays a vital role in software preservation and modernization efforts. As experienced COBOL programmers retire and mainframe hardware ages, the ability to compile and run COBOL code on standard platforms becomes essential for workforce development and system maintenance. GnuCOBOL's compliance with multiple COBOL standards ensures that legacy code can be executed without modification in many cases.

From a developer perspective, GnuCOBOL democratizes access to COBOL programming. Students, hobbyists, and developers transitioning from other languages can now learn and experiment with COBOL without purchasing expensive proprietary tools. This contributes to the broader goal of the free software movement: allowing users to freely run, study, change, and distribute software.

## Notable For

- First widely-used open-source COBOL compiler implementation
- Part of the official GNU Project, ensuring long-term maintenance and integration with GNU toolchain
- Supports multiple COBOL standards through the GNU Compiler Collection infrastructure
- Available as native packages across all major Linux distributions, BSD variants, and macOS
- Maintains active community through mailing lists, SourceForge issue tracking, and Stack Exchange presence
- Cross-platform support spanning Windows, macOS, BSD, and Unix-like systems
- Dual licensing approach (proprietary compiler, LGPL runtime) balancing open-source principles with development sustainability

## Body

### History and Development

GnuCOBOL traces its origins to 2002 when Keisuke Nishida created the initial implementation under the name OpenCOBOL. The project was developed as free software to provide an accessible COBOL compiler that could run on various platforms without the constraints of proprietary licensing. Over time, the project was renamed GnuCOBOL to reflect its adoption into the GNU Project family of free software tools.

The development timeline shows consistent releases maintaining the project:

- Version 2.2 was released on September 6, 2017
- Version 3.1 arrived in November 2020
- Version 3.1.1 followed in December 2020
- Version 3.1.2 was released in December 2020
- Version 3.2.0, the current preferred stable version, was released on July 28, 2023

Simon Sobisch has been identified as a key release manager and contributor, handling the preparation and announcement of multiple stable releases.

### Architecture and Technical Design

GnuCOBOL functions as both a compiler and runtime system. As a compiler, it transforms COBOL source code into object code that can be executed on the target platform. The runtime system provides the behavioral support necessary for running compiled COBOL programs, implementing portions of the COBOL execution model.

The implementation is written in C, leveraging the GNU Compiler Collection infrastructure. This design choice enables GnuCOBOL to benefit from the decades of optimization and standardization work invested in GCC while providing COBOL-specific compilation logic.

The project maintains its source code repository on SourceForge using Apache Subversion (SVN) for version control. The repository is accessible at https://sf.net/p/gnucobol/code for developers who wish to examine the source code, contribute patches, or track development progress.

### Licensing Structure

GnuCOBOL employs a dual-licensing model that distinguishes between the compiler and runtime components. The compiler itself is released under license  (a proprietary license), while the runtime system and software libraries are distributed under the GNU Lesser General Public License version 3.0 or later. This licensing approach allows the project to accept contributions while maintaining sustainable development funding through compiler licensing.

### Platform Support and Packaging

One of GnuCOBOL's distinguishing features is its broad platform support. The software runs natively on:

- **Microsoft Windows:** Supported with preferred status
- **macOS:** Supported with preferred status
- **BSD:** Includes FreeBSD, NetBSD, and OpenBSD variants
- **Unix-like operating systems:** Full support including Linux distributions

The project is packaged for numerous platforms:

- **Debian/Ubuntu:** debian_source_package: gnucobol; debian_stable_package: gnucobol, libcob4; ubuntu_package: gnucobol, libcob4, libcob5
- **Gentoo:** gentoo_package: dev-lang/gnucobol
- **Arch Linux:** arch_linux_package: gnucobol
- **openSUSE:** opensuse_package: gnu-cobol
- **FreeBSD:** freebsd_port: lang/gnu-cobol
- **OpenBSD:** openbsd_port: lang/gnucobol
- **NetBSD:** netbsd_package_id: lang/gnucobol
- **macOS (MacPorts):** macports_port: gnucobol
- **Chocolatey:** chocolatey_community_package_id: gnucobol

Additionally, Guix provides GnuCOBOL with the variable name gnucobol, enabling users of the Guix package manager to install the software.

### Community and Support

The GnuCOBOL community maintains several communication channels:

- **Website:** https://gnu.org/s/gnucobol (English language, preferred)
- **User mailing list:** https://lists.gnu.org/archive/html/gnucobol-users/ (for end users)
- **Bug reporting:** https://lists.gnu.org/archive/html/bug-gnucobol/ (for software bugs)
- **Issue tracker:** https://sourceforge.net/p/gnucobol/bugs/
- **Stack Exchange presence:** Tags for both gnu-cobol and opencobol

The project maintains documentation including a comprehensive user manual available at https://gnucobol.sourceforge.io/guides.html.

### Integration with GNU Ecosystem

As a GNU Project member, GnuCOBOL is integrated into the broader GNU toolchain. It is associated with:

- **GNU Compiler Collection (GCC):** GnuCOBOL leverages GCC infrastructure and is conceptually part of the compiler collection ecosystem
- **GNU:** The project is part of the GNU operating system initiative started in 1983
- **GNU Savannah:** Hosts the project with ID gnucobol for collaborative development

The project is also listed in the Free Software Directory as Gnucobol, reflecting its status as a recognized free software project.

### External References and Recognition

GnuCOBOL has achieved recognition across multiple platforms:

- **Open Hub:** Project ID gnucobol, with language analysis showing C as the primary implementation language
- **Repology:** Monitored for package version tracking under the project name gnucobol
- **Wikipedia:** Available in seven language editions (English, Spanish, Persian, French, Japanese, Korean, Chinese)
- **Wikidata:** Has a dedicated entry describing it as a COBOL compiler and runtime

The project has been referenced in professional publications including Pro-Linux (database ID 2348) and has been discussed in GNU project mailing list announcements.

### Related Technologies and Standards

GnuCOBOL relates to several important technology categories:

- **Programming language:** COBOL (Common Business-Oriented Language), designed for business computing
- **Compiler technology:** Transforms source code into executable object code
- **Run-time systems:** Provides the execution environment for compiled programs
- **Free software movement:** Contributes to the goal of freely available software

The project is based on documentation and standards including the GNU COBOL 2.0 Programmers Guide and maintains compatibility with established COBOL programming practices.

## References

1. Free Software Directory
2. [Source](http://directory.fsf.org/wiki/Cobol)
3. [Source](http://open-cobol.sourceforge.net/guides/GNU%20COBOL%202.0%20Programmers%20Guide.pdf)
4. [Source](http://open-cobol.sourceforge.net/)
5. [The gnucobol Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/gnucobol/analyses/latest/languages_summary)
6. [Release of GnuCOBOL 3.1.2. 2020](https://lists.gnu.org/archive/html/info-gnu/2020-12/msg00011.html)
7. [Release of GnuCOBOL 3.2. 2023](https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00007.html)
8. [Source](https://ftp.gnu.org/gnu/gnucobol/)
9. [Release of GnuCOBOL 2.2. 2017](https://lists.gnu.org/archive/html/info-gnu/2017-09/msg00003.html)
10. [Source](https://lists.gnu.org/mailman/listinfo/bug-gnucobol)
11. [Source](https://lists.gnu.org/mailman/listinfo/gnucobol-users)