pilotboba wrote:
swallace wrote:
My sense of OpenSource software is, you get what you pay for.
Found this old thread an just had to reply to this one.
You say "your sense." Have you ever tried:
NAnt
NUnit
Cruise Control
test Driven
log4net
Subversion
???
These are high quality, open source dev tools that have (almost) an infinate ROI, since the cost to obtain is $0. Of course there is a cost to implement. But, I don't think the cost to implement Subversion would be any more than Source Safe, Vault, PVCS or any other commercial products.
I have to say that Subversion comes with very decent documentation but the rest sux big time in the documentation department, perhaps Log4net does ok, haven't checked that. A quality product requires also a quality documentation. Subversion comes with a book, it's excellent written and an example for all. Sadly not all great tools come with that polish.
I think I know what Scott means with what he says. Lots of open source tools are great, but only a few are real product quality. There's a reason for that: to make a good functioning application a real product, you need to invest at least 50% more time than you already have.
That's not to say, the application sux, not by far. I mean: I use openoffice, testdriven (nunit), ndoc, subversion, vnc and some non-open source but free tools on a daily basis. Most of these tools work OK, otherwise I wouldn't use them. But if I look at them with a state of mind of a consumer, I'm not so sure I would pay money for them if they would charge money for them, except perhaps subversion, as it does have the polish of a commercial product.
Also, NHibernate is going to be a strong O/R mapper. It actually already is, it just needs to mature a bit and be better documented.
Heh . 'going to be' and 'it just needs'... Everyone knows that, but do realize that to actually make that happen, a LOT of energy and talent has to be invested into the project. It not 'just happens' if you just continue working, you have to push real hard to get that extra polish, that extra sense of quality. I don't doubt NHibernate will become a big player, it just is a bit of an uncertainty for which target audience it will become a big player. The main issue is that they ported Hibernate 2.x, and the current Hibernate code is 3.x. So, IMHO it's a bit unclear what they'll do: migrate 3.0 code into their ported 2.x code or develop the stuff manually from now on. Either way, it will be a big effort and it requires a lot of time to get it right, plus documentation and examples require a tremendous amount of work, which is only doable if you get payed full time, otherwise it will take ages.
So, 'eventually' some tools will get to the level of quality that you can say:"this is a good product, it has everything". However most tools require extra time to make them useful, to learn the basics etc. Most O/R mappers for .NET suck from a product's perspective because for that reason: they're mainly developed for in-house usage, or by a student, and are given out for free or for a small fee, but aren't developed to become a real product from the start. So you end up with an application which is functionality wise OK, but hard to use (only the long-time in-house users know the real power and how to use it) and/or hard to understand, because documentation is limited. Of course, some tools are simply hard to grasp because the subject is hard or there is so much functionality you don't know where to begin.
Example: I first used Nant. But because the documentation was so incredible bad (none at all) and some silly examples to work with, it took me just too much time to get started and make it effective. Now I use finalbuilder. It's a commercial tool, it gets the job done and it took me a fraction of the time of what I spend with Nant.
I simply can't understand why people write software which is then released without documentation. Even LLBLGen 1.x (open source code generator) came with proper docs. Or my OpenGL graphics library DemoGL (http://www.sd.nl/demogl), also came with docs, examples etc. because (but that's perhaps me) I found it important that others could actually use it. Otherwise, why bother releasing it ?