Foundational technologies

Most or many of Creative Commons' projects require a working knowledge of these foundational technologies.

Step zero

Welcome to Creative Commons (CC) software development! We are glad you are here! ❤️

Before engaging with our projects, please ensure you have a working knowledge of the following technologies:

  1. Slack
  2. Command line interface (CLI)
  3. Code editor
  4. GitHub and git
  5. Docker

Slack

Slack is currently our primary channel for chat and lower latency communication.

For more information, see Join the CC Developer Community.

Command line interface (CLI)

Often shortened to just "command line" or referred to as the "console" or "terminal", the command line interface (CLI) is where quite a bit of software development work happens.

Getting started with the CLI

Code editor

A code editor or integrated development environment (IDE) provides strong support for software development. Which one you use is up to personal preference. The two editors used by the Technology team are currently Visual Studio Code (recommended) and Vim.

Visual Studio Code

Vim

GitHub and git

All of our projects require a working knowledge of GitHub. It is our primary repository for code and we utilize many of the sites features for managing code and higher latency communication.

Git - Wikipedia:

Git (/ɡɪt/) is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.

Installing GitHub

As a web service, GitHub doesn't require any installation. However, once you become more familiar with it, you may benefit from installing the GitHub command line utility:

Installing git

  • Linux: Git is optimally installed using your distribution's package manager. See Git- Download for Linux and Unix for a wide range of popular distros.
  • macOS: Mac users can install Git using these instructions: Git - Installing Git - Installing on macOS
  • Windows:
    • You must use Windows 10 or 11 with Windows Subsystem for Linux (WSL2). For installation instructions: see Install WSL | Microsoft Learn.
    • Git should be installed within WSL2, using the appropriate Linux installation method. For WSL2 Ubuntu, the command is:
      sudo apt-get install git
      

Getting started with GitHub and Git

Thankfully GitHub's documentation is relatively robust. Please see:

CC specifics for GitHub

For some specifics on how we use GitHub, please see the following information on this site:

Docker

Docker (software) - Wikipedia:

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. [...]

Docker is a tool that is used to automate the deployment of applications in lightweight containers so that applications can work efficiently in different environments in isolation.

Installing Docker

Getting started with Docker

Docker compose

Our projects use Docker Compose | Docker Docs.

Next steps

We have added a lot of documentation (ex. language guides) and tooling (issue finder) to this site that cover frequently asked questions and confusions. Please explore this site and reach out on Slack for additional assistance.