Hi everyone,
I encountered a very embarassing problem yesterday. My particular experience is with NHibernate and Mono, but I see similar cases involving other projects everywhere.
While everyone seems to claim that NHibernate is working on Mono, I must admit that I actually tried yesterday, and the 3.0 trunk doesn't work. To me, this is a blocking issue, because it prevents me from using NHibernate for my Mono-based projects.
I had a conversation with the Mono people who directed me to an old bug report in the NH bug tracker, and its Mono counterpart.
What bothers me most is that neither of the two groups actually wanted to fix the issue. Instead, they just pointed fingers to each other. In the end, it was fixed in NHibernate, but it seems that in 3.0 they re-introduced it again.
Anyways, I wanted to avoid debating about whether NHibernate or Mono is at fault and created a working patch for NHibernate that fixes the issue.
Guess what! They didn't accept it, saying that Mono is errornous...
The people at Mono say that NHibernate only works on Microsoft.NET because of an undocumented bug. I asked them if they would accept a patch if I fixed this in Mono, but they said no, too...
In my opinion, this is simply not right. While they are debating about who's guilty, the ones who s*ck this the most are always the average application developers (like me). Especially when I'm willing to fix the issue myself for free, and I'm also willing to contribute the patch to them, for free. All it would take is two clicks to apply the patch. Despite this, they don't care.
So, what do you guys think about it?
Should I start looking for a new ORM, or I'm better off using a custom patched version of NHibernate?
A more general question, why do these people have this attitude? It is not helping anyone.
EDIT:
Two days later, it appears that they changed their minds and accepted the patch in revision 5170. So from then on, NHibernate should work for Mono users, too. :)