Some people may wonder why the FutureMUD project is not open source; indeed, this is something I have wondered from time to time myself. I thought I would offer my reasons as to why FutureMUD is closed source, and take the opportunity to reflect on the future.
Clearly in most cases, if you were intending to make money off of something, it would make sense that you weren’t going to give it away for free. While for large companies it can actually be in their interests to make their products open source (see this article if you’re interested), in most cases for smaller developers it would not make a lot of sense.
That being said, I don’t intend to ever sell FutureMUD to anyone. I originally kept the option open because you never know, but the more I think about it these days, the more unlikely it seems. There just isn’t that much money to be made in the RPI community, and any income I did derive from it would be a drop in the ocean compared to my actual job. So unless some Oil Baron with money to blow and a deep abiding love of RPI MUDs comes along, FutureMUD will likely only ever be given away for free.
Does this include commercial MUDs? I don’t see why not. If you can convince players that your RPI is worth paying for in some way, well then, you have probably made a pretty damned good RPI and I don’t see why you shouldn’t be able to keep whatever profits you make. Thinking about it lately, instead of asking for a royalty (e.g. percentage) or some flat fee, I would probably just ask that each MUD that gets “successful enough” agrees to host at least one of the hard working free ones.
Why Make It At All?
I started FutureMUD to make the “RPI Engine of the Future”. As some of you no doubt know, I was the owner of Shadows of Isildur for a short while between Traithe and Kite. During my time, I was a big advocate of the RPI Engine and the code was freely available at the time (subject to the terms of the Diku, Harshlands and SOI licenses of course). I knew of, was loosely involved with, and even pondered several new RPI MUDs that were to be based off of the RPI Engine. Many of these had bright, motivated people with a great idea behind them.
Almost all of them failed to get off of the ground because they could not get enough coding support to make things happen, or, due to the inherent instability of the RPI Engine, never really took off. I ended up leaving SOI mostly for personal reasons, as I was no longer enjoying myself there and felt the need to work on something that was truly my own (rather than trying to keep alive something that was almost wholly someone else’s).
At that time, I decided that I wanted to make a new engine, from scratch, that while respecting the style of the RPI Engine, was free of its problems. Thus, FutureMUD was born. Actually, it was originally called LukeMUD, which was a working title. Later, when we ported LukeMUD to Windows, it became WinMUD. WinMUD was already an actual thing though, so the sub-title “The RPI Engine of the Future” ended up becoming the actual title.
I first started work on this in 2009. I believe it was late 2012 when we scrapped the C++ engine entirely and started yet-again from scratch in C#. The whole time the mission has been to get this engine out there and for people to be able to use it – not just myself, but anybody who has the time and patience to get a MUD running (you’ll need a lot of both, no matter how good your engine).
My original vision was to make an engine where “Literally everything was customisable without a coder” and “Builders had complete control over every aspect”: I’ve since realised that is a little bit pie-in-the-sky. At the very least, my mission is to make things as customisable as reasonably practical, and make it easy from a coding perspect to add options.
Why Not Open Source Then?
I like Open Source, I do. There are however two main reasons why FutureMUD is not currently Open Source.
The first point is probably the most critical – FutureMUD is a labour of passion, many hundreds if not thousands of hours of my work poured into creating it and creating it a particular way at that. I want things to work a particular way in FutureMUD and I’m pretty uncompromising about it. I have had a hard enough time working with Kithrater and Case, who are close real life friends of mine, let alone a stranger with whom I share no real world connection.
I keep FutureMUD closed source at least for now because I don’t want to have to answer to anyone about how to do things. Case was recently talking about returning to FutureMUD and we were discussing elements of the engine that she could get involved in, and I must admit, every one of them made me defensive and think of the way I would want that done.
At this stage of the project, it would just be pretty hard to take in a new developer (or even an old one), unless they shared the exact same vision for the engine as me (and although I have much platonic love for Kithrater and Case, they do not share the same vision about how things should work in general).
The second point about Uniformity is that I don’t want FutureMUD branching off into a thousand different versions as each MUD gets their hand on it. That would mean that there would be a lot of work that only one MUD would get to benefit from, and it would also make it harder to distribute improvements made from my end. I have always said that if all those limited coding resources pooled their efforts, far more benefit could be felt by more people. I know that seems a little contradictory with my previous point, but I suspect I won’t feel that way FOREVER…
At the end of the day, I think I will eventually open source FutureMUD. There will come a day when I think it is more or less complete, and when someone else might come along with a compelling enough vision of how to develop it into whatever stage comes after the “Japheth Era”. At the very least, if I ever decide I’m no longer interested on working on FutureMUD, I will definitely release it. I’ll never leave the users with an abandoned closed source product, no matter what happens.
So You’re Not Looking For Developers?
Actually, I am still keeping an ear to the ground for people who might be interested. I’m just cautious about how I do it, and I don’t really have the time, energy or skills required to teach an amateur. But there are still things I don’t know how to do very well – in particular, I am not a web developer. I would really love to get a talented person out there who could help get up website tools / integrations for FutureMUD, as that’s outside my area of interest and probably too big of a distraction from the core engine for me to commit to time on at the moment.
As always, I’m also very interested in hearing about ideas from the people who would use the MUD Engine. Even bad ideas can inspire me to think about something I hadn’t considered (though by and large you guys have very good ideas).
But if you are some sort of wizbang .NET coder who has an amazingly similar vision to myself and you’re interested in contributing, well, perhaps hit me up and we’ll talk about it.