Dear Robert,
You've seen a couple of reactions from happy commercial users. I know
some more, some of which want to remain stealth :( If you go for
SWI-Prolog, there are two things to keep in mind. You go for Prolog,
which is indeed not mainstream. I'm sure it is the best tool for many
more applications than what it is used for though. Second, you go for a
medium-size open source project. This isn't Linux. It is also not the
average open source available from GitHub/... See
https://www.openhub.net/p/swi-prolog to get an overview of size and
activity.
Medium-sized open source projects have advantages and disadvantages.
Among the disadvantages are the fact that the system has more bugs than
one would like. For example, as a gcc user for 20 years I found three
bugs. Some daily SWI-Prolog users manage to find multiple issues a week.
Funny, others find none though. Another disadvantage is that the answer
to just about any question you can ask is often not immediately
available on stackoverflow.
There are also big advantages. The community is very responsive, both to
get things fixed and to help you with tips how to get things done. It is
easy to steer the project and get stuff in their to make it support your
project better, either by submitting patches or by paying me or others
to implement them for you. If you want most of it, consider how Mike
Elston uses SWI-Prolog. He has two engineers (Keri Harris and Matt
Lilley) involved in SWI-Prolog's development. I now frequently contact
them to confirm my investigation of a problem or ask them to help
solving some issue. In addition, he sponsors new development to make the
system stronger in areas he needs, for example unbounded integer
support, the SSL interface and many enhancements to memory management.
This is quite an investment. The benefits however are full control over
and in-depth knowledge about the base of his technology stack.
Cheers --- Jan