opensourcecobol / Open-COBOL-ESQL

Open Cobol ESQL (ocesql) is an open-source Embedded SQL pre-compiler and run-time library designed for COBOL applications which access an open-source database.
https://www.osscons.jp/osscobol/
GNU Lesser General Public License v3.0
50 stars 24 forks source link

consider to drop Open-COBOL-ESQL in favor of its fork/rewrite GixSQL #48

Open GitMensch opened 2 years ago

GitMensch commented 2 years ago

Reaching out to @opensourcecobol @n-isaka @ytr-sakamoto / @yutaro-sakamoto. I know that this is a strange issue to post and please: don't be offended by it.

As Open-COBOL-ESQL was staled for years people have looked for alternatives and there is also one reasonable fork (heavy rewriting) that I'd consider to use instead: GixSQL ( see https://github.com/mridoni/gixsql with release tarballs and binaries at https://github.com/mridoni/gixsql/releases/latest / https://github.com/mridoni/gix/releases/latest ).

Other than "actively developed" and "provides release tarballs, provides release binaries" it also has nearly all issues open here fixed and also provides the optional binding to MySQL/MariaDB or ODBC and is verified to work on both GNU/Linux using GCC and also on Windows using either GCC or MSVC.

You could also "fork the fork", possibly naming it Open-COBOL-ESQL2 (if for some strange reason this is necessary) and/or actively work together.

There's only one single downside: it has a different (higher) dependency - a "reasonable new C++ compiler" (in case of GCC this would be GCC8, I think [this one works]); but if you just install the binaries that is no issue at all.

h-himo commented 2 years ago

Hi, @GitMensch I am Himo, a founding member of @opensourcecobol. Thank you for your suggestion on this issue and I also appreciate your frequent comments on our activities on Github. We have recently resumed development of OCESQL because we need to fix bugs in existing projects that are in production and enhancements to new projects moving from the mainframe. We know GixSQL and understand that it is a better alternative, but it is not easy for us to drop OCESQL itself at this time, since these projects are ongoing. This matter needs to be discussed further with other members and those projects. It will takes more time but I will keep you updated. Thank you.

GitMensch commented 2 years ago

Thank you for the response. Actually I'm working on a previously failed proof-of-concept with OCESQL (the increasing memory issues with COMP-3 was its dead, the error handling "syntax error - find out any details yourself" + "just skip generation" were hard points before) now moving to GIXSQL - and during this conversion GIXSQL was tested for OCESQL compatibility and got adjustments (you can just replace ocesql by gixsql [or symlink it] to ease the precompile parts, syntax works nearly identical [if not the author works on it], ...). The possibly biggest detail view for you on GixSQL would be verifying (and/or fixing) support for NATIONAL / Japanese data, other than that it should "just work already".

If you still come to the conclusion that it is better to invest the time into OCESQL then I could send PRs to fix some of the issues I've fixed locally, but as I've published those as GPLv3+/LGPLv3+ it would be good to have this part done on your side before. ... but I'd prefer that both you and me work on GixSQL instead as those bugs are fixed there already and open feature requests here are also already available there.

Let's stay in contact one way or the other and thanks again for your response.

h-himo commented 2 years ago

Thank you for sharing your experiences with us. Your story is very helpful as we need to evaluate GixSQL before we reach to any conclusions. As for the license issue, @ytr-sakamoto is soon going to replace COPYING files and rewrite related comments on the codes soon as we have already decided to move to GPLv3 / LGPLv3. Regardless of whether we move to GixSQL or not, we need to complete the OCESQL development currently working on. Your contribution would be greatly appreciated, as it will help us to complete the next release. I will keep in touch.