Ask HN: How do you talk to your GitHub community?

57 points by ljw1001 ↗ HN
I work on an open source project with a small community. https://github.com/jtablesaw/tablesaw

I want a place for our users to hold discussions, ask questions, etc, that aren't bug reports or feature requests. We'd be lost at Stack Exchange, as the community is too small. I'm looking for an app like Discourse that is integrated with github. I've used gitter on other projects, and found the endless stream format awkward. What do you use for your projects? The only 'must haves' are sign-on-with-github-account, and asynch communications.

69 comments

[ 2.6 ms ] story [ 144 ms ] thread
Would you pay for a service like this if it existed and worked well?

If so, please email me! I'd love to discuss the concept and may have the the time and inclination to build it if a great answer doesn't already exist.

Gitter looks like what you're looking for.
What about Slack?
The free plan allows you only to keep the latest 10K messages. And it tends to be messy
And (IMO) it's sooo annoying that everything is hidden behind a login screen. I usually don't signup, just to see what might be behind.

Here're open source Slack alternatives for public communities, no login screens: https://spectrum.chat and https://www.talkyard.io (I'm developing it).

(Rocket Chat & Mattermost & Zulip are other alternatives, all require login to see what's there? )

Many organization and companies don't want outsiders to see what is happening due to privacy and security issues. Anyway, there is a PR opened for Zulip which allows people to see the content of public streams without logging in. It's up to the administrators to decide which streams would be public to users which are not logged in.

https://github.com/zulip/zulip/pull/8135

Interesting to know, thanks for mentioning :- ) B.t.w. I like Zulip's threads.

A thought: What if Zulip, during installation, let the admin choose if things should be public or hidden-behind-login, by default? E.g. useful for open source projects

