I just want to say that Dwarf Fortress is a great game, maybe one of the greatest I have ever played - and Toady, for making it, one of the best game designers.
Agreed without hesitation. There has simply never been anything like DF.
Unfortunately, great ideas are crippled by a bad implementation. That’s no slight on Toady: Dwarf Fortress is a very large project, and he’s only one person – and furthermore, he’s one person without the education, training, or experience to work on really large software projects. He’s a hobbyist coder, if DF is any indication, and he’s done some extraordinary things…as a hobbyist coder. And certainly some of his experience has come in handy – as I thought, he does have a math background, and I’m sure that was invaluable for certain aspects of DF.
What makes me say the implementation is bad? Well, I don’t think I’ll be saying anything that hasn’t said here before. The interface is tremendously horrible, unworkable. The performance is god-awful – and while yes, Dwarf Fortress could never run efficiently on a desktop from 1999, given what it’s simulating, I am quite sure there is room for a tenfold improvement, especially in some corner cases, like running over frozen oceans in Adventure Mode. And finally, the game is overrun with dozens of very annoying bugs – the beekeeping problems, for example, or the full bucket problems.
I'm going to set aside all my objections to particular, arguably exaggerated wordings, or particular cases, because all such quibbles are just that.
I will simply say "AMEN". I have seen all three of these problems - the difficult interface, the lack of performance, and the lingering bugs - becoming more and more serious for at least four years now.
So I agree with all the major points here, and will add to them the lack of updates, another symptom of the same great issue. Toady is an extraordinary man, but he is only one man, and DF and what DF simulates has for some time now grown big enough that any single person would struggle to continue advancing it.
The community has addressed these issues to some degree with mods, utilities like Dwarf Therapist and DF Hack, and complex workarounds posted on these forums (when you can find them, anyway.) But these basically amount to putting a band-aid on an axe wound. The game is nigh-unplayable without them. That’s, quite frankly, absurd.
Again, agreed with all three points.
There’s really only one thing Toady could really do to fix these problems: get other developers to work on DF. Since he (quite commendably) doesn’t charge for DF (which I also believe gets him many more users), hiring more developers is out, because there’s not enough money.
He does not necessarily have to hire them. Baughn's graphics engine work is an example of others generously volunteering their services to assist Toady.
The only other viable way of getting more help is by open sourcing DF.
Here, I do not quite agree. Toady has given at least one other person (Baughn) access to a specific portion of the code, to do a specific, mutually-agreeable, task. I believe that such "ad-hoc" collaborations are quite able to allow Toady to both continue to actively advance the game for at least some time yet, and avoid going all the way to open-source.
That said, and now set aside to continue with the argument as presented, ...
Your discussion of open-sourcing, and in particular your use of prominent examples, seems fairly well-informed. Open-sourcing can indeed be made to work well.
The question of whether Toady is willing, I set aside. I'm not Toady. I don't speak for Toady.
As a mere user, I'm more interested in discussing the question of whether Toady has the personal character to make an effective "benevolent dictator" that has a team of contributors to encourage and make to feel appreciated, give firm but polite direction to, inspire, and get along with? Open-source projects very often fail because team dynamics breaks down. Only a professional attitude can keep a great team going, and only a great team can advance a truly major project. And DF is beginning to evolve in that direction.
My take on the objections to open-source:
1. DF is Toady’s baby, and he want to retain full control over it.
Toady makes the rules, but he has to deal with facts. Again: DF and what DF simulates has grown big enough that any single person would struggle to continue advancing it. Toady can continue to struggle, more-or-less alone, against a forest that all his labors add to ... or he can get some sidekicks. If he wants sidekicks, then while he will continue to be in overall charge, others will be able to make decisions on secondary matters within their area of responsibilities.
2. DF is Toady’s source of income, and open sourcing it would take that away.
Considered under point 4, because it can only take away income if a fork actually draws away customers for very long. As you point out, that's deuced rare.
3. Too many cooks spoil the broth.
You answer this point well. Too many cooks only spoil the broth if they don't know who (or what rules) are in charge.
4. There would be 100000000 forks of DF.
As you say very well, forks take work to maintain. But merely maintaining a fork is not enough - it has to compete. And that's
real hard to do against an original creator who's even the slightest bit active. Most forks get whatever was worth keeping, brought back to the main stem and the rest discarded and forgotten.
If Toady keeps private some tricky and essential code, even starting a fork can be difficult. While I honestly doubt the need to do this, this trick can allow one more way for him to test before committing fully.
Frankly, the community doesn’t seem to be serving Toady well in this regard, where a lot of them seem to defend everything and profess knowledge where they have none.
Agreed. Fanboism doesn't contribute to providing discussions that Toady can consider for solutions to his problems. What does contribute is, firstly, calling a spade a spade and, secondly, thinking together about solutions.
The best example seems to be the implementation of multithreading in DF. I ran across tons of threads where this was derided as not realistic, necessary, and too hard.
I agree with your dismissal of the the first two claims. The claim that "multithreading is hard", however, is simply a painful fact. Getting multithreading right, especially starting with an existing singlethreaded source, takes both skill and effort.
However, what you say about processors is spot-on. DF and Toady's vision for DF are always going to be hindered - badly - until the code smartens up about modern computers.
Personally, I think it’s really disappointing that things turned out this way, because DF has so much potential. As a personal project, I’m going to decompile DF and see what I can do. Decompilers aren’t magic – comments, other documentation, variable names, how the software is modularized, etc. – are all stripped out in the process of compilation, so it’ll be a lot of work and drudgery, but maybe it’ll be interesting, especially when I get to the point where I can fix things or (I suppose) add to them. It would be clearly wrong for me to publicly distribute it in either source or binary form,
I will say what you doubtless already know, because I believe strongly that it should have been clearly and explicitly stated by you.
Sharing a decompiled version of copyrighted software is both wrong (as you correctly state) and illegal (which you should speak up and recognize if you haven't already).
Not only does Toady have copyright now, it is very easy for him to retain entire and absolute legal ownership, should he so choose (and he need not so choose), even of a project in which multiple developers participate.
so it’ll never be more than an experiment, but that’s also sadly all DF will ever be if Toady doesn’t step up and get over his personal hesitation. Yes, great projects and works of art require a single vision. But they also take a lot of engineering, architecting, and many, many hands, and Toady simply isn’t a software engineer.
I'll end a reply largely supportive of your valuable points by lamenting the occasional injudiciousness in phrasing. DF is not merely an experiment. It is an accomplished work that has grown so much as to task the ability of any one person to support and advance it further. This is very far removed indeed from a mere test under controlled conditions.