... indistinguishable from magic
effing the ineffable since 1977
I feel dirty

I feel dirty

I believe in Open Source for technical reasons, but I also believe in Free Software for ethical ones. I make a point not to choose one of these philosophies over the other, but instead to emphasise how great it is that the same rules - epitomized by the DFSG or OSD - are worth following for two entirely different reasons.

Anyway, while I don't always live up to the goal of never using non-free software, when programming for personal reasons I have at least aimed for the goal that there should be a not-so-distant prospect that what I write can run on an entirely Free system.

Thus when I wrote nrdo, its initial versions may have depended on Java and Oracle, but I was entirely confident that Classpath and company would eventually be able to run it, and that a Postgres backend could be developed (both of these happened). When I ported it to C# it was (quite apart from being necessary for my job) under the assumption that it would run under mono in the near future (it does, as far as I know, although it's been a long time since I tested it and mono has changed a lot since).

When I wrote NRobot, running under mono was a primary goal, although I test it less often than I would like.

Even cmScribe, which is proprietary software that I'm paid to work on, I fully expect to be ported to mono and Postgres eventually (if only because it will make our company's story about hosting cheaper - no SQL Server license required!).

But I've succumbed to temptation and written something that has no prospect of running on a free system anytime soon. Apparently Microsoft has said that it does not believe it's possible for the mono project to clone its new Avalon GUI toolkit and Indigo messaging system without licensing some "Intellectual Property" from them, and apparently (at least in the case of Indigo) the mono people have accepted this and are not currently planning Avalon or Indigo clones.

Which is a shame, because it means that I've violated my principle of only doing stuff which will ultimately be runnable on Free systems, and means that mono users won't be able to see this: