Jeremy D. Miller -- The Shade Tree Developer

Sponsors

The Lounge

Syndication

News

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Do you use OSS tools for .Net development?

Just an informal, unscientific poll -- and the simple fact that you're reading this probably indicates that you're not entirely part of the .Net mainstream.

Does your workplace routinely employ Open Source tools for software development with .Net?  If not, why not?  Based on experience, I can probably make some guesses, but I'd still prefer to hear it from you.

  • OSS isn't supported
  • Untrustworthy quality
  • Company policy
  • Don't know the alternatives
  • We only use Microsoft tools

 

As Scott Bellware alluded to, part of DevTeach this year is an evening panel on the state of OSS in the Microsoft world moderated by Ted Neward.  I obviously think we get a lot of benefit from OSS tools, but there are some barriers that still need to be overcome.

Just for fun, my current project is using these OSS tools:

  • StructureMap (surprise)
  • NAnt
  • NUnit
  • NUnitForms
  • NAnt
  • CruiseControl.Net
  • FitNesseDotNet & StoryTeller
  • RhinoMocks
  • IKVM (don't ask)
  • Log4Net
  • NCover
  • Subversion
  • TortoiseSVN
  • Ankh
  • CVS
  • TortoiseCVS

In past projects I've also used:

  • Selenium
  • NHibernate (I wish we could use NHibernate on my current project)
  • NMock

Posted Mon, Mar 5 2007 8:50 AM by Jeremy D. Miller

[Advertisement]

Comments

Kevin Jensen wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 9:13 AM

just out of curiosity, which of the above OSS tools would you consider a REQUIREMENT for developers to use?

Jeremy D. Miller wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 9:18 AM

What do you mean?  Do the developers on my specific project have to use these tools, or just in general?  

On the project, you do have to use these tools, but the tool selection was either out of our hands or we chose the tools.

In more general usage, there are other alternatives to just about everything up there.

Alex wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 9:34 AM

Currently we are using:

# NHibernate

# NUnit

# NAnt

# WatiN

# Log4Net

# CVS

# TortoiseCVS

# WinMerge

And soon we will be implementing:

# CruiseControl.Net

# Some type of Fitness testing

# Subversion

# TortoiseSVN

# Ankh

William Martin wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 9:39 AM

We are using: NUnit, CruiseControl.NET

Upper Management is against us using Open Source in production code because of some bad experiences in the past.

Sam Gentile wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 9:41 AM

We are using:

NUnit

CruiseControl.Net

FitNesseDotNet

RhinoMocks

Subversion

TortoiseSVN

Ankh

Wiki

Chris Holmes wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 10:04 AM

We use a few open source solutions where I work (NUnit, NCover, NCoverExplorer, CC.NET, FitNesse). The main reason is because it just makes fiscal sense to utilize a free tool if it does as good (or better) of a job than one that costs money.

But Jeremy, you asked for reasons why we wouldn't use OSS tools, and here's my #1 reason why we wouldn't (my #1 gripe about OSS if youw will): lack of quality documentation.

We ran up against this last week when I was getting CruiseControl.Net to work. We've been periodically working on getting a CC.NET server working for the past 2+ months. A couple hours here, a couple hours there. Finally I decided to devote however long it took to get the thing working, because I wanted our team to have a continuous build solution and I wanted to be able to see reports on unit tests and code coverage everytime we did a checkin.

Unfortunately, the documentation is horribly lacking and all over the map, which I find to be the norm with OSS tools. I was trying to integrate CC.NET with MSBuild, NUnit, NCover and NCoverExplorer. It took forever (actually about a day and a half, which made me feel guilty because I wasn't working on code). There were simply too many instances of documentation that didn't tell the whole story (XML examples that weren't complete, etc.) I had to query the CC.NET mailing list to find out that our Vault checkout was incorrectly located inside a Task, for instance, because there wasn't one piece of documentation that told us to do otherwise.

We eventually got it running, and it's wonderful to have that tool and those reports, but the lack of quality documentation and examples, and the scattering of the documentation (mostly blogs all over the map) makes for a very frustrating experience.

There's no debating (at least in my mind) the usefulness of OSS. It's the experience that makes me cringe. If the process of utilizing an OSS was less frustrating then I think developers would be less hesitant. (NUnit would be an OSS I'd point to has being a pleasant experience, compared to setting up CC.NET).

Anyway, my 2 cents.

LordHits wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 10:17 AM

Regarding Chris's commment about lack of quality documentation, I agree to a degree BUT that's the beauty of open source. One can contribute to quality docs. Maybe there's a disconnect with some open source project's web sites on how to contribute, but make the effort in contacting some of the leads on how to contribute. Many have wikis which work out great.

Open source should be a give and take situation. Contribute some sometimes...

Glenn Wiley wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 10:22 AM

My company is fairly open to using OSS tools.  We use:

NUnit

NAnt

NUnitForms

Rhino Mocks

It was much more difficult to use OSS tools at the last two places I worked for the reasons you guessed.  Basically, you had to request approval to use an OSS tool from a senior architect, and if that person hadn't heard of the tool, or used it before, you were pretty much out of luck.

Jeremy Collins wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 10:43 AM

We're using

#Subversion

#TortoiseSVN

#WinMerge

#BugNet (an ASP.NET OSS bug tracker)

#Paint.NET (for simple web graphics)

and of course Firefox. Honourable mention to Notepad++ too, which I seem to have open most of the time for something or other. I'm hoping to implement NUnit when we have the luxury of time.

In general the point about documentation is a fair one, but Subversion has excellent documentation.

Jeremy Collins wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 10:46 AM

...and I guess I should include the ASP.NET AJAX Contol Toolkit as well?

Josh wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 10:55 AM

We're using:

NUnit

NAnt

Rhino Mocks

CruiseControl.NET

NCover

NDepend

I'm hoping to explore FitnesseDotNet and WatiN sometime soon.

Ricky wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 11:15 AM

It looks like you must really like NAnt. Is it so important you're listing it twice? ;o)

Peter wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 11:45 AM

My boss was skeptical of OSS, when I started working for his company.  He expected OSS offerings to be of poor quality, because they're free and don't have a company backing them.  Initially, I got him using Subversion and TortoiseSVN, and he was so pleased with using them, that they definitely changed his perception of OSS.  Currently, we're using:

Ibatis

Spring.Net

NVelocity

Log4Net

NUnit

Rhino Mocks

SVN

TortoiseSVN

Microsoft's Enterprise Library (not sure if this one really counts, though)

Notes:

The more popular an open source project and the more actively maintained it is, the less we worry about it.  Using NVelocity is a bit of a problem, because it is not being actively maintained and never made it to a 1.0 build.  However, its use is localized to a small portion of our application.  (if anyone can suggest a good substitute, I would love to hear about it)

Ayende @ Rahien wrote Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 11:46 AM

Do you use OSS tools for .Net development?

Steve wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 12:06 PM

I use them.

To those that blame your boss: Is your boss a programmer?

Jan Van Ryswyck wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 1:18 PM

We are using:

NUnit

NCover

NCover Explorer

Rhino Mocks

FireFox

Firebug

Notepad2

with possibly in the very near future Selenium (or WatiN) and NUnitForms. If it were up to me, I would like to add NHibernate, MonoRail and StructureMap to the list. But we are terrorised by an isolated architecture team (completely brainwashed by Microsoft) that is even worse than the gestapo in WWII. I think that we did a pretty good job introducing these tools in one years notice.

Jeremy D. Miller wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 1:26 PM

Jan,

It's always easiest to use tools for testing and deployment that aren't actually deployed with the product.  And I definitely understand the pain of the centralized architecture team.  I even had to be one of those guys for a little while, and there's just no possible way they can keep up.

Jeremy

Dim Blog As New ThoughtStream(me) wrote Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 1:40 PM

Jumping on the wagon with Jeremy Miller and Ayende, here. What Open Source Software tools for .NET do...

Andy Stopford wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 3:39 PM

I'd like to hear folks views on why they selected NUnit? Ease of use, documentation/articles/books, tool integration, running on Mono etc?

Andy

Jeremy D. Miller wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 3:42 PM

Andy,

Inertia?  I actually did work with one of the NUnit 2 guys for awhile too, so there's a bit of loyalty.

Luke Melia was talking to me about MbUnit a couple weeks back.  I'll give it a spin soon.

David wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 4:00 PM

Using Subversion, TortoiseSVN, AnkhSVN, and NUnit.

It was a tough fight to get Subversion et al in, mainly due to corporate suspicion over OSS, and the "we only use Microsoft" excuse.

David Longnecker wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 6:09 PM

Currently using NUnit, NCover+Explorer, CruiseControl.NET, and Subversion/TortoiseSVN.  

Vikas Kerni wrote re: Do you use OSS tools for .Net development?
on Mon, Mar 5 2007 9:32 PM

NUnit

NAnt

CruiseControl

Hopefully very soon StoryTeller. :)

Damien Guard wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 4:59 AM

That list is very similar to mine but I'm surprised nobody on this list is using Trac.

Okay, Trac can be a pain to install on Windows http://trac.edgewall.org/wiki/TracOnWindows but once done it gives you a wiki, ticket system, milestones and source viewer that integrates quite nicely with Subversion.

[)amien

Stu Smith wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 5:25 AM

We tend to be an MS shop for convenience, but what drives us to OSS is:

* MS don't have a mid-range source control system. SourceSafe isn't powerful or robust enough, and TeamSystem is priced out of range for most developers. Of course, once you've set off down a source control route it's hard to change -- who wants to lose all their history?

* MS don't have decent profiling tools (again, excepting the ludicrously-priced TeamSystem). Although not OSS, ISVs like RedGate, SciTech, etc have stepped in to fill the gap nicely.

* MS don't have any (decently priced, getting tired of typing that) bug tracking tools. We use BugTracker.NET and it's simple and effective.

And what has driven us away from or put us off certain OSS projects?

* Lack of decent Windows support: too often you go to the website for an OSS project, and the Windows branch is maintained by a single, overworked developer, on a different and badly hosted site.

* Lack of decent installers. Unzipping and editing config files or the registry is no fun. TortoiseSVN is a shining light of how it should be -- a great installer, with notifications of new versions.

* Mix of technologies. I just want ASP.NET and SQL Server on my dev server: I don't want to have to add PHP for this, Java for that, and Python for the other. It's telling just how good Subversion is that we also installed Apache to host it -- had it not been such a critical component, that would have been a stumbling block.

Jay Kimble wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 6:59 AM

What the heck... here's my list of usuals (off the top of my head)

* Aptana (which I think qualifies... I forget the exact license)

* Subversion

* TortoiseSVN

* AnkhSVN

* FireFox

* K-Meleon (another Mozilla Browser)

* NotePad++ (which is better than Notepad2, IMO)

* SharpDevelop 2.1 (this is great if all you need to do is a simple compile or a quick edit)

stuff I use occasionally (some of which I should probably use a little more)

* ZaneBug (I'm not a TDD guy as you know; I do use these when I need to create a test... I know, I know I need to wrap my head around TDD)

* JSUnit (I need to look at this some more for the same reason)

* Nant

BTW, does the MS Ajax Control Toolkit count?  Right now I'm using that on a fairly regular basis as well.

Jeffrey Palermo wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 8:26 AM

Subversion

TortoiseSVN

CC.Net

NAnt

NUnit

NHibernate

NCover

NDepend

NUnitForms

StructureMap

NFit

Storyteller

RhinoMocks

NAntContrib

I am management (VP of Engineering), and it makes so much sense practically.  My group also uses Infragistics controls for WinForms, and DOCUMENTATION is not a good argument.  We have to do much more google searching for Infragistics answers than answers for any of the above OSS tools.

Chris Holmes wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 10:05 AM

We use Infragistics too, and you're right Jeffrey - the documentation is horrible.

Documentation doesn't keep us from using OSS. It's just one of those factors that makes us think twice before taking the plunge on any particular solution. But so does money, which is why we think twice before buying solutions as well.

Bob King wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 10:52 AM

The documentation complaint IS a valid one. I'm all for the idea that one should contribute back AFTER they become somewhat familiar with a tool, but getting to that point is a risky exercise. It requires either (a) diverting attention from the paying work to build/exercise a sandbox environment or (b) risking the project schedule to implement the new tools into the production path.  

Whether one will admit it or not, the docs that do exist fall squarely into 3 categories:

1) A quick and dirty "getting started" guide that only covers the happy path.

2) Release Notes and a handful of single-purpose docs

3) Forums and lists

The lack of clear, concise, relatively professional documentation makes (b) a hard sell in the corporate world and DOES contribute to the appearance that OSS is not ready for prime time. Sadly, it appears that the members of most of these OSS projects still consider documentation to be a diversion from the fun stuff - that of enhancing the tool to do the things THEY want.  

It's too early in my use of these tools to make any promises, but my approach right now is to meticulously document EVERY step, every bump and every issue I encounter in my quest to incorporate these tools, and to then organize those notes into something other noobs can find helpful. As you can imagine, this is effectively making every task take twice as long as I'd like, but someone's gotta do it.

Sachman Bhatti wrote re: Do you use OSS tools for .Net development?
on Tue, Mar 6 2007 3:26 PM

Heavy use of MySQL (with the .NET Connectors), SQLite, and NUnit

Fear and Loathing wrote What's in your OSS box?
on Tue, Mar 6 2007 11:54 PM

Following on the heels of Jeremy Miller and JP , here's a list of my open source tools in my tool chest.

Richard Brown wrote re: Do you use OSS tools for .Net development?
on Wed, Mar 7 2007 3:30 AM

I wouldn't be without our Open Source software.  In addition, I don't consider it management's decision as to whether we do use OSS or not.

I also think that these tools make me look like I can do magic in amazingly short timescales.  I'd be lost without them.

We use:

Subversion (perhaps the single best bit of OSS software there is)

TortoiseSVN

NAnt

NUnit

NCover + NCoverExplorer

NDoc

CruiseControl.Net

CodeSmith (2.6)

log4net

Some additional stuff we use that isn't OSS, but is free:

ConText

Microsoft Visual Web Developer 2005 Express Edition (for designing .rdlc files)

Microsoft ReportViewer control

And finally, a couple of tools I want to use and will hopefully incorporate in the near future:

NHibernate

Spring.Net

Sam Gentile wrote New and Notable 148
on Wed, Mar 7 2007 11:09 AM

Still real tired from my Oklahoma trip , partying with Raymond sure is exhausting-). Agile/Development

Hartmut's Box wrote Jeremy D. Miller - Do you use OSS tools for .Net development?
on Thu, Mar 8 2007 5:15 AM

Jeremy Miller started an informal poll asking “Do you use OSS tools for .Net development?”. Does your workplace routinely employ Open Source tools for software development with .Net? If not, why not? Based on experience, I can probably make

David Gil wrote re: Do you use OSS tools for .Net development?
on Thu, Mar 29 2007 4:56 AM

Anyone is using an MVC tool such as struts en .NET that is enough mature?, in the context of web projects...

Alexander Kojevnikov wrote re: Do you use OSS tools for .Net development?
on Tue, Apr 3 2007 8:12 AM

We use:

SVN

TortoiseSVN

Trac

NUnit

WiX // surprised nobody mentioned it

NCover

NMock

Plan to use:

NAnt

RhinoMocks

Technical Related Notes » Blog Archive » links for 2007-03-18 wrote Technical Related Notes » Blog Archive » links for 2007-03-18
on Sat, Aug 18 2007 1:05 PM

Pingback from  Technical Related Notes  » Blog Archive   » links for 2007-03-18

Add a Comment

(required)  
(optional)
(required)  
Remember Me?