(comment deleted)
This can entirely depend on the type of project and how many active contributors there are - if you have a lot of contributors then you may find more cross-user communications in which case gitter really does help (they answer each others' questions). If there are just a few people able to answer questions or just one (you), then using issues as Q&A would be good enough for now. The latter is quite common with apps rather than libraries. It is also more searchable which helps others.

Curious to know, how are you defining small community? I see you have ~100 watchers, ~900 stars, ~200 forks. Are you basing it on that, or some other criteria (# issues per week etc)

My project - I have a project with roughly same numbers as you. I did set up a gitter but everyone ignored it and emails me directly or just uses the issues. Despite not being actual issues, and despite its awkwardness, it's back to what I said earlier - searchable for people with similar problems in the future. I'll be sticking to issues until I reach hyper-popularity and then the gitter may revive itself.

I see 19 contributors, which do look small.
19 is very good. Recruiting active contributors is extremely difficult.
Boy oh boy is that an understatement. One of the ~15 year old ~70kloc projects I help maintain only has a handful of active contributors at any point. Even with efforts put into marketing it there's not a large pool of people to pull from.

I wish there was a formula for making things more attractive to contribute to (in both the short and long term), but it's a fiddly process.

> I wish there was a formula for making things more attractive to contribute to (in both the short and long term), but it's a fiddly process.

I'm trying to elaborate something for that. On way I see is to reduce the entry level as much as possible.

I deduce that a project aiming a lot of contributors should be heterogeneous (contributors can choose their favorite language)and shouldn't have a single build system (interfaces exists at runtime with a middleware, vms, or files).

That might work or it could backfire. With more build systems and more languages, then you can easily end up in the category that someone needs to know all of them to make meaningful changes. If you have people staying in their own part of the codebase it's easy to imagine significant bitrot occurring over time.
I imagine software isolated in vms.

Many people could do the same thing or overlap with someone's else project. It would allow projects to compete.

Interesting. That's a radically different view on what a project should strive for than my own. My own FLOSS work focuses on getting work closer to the system's metal in order to have a responsive low-latency/realtime configuration (realtime being in the realtime signal processing sense).

In this area in particular people doing the same things results in reasonable breadth of work, but insufficient depth. So plenty of options, but all of them not good enough to compete with larger development teams.

I've seen your website. It's really fascinating.
Unfortunately in this case only 3 of them are active contributors.
Create a #tablesaw IRC channel and promote it with a kiwiirc link (webchat).

freenode is the home of most software related channels but I prefer Rizon that I find more benevolent to newcomers.

The channel I'm always on (as example of kiwiirc url): https://kiwiirc.com/client/irc.rizon.net?channels=#/g/dpt

The biggest communities are on Freenode and OFTC compared to stuff like slack & co.

Using FLOSS services that are federated/decentralized or at least run by no profits is necessary to keep a healthy community.

I suggest Discourse too. Users can login with their Github account and you can deploy a small instance very cheaply in Digital Ocean. It's better than a chat and the content will be indexed in google quickly.
> I'm looking for an app like Discourse that is integrated with github. [...] The only 'must haves' are sign-on-with-github-account, and asynch communications.

So, Discourse? It supports OAuth logins, what you need for GH.

I might go with discourse but I can’t afford the saas version ($100/mo) and was hoping to avoid having another thing to maintain.
It's 100% open source, there's a very nice Docker-based install. You can host it yourself on AWS or Digital Ocean for very little money.

Make a free Mailgun account and put your credentials into the Discourse installer and delivery is free up to 10,000 messages.

If you’re willing to add people to your org, you can make use of the team discussions in GitHub itself. It’s like a stripped down forum and is fairly hidden in the UI, but you can get to it from your org profile (or the team page for it).
omg... I released this a few months ago...

https://www.producthunt.com/posts/elseif

without much fanfare... and I quickly moved onto another project.

That looks really nice and cleaned up, is there a GitHub URL instead? That post leads to a URL that is down.
Use Reddit! Create a public/private subreddit (whatever suits you). It's a perfect place for discussions, and you can use IFTTT to provide you with webhooks.
> It's a perfect place for discussions

Reddit is terrible for discussions. It is perfect for current, forgotten-tomorrow consumation of things.

I used to have a community that was on facebook before. What a terrible mistake it was. Besides many bad things, it is what you described. There was no way to search for anything.

Reddit isn't perfect, but it's much less intrusive than facebook and people can search for past discussions. I know it is a low bar, but then I don't have to worry about spams, registrations, etc. Plus, if I don't have time to read/deal with it today, the discussion and the person isn't gone tomorrow which chat services tend to do.

If you want serious discussion, Reddit is the worst choice.
Reddit the software seems fine. /r/rust works well enough.
Issues tagged as discussion would work, no? Many projects use the bug tracker for almost any discussion.

If you would want sth. like a mailing list, there's http://librelist.com/ .

I briefly considered Librelist, but their UI is a disaster.

To create or subscribe to list, you... send a message to the list. It's beyond me why would anyone want it like that.

I ended up using https://groups.io/ for my pet project.

Disaster is too heavy of an adjective there. You may not like it. But interacting with mailing lists using mail is common practice, possible also with mailman and majordomo, and probably with most other mailing list software. You should also be a bit nicer when talking about an open source project hosted for free for everybody.
I think some people don’t feel like it’s appropriate for asking questions. Also, you end up with a ton of open issues if you want the topics to be easy to find
There is tagging for that. Though that may end up requiring some discipline to be really effective.
There used to be messaging within GitHub. You could simply message any other user. Now you have to look at someone's profile to hope to see if they have some form of contact there.

Im not sure why they removed it - they could have extended this into more discussion and community space. They say they are social, after all.

Keybase has a github integration via browser extension. Not sure how many people on github actually use keybase, but iam a fan.
IRC channels. Accept no substitutes.
Most of the time through http://gitter.im
Gitter for dev communities, for broader communities a lot of projects also use Slack and Discord, perhaps Rocketchat.
Trello.

On another note, if i’ve ever seen a startup idea, this has to be one!

Is it not possible to just use GitHub? I mean, by creating a second repo which would be only for discussion, like tablesaw-support. I have no idea if is it again their ToS however.
A little XMPP chatroom, there's plenty of clients out there and there is a nice native Github integration (to have the PR, commits… notifications) :)
I'm surprised nobody's mentioned Google Groups, no it doesn't have any deep integration with GitHub, but plenty of very active projects hosted on GitHub and elsewhere use it, and it's a great free forum provider with an easy web UI for those that want it, and E-Mail for power-users.

Keep in mind that most of the value people get out of such forums is being able to search possibly years old posts after the fact, and something like E-Mail is much more likely to be useful in that fashion than some glorified IRC client.

The main thing I really dislike about Google Groups is that it doesn't provide any reasonable export option.

Disclaimer: I work for Discourse.

We at StackStorm now do a combination of SAAS Discourse (https://forum.stackstorm.com/) and Slack (~1200 members). Discourse allows newcomers to search for relevant issues and allows us to do async support well. With 3000 members in slack, a paid version would be unimaginable in terms of cost. Plus, even if we pay (which we do for the team itself), the search is unbelievably bad in slack. Discourse seems to be doing well for us so far. We'll know more in a few months now. BTW we also allow people to file bug reports in github. It's a lot of tooling around customer engagement and support but people like that they can hop on slack, get pointed to forum if the question they ask cannot be answered by larger community. Core engineers answer discourse questions and point people to github issues if there is a legit issue. Sometimes people ask support questions straight on github.
I'm building an OSS thing just for that; simple, built on top of GitHub, doesn't require any hosting, has Q&A...

Shoot me an email and I should be able to direct you to the repo in the next week or two.

Why do you think stack-exchange is not the right place for questions and user support ?

I'm asking because I am building a tool for tracking mentions on stack-exchange. I need your opinion. ;)

I haven’t looked in a while but I don’t believe there was a way to get notified on a mention. With a small community that would be key