Nethack shows (to me) one of the greatest strengths, and weaknesses of open source -- the tendancy to reach high-quality local minima.
With commercial products it is more common for products to die, not be upgraded, or have significant major upgrades. With open source instead the same products (nethack, vim, emacs and bash come to mind) can live in forever, gaining small improvements over time.
On one hand, this is great! You have a long-lasting product you can learn and use for years and years. On the other hand, I don't think nethack is the perfect game, vim the perfect editor or bash the perfect shell, they are very hard to displace.
Nethack source code was not closed and license was FOSS. Developers even accepted patches by email and from rec.games.roguelike newsgroup, but development was highly centralized as only a small group of developers had access to commit history. You could always fork NetHack, like UnNetHack developers did, but you only had access to release tarballs and had to rebase against many changes at once. Maintaining unofficial patch series was not actively supported. That is what I call "closed development process".
Another project with similar policy is OMNeT++ [0]. Simulation models are developed openly in the public [1], but the development of the kernel is done by closed group. Well, they also have restrictive license, forbidding commercial use, but what I am talking about is development model.
If you look at UnNetHack repository [2], it is forked from unofficial "Vanilla NetHack" repository [3] that contains only 53 commits, one for each released tarball. Now, with access to official git repository, it will be possible to track the changes between releases.
esr's The Catedral and the Bazaar about centralised vs. decentralised FLOSS development was written nearly 20 years ago, and talked about development of Emacs etc and Linux kernel.
I think it's funny how kids these days think it's too hard to access the source code of a project of it's not on GitHub. Self hosting used to be how it was done. Open source software has been popular at least since the 80s. GitHub is just a baby really.
that's not really got anything to do with how nethack development was 'closed'. Previously, while nethack releases were available under an open-source license, there were only a small number of developers which did not discuss nor release in-progress development publically.
They're clearly not obligated to do anything. And there were many forks, especially when the dev team went silent for about 12 years, and were basically presumed dead by some.
Services like github lower the barrier of entry to the OS development, and make things a lot easier. I think they provide a lot of value. Of course things were also possible without github earlier, but I think the barrier to open source development was higher.
GitHub is great but the barriers were never that high. It's like the difference between getting up to change the channel and using the remote. Once you've had the remote you feel like you cannot change the channel with out it.
Nethack indeed suffers from that a but, but Dungeon Crawl in my opinion is one of the best games ever made, and it gets revamped constantly, and they make tough choices and I have to admit they are usually right, even when first impression says otherwise.
Dungeon Crawl in my opinion is one of the best games ever made
Having played a lot of both NetHack and Crawl, I think it's pretty bold to claim either game as the "best game ever". Both suffer from the same problem: past a certain point, your character has too many options for every situation and choices become boring and trite.
Crawl tries to "fix" the problem by making a lot of your powerful options unreliable. I believe this is the wrong way to do it. It messes with the player's natural feedback loops by inviting them past a point of no return demarcated by a hidden variable (the random seed governing the unreliable option).
Both games also suffer for the fact that they misuse a food clock. A food clock is a crude mechanism to stop the player from abusing regeneration of health and respawning of monsters. The problem with it is that it's a linear mechanism which simply does not function properly with a nonlinear game. Again, it invites players past a point of no return in cases such as foodless dungeon branches. Crawl tries to "fix" this by giving the player way too much food, but that just lengthens the feedback loop without actually solving the problem. The original Rogue (and its spiritual successor, Brogue) has a working food clock because it's a strictly linear game with a finite amount of food balanced against a finite number of areas to explore.
Both Crawl and NetHack also suffer heavily from the problem of "windshield monsters". Like so many bugs splatting on the windshield, the games lull you into a sense of complacency until inevitably you walk around a corner and something really nasty notices you and you die. Yet another case of a long feedback loop that messes with the player's expectations. This is the game play analogue of jumpscares from the horror genre; a cheap trick that ends up pissing off the player most times.
"the games lull you into a sense of complacency until inevitably you walk around a corner and something really nasty notices you and you die"
That just means you have to be careful so that can never happen. For some that makes the game boring, for others it's part of the fun. I like being prepared, so it's fun for me.
I admit the argument is a bit weak, but it's possible to have "something really nasty" around the corner without making the vast majority of enemies complete grist for the mill. Brogue illustrates this concept rather well. As you get further into the game there are plenty of those "oh shit!" moments but the regular enemies you're fighting are still very challenging and interesting to deal with.
The boring part of the game is not the nasty thing that killed you, it's the thousand useless orcs you had to kill before it happened.
Dungeon Crawl Stone Soup is indeed a brilliant game. Some of the best gameplay I have ever experienced in any game, commercial or not. And it's interesting how this happened by organic iterative design with a few guiding hands over years, rather than the typical commercial big bang release date with years of up front dev.
DCSS does suffer from the optimum local minima thing as well, though. There are a lot of big design choices that stick around because they've always been there, rather than being good choices. For instance: the difficulty curve, melee being superior to spell casting, big random damage spikes, length of the game (too long), tediousness of summons / spell casting, kiting as the optimal strategy 99% of the time, and the other things that make dcss what it is.
I agree with some of the sub-optimal design choices you've mentioned, but I think the Crawl team has shown itself willing to be quite able to change the game to reduce tedium, even sometimes when a lot of players express reservations. For example, in terms of game length, Orcish mines has been reduced to 2 floors (used to be 5), Swamp/Shoal and Spider Nest/Snake Pit have been reduced to 4 floors (used to be 7), The Vaults have been reduced to 5 floors (used to be 8), the Dungeon has been split into Dungeon (15 floors) and the Depths (5 floors), rather than the old 27 floors. The weight limit for players that required low-strength casters to juggle items is gone, removing an important source of tedium.
I'll say this: I've played both NetHack and Crawl (and many other roguelikes) and the main difference between the two of them, for me, is that I have fun playing Crawl and I have never enjoyed myself playing NetHack.
One of the fantastic design choices in crawl (actually true for netball, too) is that it isn't balanced across all race+class combinations. Some are easy (mainly hack and slash power combos, like the gargoyle fighter) others are tough but trash you a lot about the game (tengu conjurer), and others are nigh impossible (mummy almost anything). If something is to easy, you can just choose to play a harder game, with less tolerance for mistakes. Eventually you start finding mistakes you weren't even aware of...
Hmmm, I wonder if opensource code is how the first ai-generated code contributions will look like? Ie technically good, but perhaps not fundamentally innovative, at least, initially?
To support this hypothesis, you'd have to show that some other process did make (for example) the perfect editor.
Otherwise, this is not a weakness of open source.
I wouldn't say they make the perfect editor, but they do make changes.
For example, I like the fact that almost every editor on my mac obeys the standard shortcut keys (at the minimum, apple+x,c,v for cut/copy/paste, apple+z undo, apple+s save, apple+q quit, apple+f find, apple+g find next, apple+a select all).
If you started vim or emacs today, would you choose on a mac to not follow the standard interface rules, when the editor was first started? I would (personally) hope not.
No, it uses the keys I listed, like everything else on the mac (I feel like you are aiming at something here, or are you just curious about mac terminals?)
* Well, not all of them, save doesn't really make sense for a terminal, and 'cut' can't really be implemented for a general terminal app. but copy/paste/find/find next/close window/select all and others are all fine).
With commercial products it is more common for products to die, not be upgraded, or have significant major upgrades. With open source instead the same products (nethack, vim, emacs and bash come to mind) can live in forever, gaining small improvements over time.
On one hand, this is great! You have a long-lasting product you can learn and use for years and years. On the other hand, I don't think nethack is the perfect game, vim the perfect editor or bash the perfect shell, they are very hard to displace.