Very interesting! You’ve identified many of the reasons for many of the decisions.
Cmd-enter will submit on LW comment boxes.
Forum Magnum was originally just the LessWrong codebase (built by the LessWrong Team that later renamed/expanded as Lightcone Infrastructure), and the EA Forum website for a long while was a synced fork of it. In 2021 we (LW) and EA Forum decided to have a single codebase with separate branches rather than a fork (in many ways very similar, but reduced some frictions), and we chose the name Forum Magnum for the shared codebase.
Thank you! ( I just submitted this reply too early by trying Cmd-Enter. I suggest that this feature is deliberately hidden to discourage its frequent use :)
Ah yes, I saw that the original LW was actually based on Reddit! It would be very interesting to see the original discussions showing the motivations for developing ForumMagnum. For example, did the Reddit-based forum lead to some undesirable norms?
I hadn’t heard of Lightcone Infra. Their LessWrong page is another clue about how ForumMagnum is really developed. Sounds like they’re thinking along similar lines—media optimized for inquiry/rationality.
One big motivation for switching from Reddit codebase was that we had a dedicated spammer we couldn’t stop. Imagine someone creating hundreds of accounts, upvoting himself, downvoting people he didn’t like. The existing moderation tools were insufficient; fighting this one person wasted a lot of moderator time. We needed solutions in code. But the Reddit code was very difficult to understand and modify, despite having a lot of software developers in this community. Ultimately, it was easier to rewrite from scratch, even if that took months (or years? not sure) of work.
Adding new features that we always wished (plus a few more were weren’t sure about but wanted to try) was also nice. But the opportunity costs were high. I think it was the spammer who changed the perception of rewriting the code from “would be nice to have” to “we must do this, or this community dies”.
EDIT:
A few rules (I don’t remember the rules exactly) were specifically designed against this kind of attack. Not just one person creating hundreds of accounts, which probably could be detected by using the same IP address or some other heuristics, but imagine hundred new people joining at the same time. e.g. because LW was linked from some belligerent online community. So, for example, the votes of existing members are stronger than the votes of new members. Making new accounts can temporarily be turned off. I suspect that moderators also have some automated tools for checking suspicious behavior of new users.
So the ultimate trigger to move wasn’t some hifalutin’ desires to apply media ecology theories to optimize for inquiry (as was my theory), but much more mundane and urgent needs to fight spam and trolls!
I found this announcement of LessWrong 2.0, which indeed mentions spam and trolls. The main innovation seems to be the delightfully named “Eigenkarma”, which I think is approximated by ForumMagnum by making your vote strength approximately the log of your karma.
The LW1.0 was a fork of the Reddit codebase, I assume because it was available and had many of the desired features. I wasn’t there for the decision to build LW2.0 as a new Forum, but I imagine doing so allowed for a lot more freedom to build a forum that served the desired purpose in many ways.
how ForumMagnum is really developed
Something in your framing feels a bit off. Think of “ForumMagnum” as an engine and LessWrong, EA Forum as cars. We’re the business of “building and selling cars”, not engines. LW and EA Forum are sufficiently similar to use the same the engine, but there aren’t Forum Magnum developers, just “LW developers” and “EAF developers”. You can back out an abstracted Forum Magnum philosophy, but it’s kind of secondary/derived from the object level forums. I suppose my point is against treating it as too primary.
there aren’t Forum Magnum developers, just “LW developers” and “EAF developers”.
Could you please expand on this? How is the codebase organized: is all code shared, or are there separate plugins for individual websites? How do “LW developers” and “EAF developers” coordinate when they want to make changes in the shared code?
There’s a single codebase. It’s React and the site is composed out of “components”. Most components are shared but can have some switching logic within them changes behavior. For some things e.g. frontpage, each site has its own customized component. There are different “style sheets” / “themes” for each them. When you run in instance for Forum Magnum, you tell it whether it’s a LW instance, EA Forum instance, etc. and it will run as the selected kind of site.
Coordination happens via Slack, GitHub, and a number of meetings (usually over Zoom/Tuple). Many changes get “forum-gated” so they only apply to one site.
Very interesting! You’ve identified many of the reasons for many of the decisions.
Cmd-enter will submit on LW comment boxes.
Forum Magnum was originally just the LessWrong codebase (built by the LessWrong Team that later renamed/expanded as Lightcone Infrastructure), and the EA Forum website for a long while was a synced fork of it. In 2021 we (LW) and EA Forum decided to have a single codebase with separate branches rather than a fork (in many ways very similar, but reduced some frictions), and we chose the name Forum Magnum for the shared codebase.
You can see who’s contributed to the codebase here: https://github.com/ForumMagnum/ForumMagnum/graphs/contributors
jimrandomh, Raemon, discordious, b0b3rt and darkruby501 are LessWrong devs.
Thank you! ( I just submitted this reply too early by trying Cmd-Enter. I suggest that this feature is deliberately hidden to discourage its frequent use :)
Ah yes, I saw that the original LW was actually based on Reddit! It would be very interesting to see the original discussions showing the motivations for developing ForumMagnum. For example, did the Reddit-based forum lead to some undesirable norms?
I hadn’t heard of Lightcone Infra. Their LessWrong page is another clue about how ForumMagnum is really developed. Sounds like they’re thinking along similar lines—media optimized for inquiry/rationality.
One big motivation for switching from Reddit codebase was that we had a dedicated spammer we couldn’t stop. Imagine someone creating hundreds of accounts, upvoting himself, downvoting people he didn’t like. The existing moderation tools were insufficient; fighting this one person wasted a lot of moderator time. We needed solutions in code. But the Reddit code was very difficult to understand and modify, despite having a lot of software developers in this community. Ultimately, it was easier to rewrite from scratch, even if that took months (or years? not sure) of work.
Adding new features that we always wished (plus a few more were weren’t sure about but wanted to try) was also nice. But the opportunity costs were high. I think it was the spammer who changed the perception of rewriting the code from “would be nice to have” to “we must do this, or this community dies”.
EDIT:
A few rules (I don’t remember the rules exactly) were specifically designed against this kind of attack. Not just one person creating hundreds of accounts, which probably could be detected by using the same IP address or some other heuristics, but imagine hundred new people joining at the same time. e.g. because LW was linked from some belligerent online community. So, for example, the votes of existing members are stronger than the votes of new members. Making new accounts can temporarily be turned off. I suspect that moderators also have some automated tools for checking suspicious behavior of new users.
So the ultimate trigger to move wasn’t some hifalutin’ desires to apply media ecology theories to optimize for inquiry (as was my theory), but much more mundane and urgent needs to fight spam and trolls!
I found this announcement of LessWrong 2.0, which indeed mentions spam and trolls. The main innovation seems to be the delightfully named “Eigenkarma”, which I think is approximated by ForumMagnum by making your vote strength approximately the log of your karma.
The LW1.0 was a fork of the Reddit codebase, I assume because it was available and had many of the desired features. I wasn’t there for the decision to build LW2.0 as a new Forum, but I imagine doing so allowed for a lot more freedom to build a forum that served the desired purpose in many ways.
Something in your framing feels a bit off. Think of “ForumMagnum” as an engine and LessWrong, EA Forum as cars. We’re the business of “building and selling cars”, not engines. LW and EA Forum are sufficiently similar to use the same the engine, but there aren’t Forum Magnum developers, just “LW developers” and “EAF developers”. You can back out an abstracted Forum Magnum philosophy, but it’s kind of secondary/derived from the object level forums. I suppose my point is against treating it as too primary.
Could you please expand on this? How is the codebase organized: is all code shared, or are there separate plugins for individual websites? How do “LW developers” and “EAF developers” coordinate when they want to make changes in the shared code?
There’s a single codebase. It’s React and the site is composed out of “components”. Most components are shared but can have some switching logic within them changes behavior. For some things e.g. frontpage, each site has its own customized component. There are different “style sheets” / “themes” for each them. When you run in instance for Forum Magnum, you tell it whether it’s a LW instance, EA Forum instance, etc. and it will run as the selected kind of site.
Coordination happens via Slack, GitHub, and a number of meetings (usually over Zoom/Tuple). Many changes get “forum-gated” so they only apply to one site.