Stuff are often covered in great detail in changelogs, development blogs, forums, etc.
And players figure stuff out.
All the info will be on wikis. It is not effective.
If people want to spoil it, they check out the said wikis. If they don't want to spoil it, they don't check the wiki or the source, if it is available.
Actually, several developers have stated as much, most notably Thomas Biskup, who develops Ancient Domains of Mystery.
That's not to say you're wrong on any of your other points, but I think the reasoning for it isn't so much to prevent players from figuring stuff out and publishing guides, but more to encourage players to experiment and figure stuff out for themselves rather than relying on a guide to tell them the 'right' way to do things.
If they don't accept PRs then they will still be the sole driver. But if I were in his situation I'd at least take PRs for simple bug fixes. That gives you more freedom to work on creative stuff.
Given the ecosystem around it and the reportedly parlous state of the DF codebase, I would guess, somewhat along the lines of Minecraft, what would happen upon open-sourcing is that people would start big cleanups and APIfying, and he would have little choice but to either accept PRs en masse or quickly be left in the dust with an obsolete codebase while everyone begins using a version forked from whenever he balked at a re-architecting patch.
I'm inclined to agree that in practice you just can't ignore open source contributions if you want to remain the official version. The moment the community is patching faster than you your changes start to become ported to the 'official version' and not the other way around.
He could add trusted contributors to handle that load for him. No one says he has to handle merging all the PRs himself. Dwarf Fortress has a huge community of very technically-minded people. The end result would be better with more contributors, especially if it freed up the attentions of the main developer to focus solely on the creative stuff while bugfixes and maintenance tasks were handled by the community.
I don't mean he's going to go 'woe is me I have too many PRs to look over'. I mean that inevitably, his goals and coding aesthetic preferences are going to conflict with the community: 'I don't want to add that feature' or 'I think this is too complex and just caters to API users' or 'I dislike this architecture'. Right now, his version is king because he is the only one who can make meaningful changes to it and it is very difficult for anyone to patch his binaries, dooming any fork; allow access to the source code, and suddenly he's merely an ordinary coder who happens to be very experienced with the codebase. Think eGCC and GCC.
Stuff are often covered in great detail in changelogs, development blogs, forums, etc.
And players figure stuff out.
All the info will be on wikis. It is not effective.
If people want to spoil it, they check out the said wikis. If they don't want to spoil it, they don't check the wiki or the source, if it is available.