Discourse is a fine platform, probably even a good platform once you are accustomed to it. I believe the Scala Community is has enough dedicated members to be able to support its own choice in tools and I do believe the discussions here need a place. For those reasons, I would anticipate this instance will do okay. I do especially agree that the Discourse instance is a good step up in replacing the mailing list with a more modern platform.
Thoughts were for the new users (and contributors) that, in my opinion, Scala needs. Unfortunately, I cannot think of a good way to measure the impacts of GitHub vs Discourse this and have I only have my personal experience and observations, both of which are unfortunately subjective and easily in error.
I have read numerous accounts of increased participation after moving to GitHub (which is why I was looking into moving the Scala JIRA to GH Issues), but they have all been the experience of one project and I don’t know of any study with a large enough sample size to know anything conclusive. GitHub is not a perfect platform, but it is where users are at and has proven itself flexible enough to be used successfully for a diversity of projects and scales. I see moving to GitHub as moving to where the users are rather than asking them to come to you.
Just to expand a little:
- GitHub is a barrier only once. Chances are good they already crossed this barrier before finding Scala. I am comfortable discounting this barrier as one that Scala needs to concern itself with.
- With the Discourse instance, the user needs to sign up. Even users with something to say, or who might just click “like” somewhere can be stopped by this. A mental measure of engagement occurs that decides if whatever action they would have taken is worth clicking sign in and creating an account. This loses potential contributors. Even small participation can work to later pull in a user to a more active role. They can sign in with GitHub, which helps, but they learn that only after trying to sign in.
- There is a parallel line of reasoning with the above with Discourse as a [potentially] new/unknown platform which can intimidate or otherwise deter a [potential] user.
- Scala is significant, but it is still not a broader norm. Also using tools outside the norm may not hurt general approachability, but does not help.
- The Discourse instance is not as discoverable as a GitHub Project. This can probably be largely remedied with a bigger marketing push for the Discourse instance. However, the Discourse instance is not something a user expects to find or will necessarily go looking for. It is only after seeing a link or refernce that its existence is known. Conversely, if a project is hosted on or links to GitHub, GitHub Issues is assumed to exist until shown otherwise. Potential users can’t know what they don’t know.
- This is not specific to platform choice, but at least to some the “Contributors” name suggests an exclusivity that, while not intentioned, may give potential participants pause. Tying discussions to their projects as typical on GitHub helps to level this distinction.
Concerning fragmentation:
- I have discovered and participated in a lot of projects by following cross-repository references in GitHub. This is a discoverability feature is lost when part of the picture is on Discourse.
- Discourse does this better than mailing lists and categories do help, but trying to put all discussions in one place raises the signal-to-noise ratio for users and can lead to lower engagement. I find the trend towards modularization and GitHub help this. The open source projects I feel I have contributed the most to are those that I ended up “watching” on GitHub because that keeps me informed and engaged. GitHub issues that affect or interest me are then pushed to my e-mail. Related issues are likely to be cross-referenced so I learn about those as well and can choose to subscribe to them if relevant. This becomes sort of engagement becomes intractable beyond a certain scale, thus watching the “river” of the entire Scala Contributor Community is not something I’d be inclined to do and why I have never stayed successfully subscribed to mailing lists. Instead I need to make an effort go to Discourse if I want to see what is happening.
- I agree with @jducoeur on badges/rewards provided by Discourse. Were I to accept that Social Reward is a relevant factor, then Discourse also fragments my Social Presence and weakens my Social Status on GitHub because my participation here will not appear in any metrics there.
I am not convinced there are conversations that could start here which do not, and could not, have a clear place on GitHub. If there are, Discourse may be the right place for those. My opinion is just that GitHub is the more expected place for “business” such as in depth discussion a project such as is happening with the Scala Platform and that following expected behaviors encourages discovery and participation.
I keep being concerned about abuse on the GitHub platform, but, for its size, surprisingly and happily, I have yet to see anything requiring intense moderation or suggesting that moderation on the platform is deficient. Issues do need to be managed (moderated), but I have seen so many cases of GitHub working, and of working well, that I struggle to see it as unworkable for Scala.
None of my concerns are such that they are going to break or cause anything to fail, but together they seem enough to me that they could impact who participates.