Drools is nightmare for lot of folks.
From my personal experience -
Drools has been taken over and rewritten many times AND broken into many parts/names just in last 3 years. Before you launch a project with version 3, they had version 4 without any compatibility. And when you plan to move to 4, version 5 was also making rounds of beta version, And they are all so different that you cant say you know one version so new one wont be a problem. IT IS A BIG PROBLEM. Whats the future ? one more rewrite ? This product is not stable at all. The eclipse plug in is full of holes.
A sample war file of 25MB for guvonor (or whatever its called now) gives a "Error" message without any info many a times when i compile a new rule or update it. The jFaces or whatever "face of Faces" it uses is so badly written. The whole Drools thing sounds scary to me.
Also the documentation - very vague, lots of errors , havent been kept up with latest version at all. One section is versio x another is version x.1 on same page creating massive confusion. I know its a JBoss thing, you got to pay for everything called "free". But still ...
Anyway ... i mostly use open source for almost everything but I keep away from Drools and wont mind paying for some commercial vendor.
It is true that Drools 3 was a rewrite over 2 with zero compatibility between versions. Drools 3 was released almost 5 years ago. Drools 4 was released about a year after v3 it was not a rewrite just incremental changes. There was no api incompatible changes and drl had only one minor "fix" that would cause migration problems; where v3 auto boxed but did not auto-unbox, v4 added auto-unboxing.
Drools 5 was released in 2009, 3 years after v3. There was no DRL incompatible changes from v4 to v5. There was no api incompatible changes, that we are aware of, any api compatibility changes that came up during the release cycle we fixed. v5 did introduce a new redesigned api, but we kept the old api along side so that people could use either, thus not breaking backwards compatibility or blocking migration.
So other than adding auto-unboxing from version v3 to v4, there has been no breaking changes from version v3 to version v5.1 over almost 5 years. What the new api does is bring in clear separation from what is an end user api and what is an internal api or implementation and does more to encapsulate any internals. Previously some adventurous users could go "deep diving" and end up using some internal api stuff that would change. When ever we changed any internal stuff that we thought end users might be using we opened it up for discussion on the mailing lists. With the new api this should not happen now, if the interface is not in drools-api jar then it's considered internal.
Versions v3, v4 and v5 have always had the core jars - core, compiler, decisiontables and jsr94. That hasn't changed in 5 years, we have recently added another required dependency drools-api, as just mentioned. We have added other jars over time, as we add functionality. Instead of putting it into core and compiler and bloating those we put it into their own modules so users only include it if they need it - it's called "paying for it, only if you use it". So if you want to use Drools with Spring and Camel, you only include those jars if you need it, if you don't need it you can just stick with api, core and compiler.
Your comments on documentation have some validity but a are little unfair. We actually have a large amount of documentation which we keep adding to over time. I don't think lack of documentation compared to either other OSS projects or commercial projects is something you can accuse Drools of. I personally have put a lot of effort into the quick start tutorial that are building up. Anyone who has used commercial systems can tell you how lacking they are compared to ours, you'll find many references in the mailing lists to our “fine documentation”. The commercial systems keep documentation light to drive professional services. The documentation could do with more consistency and in places can be a bit bitty or hard to read from one section to the next and has a few holes. But luckily there are books you can purchase and read as well. We do have a little bit-rot because of the sheer volume of documentation; this is actively being discussed in the community mailing lists now and Wolfgang Laun from the community is helping us to address this, especially on the syntax rail-road diagrams.
Drools is a fast innovating project, features are added at a rapid pace and documentation grows rapidly with it. We have been a small team so far which means we haven't put the polish on the documentation as we hoped. We are now growing from a 4 man team to 7 and will increase further next year, thanks to investment from Red Hat. We are actively working on cleaning up our core code at the moment, with drools-api leaving us free to making sweeping changes, and the additional resources and engagement from the community means we can be more pro-active on the documentation.
I checked the user mailing list to see if you had engaged the community with any of your issues and don't see any posts from you over the last 6 years. Drools has an excellent community and the lists are very active, so I'd recommend that you raise your issues there so we can help improve our projects. I see you've raised this issue before on TSS, http://www.theserverside.com/discussions/thread.tss?thread_id=59886#334050, where you complain about name changes. These topics were actively discussed on the mailing lists and blogs, we don't do these things unilaterally and the community is consultant at each stage. Again I'd recommend the mailing lists for this types of discussions, moaning on TSS doesn't really help to pro-actively improve a project, compared to engaging the community in mailing lists.