# OCaml Discord Server

**URL:** <https://discuss.ocaml.org/t/ocaml-discord-server/1884>\
**Category:** Community\
**Tags:** discord, chat\
**Created:** [April 19, 2018, 5:09pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884 "2018-04-19T17:09:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bluddy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/bluddy/32/104_2.png) [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Post date:** [April 19, 2018, 5:09pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/1 "2018-04-19T17:09:35Z")

</div>

Hey guys

Just wanted to let you know that after asking for permission, we’ve created an experimental Discord server for OCaml real-time discussions. [Use this link to join.](https://discord.gg/cCYQbqN)

Discord is becoming an extremely popular venue for online discussions, and our sister community ReasonML uses it quite regularly. We therefore thought it would be a good idea to at least try it out, and see what it allows for in terms of community development.

One of the attractive features of Discord is that it allows for rooms within the channel for isolated discussions. For example, ReasonML’s Discord server has rooms titled ‘look what i built’, ‘events and meetups’, and ‘bikeshedding’, among others. Rooms are cheap to create and obviously help focus discussions. We’d love some input on what kinds of rooms you’d like to see in the OCaml server. If you need a particular room for your project, please let us know.

Discord also supports the now-common web 2.0 upvotes and emoticons, reducing the amount of in-band communication needed.

Another nice feature of Discord is its ability to facilitate voice conversations if those are needed between members.

And of course, once you’re in the OCaml server, switching to ReasonML to say hi or answer questions is trivial.

Assuming that this server is a success, we can also consider running a bridge between the IRC channel and the Discord server. This would require creating a bot running on one of our OCaml machines, but is fairly trivial to do.

---

<div class="post-metadata">

**Author:** ![grayswandyr](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/grayswandyr/32/94_2.png) [@grayswandyr](https://discuss.ocaml.org/u/grayswandyr)\
**Post date:** [April 19, 2018, 5:50pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/2 "2018-04-19T17:50:29Z")

</div>

I suppose Discord is nice… Unfortunately it is blocked by security policies in some institutions, including mine, and there’s no chance for me to be able to have this policy changed. ☹

More generally, I must admit I am a bit sad to see that proprietary solutions are gaining so much traction in our communities.

---

<div class="post-metadata">

**Author:** ![Drup](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/drup/32/35_2.png) [@Drup](https://discuss.ocaml.org/u/Drup)\
**Post date:** [April 19, 2018, 5:52pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/3 "2018-04-19T17:52:07Z")

</div>

Putting philosophical debates about non-foss IM protocols aside, the problems I have with discord are:

- Yet Another Web Client. I want all my IM concentrated in one client and I _hate_ web clients. A lot of people that currently animate the IRC channel are like me. Apparently, Discord doesn’t even support bridges at the moment, which is absurd.
- Redundant communication channels that splits an already small and fragmented community.

In this context:

> [@bluddy](#):
>
> Assuming that this server is a success, we can also consider running a bridge between the IRC channel and the Discord server. This would require creating a bot running on one of our OCaml machines, but is fairly trivial to do.

If this is done correctly (i.e., in an almost transparent fashion), this would go a long way towards solving my issues.

---

<div class="post-metadata">

**Author:** ![Drup](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/drup/32/35_2.png) [@Drup](https://discuss.ocaml.org/u/Drup)\
**Post date:** [April 19, 2018, 5:53pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/4 "2018-04-19T17:53:15Z")

</div>

Also, did you consider [mattermost](https://www.mattermost.org/about/) ? It’s like discord/slack but open source and it supports bridges.

---

<div class="post-metadata">

**Author:** ![bluddy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/bluddy/32/104_2.png) [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Post date:** [April 19, 2018, 7:17pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/5 "2018-04-19T19:17:33Z")

</div>

> [@grayswandyr](#):
>
> Unfortunately it is blocked by security policies in some institutions, including mine, and there’s no chance for me to be able to have this policy changed.

Sorry about that. You should be able to use the phone-based client. Should be ok unless you’re in a government-based institution that prohibits phones.

> [@grayswandyr](#):
>
> More generally, I must admit I am a bit sad to see that proprietary solutions are gaining so much traction in our communities.

I don’t disagree about that. From my perspective, this is partly driven by ReasonML’s previous decision, and partly by the fact that this is where users go nowadays (which probably also motivated Reason’s decision).

---

<div class="post-metadata">

**Author:** ![grayswandyr](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/grayswandyr/32/94_2.png) [@grayswandyr](https://discuss.ocaml.org/u/grayswandyr)\
**Post date:** [April 19, 2018, 7:37pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/6 "2018-04-19T19:37:20Z")

</div>

Thank for sympathizing 🙂 Anyway I don’t want to enter into too many details about the problems I encounter on my side, I rather wanted to stress that it may not be obvious that such new services may be allowed or usable for many people.

Besides, there is a price to pay that I find hard to accept from an ethical point of view, all the more for a language that stems from the scientific community. If you read the terms and conditions of Discord, you can see that there are very serious problems (I will gloss over granting Discord a license on all I write, Discord having to apply the DMCA, etc.): in particular, people from some countries may be forbidden to connect to Discord, due to US export laws. Seriously? Do we agree for fellow researchers, engineers, etc. fans of OCaml, to be excluded from discussion about our favorite language just because they were born in this or that country, and all this for us to enjoy a slick chat interface?

---

<div class="post-metadata">

**Author:** ![bluddy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/bluddy/32/104_2.png) [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Post date:** [April 19, 2018, 7:52pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/7 "2018-04-19T19:52:39Z")

</div>

> [@Drup](#):
>
> Yet Another Web Client

Yes. But that’s basically the reality most of us are facing today already. I have Discord for ReasonML and a gaming community, Slack for my research groups, riot.im for OCaml IRC. It helps, in my experience, to get the desktop clients rather than using up browser tabs I’ll never find again. Plus, OCamlers should already be on Reason’s Discord anyway, so effectively it’s not another client – they already made the choice.

> [@Drup](#):
>
> Redundant communication channels that splits an already small and fragmented community.

That’s one side of it. The other is that we need to get more people into the language, and this may be a good way of doing that. Let’s be open to the possibilities. For the record, this wasn’t my idea, but I think it’s worth trying out.

> [@Drup](#):
>
> Also, did you consider mattermost ?

It’s self-hosted, which pretty much kills any chance that it’d be up in a reasonable timeframe, since any action will require heavy debate, encounter resistance etc. We actually have what I think is a pretty good solution in riot.im. riot.im is what provides our easy guest connection to IRC today, and if more people moved over from IRC to riot.im itself, we’d have more integrated features available as part of the chat. Regardless, I still view this as a worthwhile experiment, and at the very least, a way to connect more to Reasoners.

---

<div class="post-metadata">

**Author:** ![wokalski](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/wokalski/32/38_2.png) [@wokalski](https://discuss.ocaml.org/u/wokalski)\
**Post date:** [April 19, 2018, 7:58pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/8 "2018-04-19T19:58:40Z")

</div>

@Drup I was pitching to set up the discord server. It was mainly motivated by the fact that there’s a reason one.

Regarding fragmentation, I think it’s a good thing. Discord, if it draws more beginners, is going to be pretty noisy and I think the community you have on IRC could see a significant drop in the quality of messages so to speak. It’s a bit brutal way to put it but I really believe so.

---

<div class="post-metadata">

**Author:** ![Drup](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/drup/32/35_2.png) [@Drup](https://discuss.ocaml.org/u/Drup)\
**Post date:** [April 19, 2018, 8:17pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/9 "2018-04-19T20:17:26Z")

</div>

> [@bluddy](#):
>
> We actually have what I think is a pretty good solution in riot.im.

I suppose `riot.im` is a matrix-based solution ? Why not pich _that_ instead of discord then ? Matrix has many bridges, is FOSS and does not suffer most of the shortcomming of discord, at least in the eyes of grumpy people like me (and @grayswandyr), while still offering a fresh interface for newcommers.

---

<div class="post-metadata">

**Author:** ![Haudegen](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/haudegen/32/716_2.png) [@Haudegen](https://discuss.ocaml.org/u/Haudegen)\
**Post date:** [April 19, 2018, 9:30pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/10 "2018-04-19T21:30:50Z")

</div>

+1 for Riot / Matrix.

---

<div class="post-metadata">

**Author:** ![mars0i](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/mars0i/32/1058_2.png) [@mars0i](https://discuss.ocaml.org/u/mars0i)\
**Post date:** [April 19, 2018, 11:59pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/11 "2018-04-19T23:59:09Z")

</div>

Thanks for doing this @bluddy. Seems like a good idea to me, on the whole.

There is already an OCaml room in the ReasonML server, as well as a Bucklescript room, so it’s not only Reason over there. Maybe this will confuse someone, but I can see value in having a separate OCaml server.

---

<div class="post-metadata">

**Author:** ![brab](https://avatars.discourse-cdn.com/v4/letter/b/839c29/32.png) [@brab](https://discuss.ocaml.org/u/brab)\
**Post date:** [April 20, 2018, 6:56am UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/12 "2018-04-20T06:56:20Z")

</div>

There are instances available for free, such as [https://framateam.org/](https://framateam.org/)

Best,

Alan

---

<div class="post-metadata">

**Author:** ![Kakadu](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/kakadu/32/1204_2.png) [@Kakadu](https://discuss.ocaml.org/u/Kakadu)\
**Post date:** [April 20, 2018, 12:05pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/13 "2018-04-20T12:05:44Z")

</div>

> Yet Another Web Client. I want all my IM concentrated in one client and I hate web clients.

I found a desktop client [https://dl.discordapp.net/apps/linux/0.0.4/discord-0.0.4.tar.gz](https://dl.discordapp.net/apps/linux/0.0.4/discord-0.0.4.tar.gz) !

---

<div class="post-metadata">

**Author:** ![bluddy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/bluddy/32/104_2.png) [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Post date:** [April 23, 2018, 5:34pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/14 "2018-04-23T17:34:18Z")

</div>

I’m looking into creating a bridge of the Discord server to matrix/riot.im. They’ve recently tried catching up with slack/discord in terms of having multiple rooms, which means we can have the popularity of Discord with the FOSS-ness of matrix, for those who prefer that.

Unfortunately, it looks like their Community feature (analog of Server in discord) is currently a mess. Somebody is apparently sitting on the OCaml community name, and there’s no visible way to join that community. The client in general seems to suffer from bugginess, which isn’t the case for discord or slack.

Also, if anyone would like a discord room under the OCaml server to facilitate their discussions, please post a request – we’re happy to add whatever room you want.

---

<div class="post-metadata">

**Author:** ![ncthbrt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ncthbrt/32/745_2.png) [@ncthbrt](https://discuss.ocaml.org/u/ncthbrt)\
**Post date:** [April 23, 2018, 10:37pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/15 "2018-04-23T22:37:01Z")

</div>

Thanks for setting up the discord @bluddy. I personally haven’t ever seriously used IRC: when I’ve tried, haven’t really kept engaged with it for long; it isn’t the most approachable medium. I understand the worries about it being a private company, but Discord is quite user friendly: which makes it more amenable to growing and diverse communities.

---

<div class="post-metadata">

**Author:** ![grayswandyr](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/grayswandyr/32/94_2.png) [@grayswandyr](https://discuss.ocaml.org/u/grayswandyr)\
**Post date:** [April 24, 2018, 8:08am UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/16 "2018-04-24T08:08:03Z")

</div>

I fail to see how you can “grow a diverse community” when the service imposes an **enclosure** (you can’t even have **read access** unless you comply with Discord terms of service; some countries are purely excluded from access; the non-web apps is AFAIK proprietary software) which goes absolutely against the open nature of the classic web. This is not about grumpiness or being fond of less user-friendly tools like IRC or being a radical liberal or being against private companies, this is about giving **everlasting, uniform, non-committing, open access to all**. Any user-friendly service that provides with this is OK.

---

<div class="post-metadata">

**Author:** ![ncthbrt](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ncthbrt/32/745_2.png) [@ncthbrt](https://discuss.ocaml.org/u/ncthbrt)\
**Post date:** [April 24, 2018, 9:08am UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/17 "2018-04-24T09:08:48Z")

</div>

Fair point @grayswandyr. The user friendliness is the most important factor. An additional concern however is maintenance: if you go with self hosted, someone has to ensure that the server is up to date, vulnerabilities are patched and databases backed up. This is a lot to ask of someone, and that energy could be served elsewhere. Haven’t used matrix/riot, but if all of those factors are covered, then that’s perfect.

I feel everlasting is a bit of a strong requirement though: communities and community preferences evolve and change. Trying to choose a communications platform based on the criteria that it be everlasting means you’re potentially constraining your future audience. I feel it should be good enough to solve community communications now with the knowledge that this might not solve communication problems in the future.

---

<div class="post-metadata">

**Author:** ![grayswandyr](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/grayswandyr/32/94_2.png) [@grayswandyr](https://discuss.ocaml.org/u/grayswandyr)\
**Post date:** [April 24, 2018, 10:31am UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/18 "2018-04-24T10:31:23Z")

</div>

I haven’t talked about self hosting. Some hosting platforms provide such services.

By “everlasting”, I mean that we should be able to keep archives of such discussions in a format suitable for searching (at least). The OCaml mailing-list archives dates back from 1992. @whitequark has taken care of archiving the OCaml IRC channel for a long time. I hope we can do the same with tools from 2018.

---

<div class="post-metadata">

**Author:** ![reynir](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/reynir/32/6496_2.png) [@reynir](https://discuss.ocaml.org/u/reynir)\
**Post date:** [April 26, 2018, 8:34am UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/19 "2018-04-26T08:34:06Z")

</div>

I was curious so I checked. Whitequarks logs go back to 2001-12-17.

---

<div class="post-metadata">

**Author:** ![bluddy](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/bluddy/32/104_2.png) [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Post date:** [May 3, 2018, 4:24pm UTC](https://discuss.ocaml.org/t/ocaml-discord-server/1884/20 "2018-05-03T16:24:54Z")

</div>

FYI we just added a discord-IRC bridge in the #IRC channel of discord. It’s not perfect, but it helps connect the community somewhat.

[Next page](https://discuss.ocaml.org/t/ocaml-discord-server/1884.md?page=2)
