To start off, I really need to say that I love Open Source software and everything it stands for, but sometimes it really drives me nuts! Today was one of those days; everything that could go wrong did go wrong, and there was almost no one around to help me stop tearing my hair out.
The day started off well. I was going to be developing a small application for work, and I’d decided to use an Open Source component as a basis. So I set off coding in C#, as I always do, and no sooner than I ran the application did I start to have problems.
So I figured I’d go straight to the project’s site on Codeplex and ask for a little help, just to see if anyone else had encountered the same issues as I had. Before posting a question I thought I’d better have a look round the site, read the documentation and whatnot just to make sure that I wasn’t asking anything obvious as I didn’t really want to be told to RTFM! Absolutely no help whatsoever. This brings me to my first OS annoyance—the documentation is almost always awful. How can you expect folks to use your software if the manual is less than useless?
I know, I could join the project and contribute to the documentation, but how am I supposed to do that if I don’t understand the software in the first place? Yet the developers of such projects quite often put little-to-no time into even the most basic documentation, and it get harder and harder for a newcomer to get to grips with it.
So back to my problem. I decided to post a message in the discussion forum and see if anyone could help me. It appeared that there was at least one person on the project that was more than happy to spend some time figuring things out for me, but to no avail!
The first suggestion was to update the software to the latest version, which happened to be in SVN and I had to compile it myself. The horrors! So I downloaded it, fired up Visual Studio 2010, and hit “build”—errors, warnings and more errors. Oh no I tried to figure out why on my own, but really couldn’t, then as a last resort I fired up Visual Studio 2008, and tried it there—what do you know, it worked. I couldn’t believe how much time I’d spent, no wasted on trying to compile it in VS2010! If only the project site had said that I needed to use VS2008. Which brings me to bugbear number 2—system requirements are often unmentioned and it’s up to muggins to figure them out.
Then it turned out that I neeed a third-party application, which the project used, but I needed a specific version and there was no mention on the site as to which version I needed. So back to the forums to ask again.
So, once I’d got that working I started to build my application again using the updated version of the OS component. What the heck? I was still getting the same error as before. I was virtually at the point of tearing my own hair out when I decided to try something different—I told VS2010 to target the application at version 2.0 of the .Net Framework intead of 4.0, and everything started working. What a total pain in the neck. I’d literally spent hours at this point building something that should have taken atmost ten minutes.
Which brings me to the end of my story, and the conclusion that although Open Source is indeed admirable and the whole principle is great, in many cases it’s lacking in so much in terms of being user-friendly! Just a little work on the project’s website and a bit more time put into documentation would possibly have solved my problem in minutes rather than hours.