Alo Sarv
lead developer

Donate via

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary

Monday, September 11, 2006

When is a software project "finished" ?

anonymous commented: After that much work done, I cannot believe this will stop here. If the project is not finished, Madcat, was a waste of time.

Define finished please. I have created generic cross-platform P2P client framework/API, and two proof-of-concept modules; I have created graphical user interface, an extendable IPC mechanism and much more.

Hydranode was meant to attract a lot of external developers due to it's well-documented and well-formatted codebase, as well as it's base API's generic nature; I've already written a couple of custom applications based on Hydranode base libraries, well beyond the API's original ideas.

Yet as it turned out, the quality standards are too high for external developers to join; also, when you have a messy codebase, everyone jumps in trying to "fix" it (I saw that working very well in *mule projects), yet a well-formatted and well-structured codebase, the average OSS programmer won't have an idea of where to start because there aren't easy things to fix.

As far as "finishing" the project goes, you can never call a piece of software finished. There's ALWAYS room for improvement, new features and such; yet I don't have a lifetime to spend on something that takes 15+h/day to develop and brings me zero income. I no longer have the luxury of living with near-zero monthly expenses - I gotta earn money to pay for food, rent and so on and so forth.

My greatest regret with Hydranode is that I didn't create a messy codebase; if I did that, there'd be a full-sized team behind the project already; but as it stands now, there's very little hope someone will pick up this project's maintainance, since developers knowing sufficient amount of C++/STL/Boost are hard to come by in OSS community, as it turns out. Personally, I know about 2-3 developers who'd have sufficient skillset to continue this project at these quality levels, and all of them are busy with other things.

Lesson learned - well-written codebase will cause most coders to run away in fear, rather than join in. However, I would never call Hydranode a waste of time; it's a great CV/Resume entry for me (I've gotten multiple job offers over the world already, from people who've seen Hydranode codebase), I've mastered advanced C++ (I knew very little C++ when I started this project), and I learned quite a lot about user interface design, usability testing and so on - all very valuable. I wrote Hydranode because I wanted to learn; towards that end, Hydranode has been a major success. But Hydranode failed as OSS project; next time I start some OSS project (doubtful it'll happen though), I'll create a messy codebase using basic C++ (no template metaprogramming, design patterns or any other of that "advanced crap"), and I'm willing to bet large sums of money that developers come running to join in.

If you do wish to continue this project, drop me a mail; other than that, as long as there's no decent financing behind this project, I cannot afford to spend time on it in foreseeable future.


Archives: December 2004 January 2005 February 2005 March 2005 April 2005 May 2005 June 2005 July 2005 August 2005 September 2005 October 2005 November 2005 December 2005 January 2006 February 2006 March 2006 April 2006 May 2006 June 2006 July 2006 August 2006 September 2006 Current Posts

This page is powered by Blogger. Isn't yours?