OpenCog Fossils are older OpenCog subsystems that are no longer maintained, and are effectively obsolete. This status is attained when the community comes to understand that the architecture or design of the subsystem is no longer tenable: it is somehow flawed, incomplete or unfixable. Reasons for abandonment include:
- A non-scalable knowledge-base, requiring too much manual maintenance. This includes rule systems with more than a few hundred hand-crafted rules, or any kind of dictionary or lexis system requiring complex, hand-crafted lexical entries. Such systems do not scale, because there are always exceptions to any rule, and one can never find enough experts to keep the rulebase updated.
- Poor implementation. This includes systems based on ideas which are perhaps sound, or perhaps useful, but the implementation was created before the idea was fully developed and clearly understood. As a result, the implementation wandered off into an unmaintainable direction. Perhaps too slow, too buggy, too complex.
- Bad concept. A good idea tangled up with a bad idea, creating a knot that cannot be untangled.
The code for many of the fossils might compile, and might run. And so, in this sense, they are still "good", and are still "usable". This status may decay over time, as dependencies change and unit tests are likely to fail. The fossils are unmaintained. Clever tinkering might bring them back to life; but why?
There are tutorials explaining how these were meant to be used: see Hands On With OpenCog Fossils.