Exosphere Contributor Skills

You don't need all the skills mentioned below to start contributing to Exosphere. We aim to create a welcoming environment where people can learn by doing.

Areas of Exosphere with Relevant Skills

Skill↓ | Area→ User interface Instance configuration OpenStack interactions Browser tests Documentation
Elm Web Development Essential Optional Essential Optional
Linux and Ansible Essential Optional Optional
Cloud APIs Optional Optional Essential Optional
Python BDD Testing Recommended
Interaction Design Recommended
Git and GitLab Essential Essential Essential Essential Optional
Markdown Essential
A+ Written English Essential Optional Optional Recommended Essential


  • Essential: Must learn to contribute effectively
  • Recommended: Can get started without but may need later
  • Optional: Could be helpful some of the time
  • (Blank): Not applicable

On Git Skills

Git is an advanced version control system, so there are different levels of git skill.

To make your first Exosphere contribution, you only need basic familiarity with the clone, switch, add, commit, and push commands. Our quick start section shows each git command to run. This is about the same skill level you'd need to host a small personal project on GitHub.

To work collaboratively on major changes to Exosphere's codebase, or to become a project maintainer, you will need deeper git knowledge. This includes knowing, at least roughly:

  • How to write effective commit messages
  • How to structure and order commits so that code reviewers can follow a multi-commit change
  • How to manage multiple git remotes (one for each colleague)
  • The difference between git fetch, git merge, and git pull
  • The difference between a fast-forward merge and a two-parent merge
  • How to rebase changes
  • What merge conflicts are, and how to resolve them
  • Optional but helpful, Git's basic data structure