Why a new version and why open source?

So, I’m a busy guy. If you read my other blog, you’ll know I have a fairly active writing career and a few consulting gigs. So why did I resurrect an idea management program that nobody (other than myself uses)?

Given that I’ve spent a few hundred hours on this latest version, that’s a difficult question to answer. At least to give a satisfying answer, anyways.

But first I’ll answer why I’m going open source.

Open Source

Way back, the previous version of this software was shareware and I had a few customers, made a bit of money. But the amount of money coming in never even met the time I spent dealing with support issues. Given that this was taking away from family and my writing career, I had to pull the software, to prevent any new customers from coming on board.

Since that time, I’ve realized that no matter what I do I need to be careful about creating things I then have to support. This might seem obvious, but I’ve fallen into this before. I get excited, create software, deploy it, and then I’m finding myself adding dozens of features that a handful of people want. I simply have too many things to do, to provide that level of support. So I’ve been discouraged from deploying any new software for a few years.

With open source, I think/hope/suspect that if a few people start to use it, the chances are that somebody will have enough programming competence (probably much higher competence than my own hack-ability), to make modifications to YourOtherMind, to support what other users will want. Yes, I won’t make any money from it, but I’ll also avoid losing time to it, which is far more important to me nowadays.

Which leads into the answer as to why I even bothered with this:

It is important… to me

I’ve spent over ten years working on this idea management program to assist me in my writing career (ironically, at the cost of delaying said career…). But I like to write code, so I’ve enjoyed doing the actual work. Still, I realize, that were anything to happen to me, all these years of effort would just disappear.

I rather like the idea that, even if nobody ever uses it, or develops for it, the software is out there, just in case. That somewhere, somewhen, somebody might take up the code and do something important with it, or gleam a few ideas from the effort I’ve put into it, if not the entire package.

But the existing code was so sloppy and had evolved over several years, that I knew nobody would even dare look at it, in the state that it was. So I wanted to rewrite it, first. (I’m sure many programmers looking at the code would still consider it sloppy, but trust me, it is a lot less sloppy than it was before).

I wanted to create better separation between the components. To force myself to do this, some core features of the original YourOtherMind are actually implemented as AddIns, because making them AddIns prevented me from taking lazy programming shortcuts. All in all I’m rather happy with the new framework.

Anyways, that’s the why. I’ll continue adding pages here, explaining the actual details of how YourOtherMind actually functions.

Let me know if you have any questions!