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→
|Elm Web Development
|Linux and Ansible
|Python BDD Testing
|Git and GitLab
|A+ Written English
- 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
Skills, with links for learning more
- Elm Web Development
- Linux and Ansible
- Cloud APIs
- Python BDD (Behavior-Driven Development) Testing
- Interaction Design
- Git and GitLab
- A+ Written English
- This includes:
- In a user interface, the ability to write text that does not contain obvious mistakes or confuse the reader.
- In documentation, the ability to communicate technical concepts succinctly, with an awareness of the likely audience.
- Consistent use of grammar, punctuation, and capitalization.
- The Elements of Style
- Subject-verb agreement
- UX Writing Guide | PatternFly
- This includes:
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
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 merge, and
- 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