July 15, 2020

Clojure community - getting help

clojure logo

A guide to getting help from the Clojure community. There are several ways you can get help so you can use which you find more valuable and rewarding. The most active tools include:

  • ask.clojure.org - official forum with the Clojure maintainers, help shape the development of Clojure
  • Clojurian Slack community - very active community chat for immediate / shot term discussions
  • Clojurians Zulip - active community chat with topic-based threading and full history, strong data science community and archive of most slack channels
  • ClojureVerse - community forum for friendly short to long-term discussions
  • New Clojurians: Ask Anything - simple web based threaded discussions

General website such as redit/clojure are useful ways for the Clojure community to reach out to the more general development community.

Hundreds of Clojure related videos are available on Clojure.tv, the London Clojurians community and Practicalli YouTube channels.

ask.clojure.org

An official place to ask questions about Clojure, ClojureScript, ClojureCLR, Clojure contrib libraries and any other Clojure topic. This forum is used by the Clojure maintainer team and so discussions can shape the direction of Clojure.

ask.clojure.org front page

Questions must have one or more of the fixed categories, enabling discussions to be simpler to find and engage with. Questions can also have tags which are an extensible set of attributes, with several special tags

  • problem - problem in the language or library
  • request - request for enhancement in the language or library
  • jira - a jira ticket has been raised for development, Jira link included in an answer

An account is required to ask questions, using GitHub authentication. Once logged in, click the user name in the upper right corner and add an email address if notifications are required.

Account holders may vote on both questions and answers. Votes are used to inform decisions about future releases of Clojure, ClojureScript, libraries, etc.

The @AskClojure twitter account tweets new questions posted to the ask.clojure.org forum on its feed, providing another channel to keep track of discussions.

Clojurians Slack channels

clojurians.net provides a self-service way to sign up to the Clojurians slack community, which contains many channels where you can get help. The community is very active with a relatively quick response time in the most popular channels, especially #beginners.

Discussions are only visible for a few days as the community uses the free Slack plan, there is no way to scroll back through history in Slack once its archived. A community log of the discussions is provided by the ClojureVerse team and many channels are mirrored by the Clojurians Zulip community.

Channels of note include:

  • #beginners - channel for help on most topics to do with Clojure, occasionally re-directed to focused channels
  • #announcements - occasional project / library announcements only. Use a threaded reply or jump to specific topic channel for follow-on discussions.
  • #news-and-articles - published content related to Clojure development, basically everything that is not a project/library announcement
  • #events taking place around the world, from meetups to conferences and anything in-between
  • #jobs #remote-jobs for posting legitimate job vacancies (and their location), with #jobs-discuss for experiences and advice on finding, getting and doing a job with Clojure
  • #spacemacs #calva #chlorine - editor specific channel with questions about using those tools, customising and developing features
  • #cider #clj-kondo #figwheel-main #kaocha - Clojure tooling discussions (there are many more)
  • #clojuredesign-podcast #defnpodcast #practicalli - supporting live and recorded broadcasts
  • #admin-announcements - messages from the administrators of the Clojurians Slack channel
  • #community-development community growth & support, reporting code of conduct breaches to the administrators

All discussions in Slack are bound by the Clojurians community code of conduct

Post only in one specific channel rather than potentially spamming other channels. If there are valid exceptions, then use a short summary or link to the original post or delete the original post and add it to another channel.

Clojurians Zulip

Discussions history is easier to follow in the Clojurians Zulip than in Slack, especially where discussions take place over time, thanks to the Zulip topic-based threading. Slack does have discussion threading, but this is often not used as conversation don't last in Slack.

Zulip - topic-based threading

The Clojurians Zulip is very actively used, although not yet quite as busy as Slack. There is a strong data science community on Zulip and is also used for SciCoj hackathons and other (virtual) events. It would be great to see more Clojurians using Zulip either via the website or the excellent Zulip app.

Discussions in Clojurians Zulip are also available indefinitely, whereas Slack conversations are only visible for a few days. If a zulipchat bot has been added to a channel in the Clojurians Slack, that channel discussion history is available as a full-text-searchable archive. To search the history of the #beginners channel, use / to start a search and use the query:

stream:slack-archive topic:beginners

An account is required and authentication is via GitHub, GitLab, Google or username/password.

ClojureVerse

A Clojure community forum that is enjoyable to use with a rich user interface (topics, participant icons, etc.). Responses may not be as immediate as Slack, however, it is far easier to track discussions as they evolve and review past discussions.

All the usual forum features are available and direct and private messages can be sent between user accounts.

Clojureverse front page

Tags: clojure community help