These are all task-specialized forms of communication, with blurry lines between them. Here’s my understanding of what is used and in what situations.
IMPORTANT: Make sure you logout of any services if you’re using a shared computer!
Short messages, often with limited/difficult to use search/history. Stream of consciousness. There or you missed it. Great for brainstorming, organizing, and quick, specific questions. Expectations: Synchronous/real time.
Used by both developers and end users; though often separated.
Usually some way of following a given topic, or different "rooms" for longer term topics.
Slack & Discord (old skool: IRC) are the two most common systems.
Please join the MakeItZone slack (invite link) and join the
Longer discussions, more complex problems and answers, shorter how-to’s, searchable; tends to be public. Expectations: Asynchronous/time delayed.
Usually hosted on some sort of message board or forum.
More advanced forum platforms can even be used as informal wikis (group editable documents).
Discourse is a popular forum package, and we maintain our own server!
Head over to forum.makeit.zone, sign up, and find the project discussions for community sensors; see if you can "follow" them and/or add a comment.
End-user documentation, requirements, specifications, etc.
Often these are wiki pages included with the source code, dedicated web-sites, or generated using a system such as Read the Docs.
A way to share source code, preferably with a history (infinite undo) and tools to compare different versions, and merge them. Different versions could come from one person, or from multiple contributors.
One of the most popular tools in this space is
git. It was created to manage all the contributions to the Linux kernel, and has grown to a place of dominance for open source projects.
Key to it’s success are that it is de-centralized. Every copy of the repository contains all of the history of every tracked file, up to the point where it was last synced with other repositories (for the same project.) It has very robust methods of detecting and comparing changes (deltas) using cryptographic hashes.
GitHub is a private service that hosts github repositories. it is largest of several git service providers.
Although technically not required, it is convenient to have a central "master" repository to which everyone syncs.
These services all have other features such as bug tracking, feature requests, community discussions, documentation, etc.
Distant Runner Up: Email
Still useful, but often as a less reliable reminder system.
Suffers from silo’ing: hard to find out about something if you aren’t included (from the beginning.)