Most or many of Creative Commons' projects require a working knowledge of these foundational technologies.
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:
Slack is currently our primary channel for chat and lower latency communication.
For more information, see Join the CC Developer Community.
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.
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.
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 (/ɡɪ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.
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:
sudo apt-get install git
Thankfully GitHub's documentation is relatively robust. Please see:
For some specifics on how we use GitHub, please see the following information on this site:
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.
Our projects use Docker Compose | Docker Docs.
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.