MAMMON,-Who know me and who read my blog know that I respect Microsoft and I respect the coming soon EF4 but that is another matter.
-Create a test case (note a TEST CASE not a patch to fix the problem) should not be need a high skill. -Defensive... who? when ? In my personal case I can't get defensive, because nobody pay me to waste time to defend NH. NH is a tool as many others (a good tool but nothing more). -The question "Why?": do you have idea how much time we should spent to explain each "why?" ? -Many bugs : "Many" and "Few" are personal opinions... What I can see is 68 open bugs and more then 60000 downloads on NH2.0.1 (numbers not allow opinions). -How help a prj that help you in your work or in the work somebody have pay you ? well you show a success story here but I can't find it in the "succes story" wiki (http://nhforge.org/wikis/successstories/success-stories.aspx) As all technologies NH had a start and it will have an end; so far NH is a reality ready to use where EF is a hope. 2009/5/26 MAMMON <[email protected]> > > I've been thinking a lot about this post. In the last 18 months I > have used NHibernate a lot. The main product I develop where I am > employed is an internal ordering system used by as many as 17,000 > employees, and it uses NHibernate for the data access layer. It's not > a HUGE project or an ENORMOUS database (there are about 50 tables), > but it's significant to me, and significant to my company. It's a > highly visible application within the company. It has also received > much praise. Also, there are 5 or 6 other smaller projects I have > created that use NHibernate as well. I've developed my own base class > that I use for all entities that I want to be persisted, and my own > base class that I use as a central DAL class, to make creating new > projects based on NH even easier for me. > > That being said, I think my future with NH is limited. Some of the > smaller projects I've created with NH will probably be migrated over > to some other technology in the future, and perhaps even our large > ordering system. Then again, perhaps not. I might be maintaining > this ordering system for years to come, and if it stays with > NHibernate, I will likely keep a cursory interest in future NH > developments. > > Here's what I'm getting at (and I'm not being negative here, just > subjective). NH is like many open source projects I have > encountered. When new users notice shortcomings or bugs, they start > to ask questions. Many times the question is just "Why?". This users > group is full of these "why" questions from new users. These > questions cause the developers and seasoned users of the technology to > get defensive sometimes, whereupon they accuse the new user of > "complaining", or even better, spreading FUD for Microsoft, and tell > the new user that they are more than welcome to fix it themselves, > submit a bug report, or a failing unit test that illustrates the > problem. I have never been able to agree with this advice. Not all > users of open source technology necessarily have the time to > contribute. Some of them don't have the skill to contribute either. > NHibernate is a very advanced product with many many complexities. > Understanding the codebase takes a lot of time. They aren't > necessarily part of the "movement", as it were. They are simply paid > by some company to choose the best technology when developing software > for them. Many times the best choice is an open source option. Many > people have suggested that users of open source software "owe" > something back to the OSS community. I've never been able to agree > with that either. If people are willing to take something as-is, and > it's being given away for free, then there are no strings attached. > Now, users that don't want to give back probably don't have a right to > free support, or even really the right to complain. However, they > usually DON'T complain, they just get accused of it when they ask > "why?" regarding some shortcoming of the technology that they don't > understand. This is a recurring pattern and a common attitude I have > seen with many open source projects. It seems many OSS developers > walk around with large chips on their shoulders and jaded attitudes. > NH is no exception. > > Not all open source products are equal. Personally, I divide them > into 2 categories. Ones with paid developers, and ones without. That > seems like an odd metric to go by, but consider the differences. > Looking at projects like Mozilla, Subversion, and Ubuntu, all of these > projects have sought for some kind of corporate sponsorship, and have > full time developers that are paid salaries to develop the > technology. The result is a very polished, very stable, very high > quality end product. It doesn't mean that open source projects > without commercial support can't be successful too, but if you had to > generalize, and go by statistics, then that would be the conclusion to > draw. Many open source technologies fall by the wayside, because the > "4 crazy guys" that have developed it eventually lose interest, or > even lose the ability to continue to give away their time and effort > for free. NHibernate has a lot of bugs and shortcomings (I'm not > complaining, just stating an observation) that could certainly be > fixed if it had paid, full time developers. I personally think NH has > the potential to be THE ORM of all ORMs, but that it never will be > able too without full time developers. Now that's all opinion and > conjecture, so take it with a grain of salt. Just like I don't like > others forcing their values and opinions on me, I try not to do the > same to others. > > Companies like guarantees. They like a guarantee that something will > work if they use it. That something will give them value if they buy > it. In 5 years, I have no idea if NHibernate will even be around. I > don't think anyone does. However, I DO know that the company I work > for will be around in 5 years. They are the world's largest firm of > their kind. We'll have to keep making technology decisions for > products that will potentially have a very long lifetime. The > specific ordering system we've developed may or may not still be used, > but if it's not, some other ordering system will definitely be in its > place. Commercial products like LLBLGen or the Microsoft Entity > Framework -- those are safer bets when it comes to future support and > development for current technology decisions. > > A long time ago, on this same group, I made a few comparisons between > NHibernate and the Entitry Framework (before it was released with .NET > 3.5). I was asked to please not compare the two technologies, because > MS is able to spend millions of dollars and pay dozens of full time > developers to advance their technology, while NH is just 4 crazy guys > who squeeze the work in when they can. The problem is, I have an > obligation to compare all of the options available to me, because my > employer expects me to make the best technology decision when I design > and develop software for them. They don't care about the underdog > "virtue" of open source software. > > The first version of the Entity Framework had many limitations, and > lacked in many areas, and in my opinion was a little difficult to > use. It was also still in beta when many of the core decisions were > being made for our ordering system, and we were wary to develop to > that technology. I have been playing around a lot with the Visual > Studio 2010 beta, and the .NET 4.0 framework beta, which has the > Entity Framework v4 (they simply call it v4 to match .NET 4. It's > really only the 2nd major release). I am very impressed with the > changes they have made. Some of the new features I like include: > > + Much improved visual modeling tools > + Lazy loading > + Mapping to POCO classes (you don't have to inherit from their base > classes any longer) > + Custom code generation for mapped classes, using templates > + Build the model first, let it create the databases script, as > opposed to create a model from an existing database > > There are many more, but those were specific features I liked in NH > that EFv1 did not offer me at first. Now it does. When VS2010 goes > RTM, I will likely be developing new projects using EFv4, and possibly > migrating existing projects. > > Again, I'm not trying to start a flame war with this post, or be > overly negative. I am trying to be objective, and just offer my > observations. I continue to be impressed with NH, and I've mostly had > a good experience using it. However, I no longer think that it's the > best technology decision, and my company pays me to make the best > choice. I hope NH has a long, successful life. What I really hope is > that NH seeks out corporate sponsorship, and becomes a tool of the > caliber that Subversion and Mozilla are. Why is Subversion > successful? Because CollabNet's revenue for 2005 was over $20M (I > don't have newer figures, sorry). Why is Firefox successful? Because > the Mozilla Foundations 2007 revenue was $75M. They have paid, full > time developers who can spend the time it takes to make a polished, > stable, successful product. > > On May 22, 10:27 pm, Fabio Maulo <[email protected]> wrote: > > Do you really want a stable version of NHibernate ? > > Think about the answer.... take your time... > > > > Now think which is the way to prevent that a bug can reappear or that a > > feature will be reverted. > > > > Starting from now apply your thinking when you are going to create a new > > JIRA ticket. > > > > Thanks. > > Fabio Maulo > > > > P.S. for those who haven't guessed the answer : attach a failing test to > > your JIRA ticket. > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
