Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Home

Simon Sobisch Brian Tiffin

GNU Cobol

GNU Cobol is a free COBOL compiler. Built with GNU autotools, ./configure, make.

OpenCOBOL

GNU Cobol is the new name for OpenCOBOL. September 27th, 2013 OpenCOBOL was accepted as an official GNU project, and renamed to GNU Cobol.

Features of GNU Cobol

  • cobc translates COBOL source code to native executable using intermediate C sources. There is also a version, GNU Cobol C++, gnu-cobol-cpp, that generates C++ intermediates.

    • This step in the compile chain, along with the GNU Cobol dynamic CALL verb implementation, exposes nearly all existing C libraries for direct use by COBOL programmers. (C++ linker for gnu-cobol-cpp).
  • GNU Cobol builds executable, shared library, object file and listing from a well integrated cobc command. COBOL and C sources can be mixed in compiler command lines.

  • GNU Cobol passes over 9700 of the tests included in the National Institute of Standards and Technology COBOL 85 acceptance test suite.

  • supports many extensions from other COBOL compilers and adds some nice bits only available with GNU Cobol. FUNCTION SUBSTITUTE being one example of a very useful intrinsic.

  • While developed to be a useful, production ready COBOL programming tool, GNU Cobol does NOT claim any level of official COBOL standard support or compliance.

Downloads

currently, version 1.1

Versions

Roger While took on the lead development of OpenCOBOL in 2004, from works first released by Keisuke Nishida in 2002. Frequent pre-releases were posted publicly up until February 2009. Due to life changes and circumstances, those releases became less public. The current, most widely distributed version of OpenCOBOL is likely 1.1 from February 2009.

Roger continued with closed releases up until September 2012.

GNU accepted the OpenCOBOL project as an official GNU project in September 2013 and OpenCOBOL was rebranded as GNU Cobol. At this point, the unpublished work in progress version of OpenCOBOL 2.0 was pre-released along with an official GNU Cobol 1.1 source kit, rebranded from the OpenCOBOL 1.1 February 2009 sources, with a few small fixes.

A GNU 1.1 release and the reveal of three years of closed 2.0 pre-release work made for two public versions in October of 2013.

Along with the works of Sergey, Joe, and Ron, there are now 5 working copies of GNU Cobol.

  • GNU Cobol 1.1 has been marked release, with support for SCREEN SECTION

  • SourceForge SVN also hosts newer versions:

    • 2.0 - upcoming release
    • Report Writer branch (stamped as 2.1, will be merged into 2.0)
    • CPP with C++
    • a fileio simplification
    • and an experimental feature branch
  • fileiorewrite is the work of Joe Robbins to simplify the ISAM runtime and extend it. It is a work in progress branch of GNU Cobol 1.1. This project has a long term timeline, and will be folded into the official GNU Cobol release sequence, sometime in the future.

  • Being involved in the closed releases, Sergey developed a C++ intermediate version which was publicly released shortly after Roger's 2.0 source kit was published. This project also has a long term road map. GNU Cobol is C based. GNU Cobol may either be solely C++ based in the future, split as two branches, or if possible, developers will be allowed to choose, both emitters included in cobc, controlled by switches. The future will determine how this unfolds.

  • GNU Cobol 1.1x is an experimental branch and is NOT for public consumption. A branch for running experiments.

  • GNU Cobol 2.0 is the pre-release branch, Simon hard at work organizing the next official release here. Still a work in progress.

  • reportwriter is Ron Norman's extensions based on early OpenCOBOL 2.0 closed releases, and adds the Report Writer module to GNU Cobol. This work will either be folded into the official 2.0 source kit or might follow the release as a 2.1 release. Currently marked as GNU Cobol 2.1, but that may not be the release version number.

  • GNU Cobol 1.1 is trunk.

Deciding on a version? ALL of these branches (except for 1.1x) is a working branch of GNU Cobol. They all pass the integrity checks and the NIST COBOL 85 validation suite. Usually; works in progress being works in progress, and there may be commits that don't work out, usually, fixed quickly.

  • For stability: GNU Cobol 1.1 has the longest soak time, most bugs are known bugs.
  • For new features: GNU Cobol 2.0 has Roger's lastest, passes tests, not all bugs known.
  • For newer features: Ron's Report Writer module is where to be, 2.0 plus Report Writer.
  • For C++: Sergey's gnu-cobol-cpp version is based on GNU Cobol 2.0, may have bugs and definitely has a bright future.
  • For some certain cases: fileiorewrite may be most appropriate, but this is background work with the ISAM runtime support that will eventually merge into one of the main branches.

See http://sourceforge.net/p/open-cobol/code/HEAD/tree/branches/

Once again, ALL the branches, except for gnu-cobol-1.1x, are working COBOL compilers.

GNU Cobol 1.1 is currently official, with GNU Cobol 2.0 on the horizon.

Oh, and you may bump into OpenCOBOL 1.0 and OpenCOBOL 1.1 versions in GNU/Linux repositories. Working COBOL compilers.

Documentation

Can be found at http://opencobol.add1tocobol.com/guides. Direct link to two docs:

As a GNU project, info cobc, after an install, will display online documentation as well as cobc supporting --help.

License

While efforts are underway to assign all copyrights for the GNU Cobol compiler sources to the Free Software Foundation, currently:

GNU Cobol is

Copyright (C) 2001-2009 Keisuke Nishida
Copyright (C) 2007-2012 Roger While
Copyright (C) 2012 Simon Sobisch
Copyright (C) 2012 Sergey Kashyrin
Copyright (C) 2012 Joe Robbins
Copyright (C) 2013 Ron Norman

This program 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 (for OpenCOBOL and
GNU Cobol versions prior to 2.0), or version 3 (for GNU Cobol 2.0 or
later) or (at your option) any later version.

Files in the libcob/ directory, the GNU Cobol run time system, are
licensed under the LGPL 2 (LGPL 3 for 2.0 and up).

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

More details

The wiki has pages for

SourceForge info

Project Admins:

Related

Discussion: GNU Cobol is now a real thing
Wiki: Features
Wiki: For Maintainers
Wiki: GNU Cobol ToDone
Wiki: GNU Cobol project members
Wiki: Gary Cutler Files
Wiki: Install Guide
Wiki: Tasks
Wiki: User Manual