{"id":19099927,"url":"https://github.com/otterkit/otterkit-cobol","last_synced_at":"2025-04-18T17:32:19.266Z","repository":{"id":64143407,"uuid":"516417749","full_name":"otterkit/otterkit-cobol","owner":"otterkit","description":"A free and open source Standard COBOL compiler for 64-bit environments","archived":true,"fork":false,"pushed_at":"2024-02-08T22:55:18.000Z","size":30842,"stargazers_count":250,"open_issues_count":7,"forks_count":15,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-12T00:22:02.164Z","etag":null,"topics":["cobol","compiler","dotnet"],"latest_commit_sha":null,"homepage":"https://otterkit.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/otterkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"Otterkit","open_collective":"otterkit"}},"created_at":"2022-07-21T15:05:35.000Z","updated_at":"2025-03-20T15:52:03.000Z","dependencies_parsed_at":"2024-04-15T03:46:51.952Z","dependency_job_id":"d254d898-4826-43ae-8676-395211a56ac7","html_url":"https://github.com/otterkit/otterkit-cobol","commit_stats":{"total_commits":917,"total_committers":6,"mean_commits":"152.83333333333334","dds":0.08724100327153761,"last_synced_commit":"d7a402225490a646bad40138a8f61f784bb69d47"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otterkit%2Fotterkit-cobol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otterkit%2Fotterkit-cobol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otterkit%2Fotterkit-cobol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otterkit%2Fotterkit-cobol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otterkit","download_url":"https://codeload.github.com/otterkit/otterkit-cobol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249223308,"owners_count":21232692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cobol","compiler","dotnet"],"created_at":"2024-11-09T03:52:23.323Z","updated_at":"2025-04-18T17:32:18.789Z","avatar_url":"https://github.com/otterkit.png","language":"C","funding_links":["https://github.com/sponsors/Otterkit","https://opencollective.com/otterkit"],"categories":["compiler","dotnet"],"sub_categories":[],"readme":"# \u003cimg width=\"36\" height=\"36\" src=\"https://raw.githubusercontent.com/otterkit/otterkit/main/Assets/OtterkitIcon.png?sanitize=true\u0026raw=true\"\u003e Otterkit COBOL Compiler\n\nOtterkit is an effort to fully modernize the COBOL ecosystem by building a standard conforming implementation (of the [ISO/IEC 1989:2023](https://www.iso.org/standard/74527.html) standard) and to give developers access to modern Standard COBOL features, modern tooling and a better development experience.\n\nThe current situation in the COBOL ecosystem presents a unique opportunity for our project to create a unified and open source platform for COBOL development. We strongly believe that COBOL is capable of so much more than just being a legacy mainframe language, perpetually stuck with legacy standards.\n\nOur biggest reason for advocating open source in the COBOL ecosystem is that while paying for a compiler may be feasible for larger companies, it currently creates a barrier for individual developers and students who wish to learn COBOL or stay up-to-date with its latest features. We want to change that, by making it accessible for everyone and hopefully helping modernize and unify ecosystem.\n\nOtterkit and its runtime library are being built entirely in C# (with .NET 7). It compiles COBOL code into C# (with our runtime library) which is then compiled into an executable by the dotnet compiler.\n\nWarning: The project is currently in pre-release, so not all of the standard has been implemented.\n\n## About COBOL\n\nCOBOL was created in 1959 by the [CODASYL Committee](https://en.wikipedia.org/wiki/CODASYL) (With Rear Admiral Grace Hopper as a technical consultant to the committee), its design follows Grace Hopper's belief that programs should be written in a language that is close to English. It prioritizes readability, reliability, and long-term maintenance. The language has been implemented throughout the decades on many platforms with many dialects.\n\n## Frequently Asked Questions\n\n- What evidence do you have that there's demand for COBOL 2023?\n\nThere will never be a demand for it if developers can't get their hands on modern COBOL to try it out.\n\nA good comparison for this is that there would be (most likely) no demand for Rust, if developers couldn't get their hands on Rust to try it out. Now that a lot of developers and companies did, there is a growing demand.\n\nIf developers are not aware of most modern COBOL features and no compiler supports it, how can there be any demand for these features?\n\nIt's almost like these features never existed, but we want to help improve this situation and bring more awareness to COBOL's more modern features.\n\n## Installation\n\n### Quick Install\n\nOtterkit is available to install on the [Nuget package manager](https://www.nuget.org/packages/Otterkit/) ([.NET 7](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) is required). To install, type these two lines into the command line:\n\n```\ndotnet new install Otterkit.Templates::1.7.50\n\ndotnet tool install --global Otterkit --version 1.0.80\n```\n\n### Create and Build a COBOL Project\n\nCreate a new application (executable) project:\n\n```\notterkit new app   \n```\n\nBuild the project by specifying the entry point (main file):\n\n```\notterkit build -e ${MAIN-FILE}.cob --free\n```\n\nBuild and run the project by specifying the entry point (main file):\n\n```\notterkit build --run -e ${MAIN-FILE}.cob --free\n```\n\n### Build from Source\n\nFirst, run the git clone command, with the relevant arguments: \n```\ngit clone https://github.com/otterkit/otterkit.git --recurse-submodules --remote-submodules\n```\nThe *recurse-submodules* and *remote-submodules* flags are needed to access the [libotterkit](https://github.com/otterkit/libotterkit) submodule inside.\n\nThen, navigate into the `otterkit/src` folder (for the compiler, not libotterkit) and then type `dotnet run` into the command line to run and test if everything is working.\n\n## Sponsors and Open Source Support\n\n\u003ch3 align=\"center\"\u003eOpen Source Support\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca target=\"_blank\" href=\"https://www.jetbrains.com/community/opensource/\"\u003e\n    \u003cimg width=\"160\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png\" alt=\"JetBrains Logo (Main) logo.\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Standard Acknowledgement\n\nAny organization interested in reproducing the COBOL standard and specifications in whole or in part,\nusing ideas from this document as the basis for an instruction manual or for any other purpose, is free\nto do so. However, all such organizations are requested to reproduce the following acknowledgment\nparagraphs in their entirety as part of the preface to any such publication (any organization using a\nshort passage from this document, such as in a book review, is requested to mention \"COBOL\" in\nacknowledgment of the source, but need not quote the acknowledgment):\n\nCOBOL is an industry language and is not the property of any company or group of companies, or of any\norganization or group of organizations.\n\nNo warranty, expressed or implied, is made by any contributor or by the CODASYL COBOL Committee\nas to the accuracy and functioning of the programming system and language. Moreover, no\nresponsibility is assumed by any contributor, or by the committee, in connection therewith.\n\nThe authors and copyright holders of the copyrighted materials used herein:\n\n- FLOW-MATIC® (trademark of Sperry Rand Corporation), Programming for the 'UNIVAC® I and\n  II, Data Automation Systems copyrighted 1958,1959, by Sperry Rand Corporation;\n- IBM Commercial Translator Form No F 28-8013, copyrighted 1959 by IBM;\n- FACT, DSI 27A5260-2760, copyrighted 1960 by Minneapolis-Honeywell\n\nHave specifically authorized the use of this material in whole or in part, in the COBOL specifications.\nSuch authorization extends to the reproduction and use of COBOL specifications in programming\nmanuals or similar publications.\n\n## Contributing\nIf you have any questions, please feel free to reach out by [opening an issue](https://github.com/otterkit/otterkit/issues) or a [new discussion post](https://github.com/orgs/otterkit/discussions). We're happy to welcome new contributors!\n\nPlease keep in mind that the project is licensed under the Apache-2.0, and all contributions (unless otherwise specified) will be made available under the same terms (Apache-2.0, Submission of Contributions).\n\n## Copyright \nCopyright © 2022-2023 Gabriel Gonçalves \u0026lt;KTSnowy@outlook.com\u0026gt;\n\nUnless otherwise specified, all files in this repo (except the Otterkit logo) are licensed under the Apache-2.0 license.\n\nSee [LICENSE](https://github.com/otterkit/otterkit/blob/main/LICENSE) for the full license.\n\nsee [NOTICE](https://github.com/otterkit/otterkit/blob/main/NOTICE) for third-party software licenses.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotterkit%2Fotterkit-cobol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotterkit%2Fotterkit-cobol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotterkit%2Fotterkit-cobol/lists"}