Skip to content

Commit 873624d

Browse files
committed
add foundational tech page
1 parent 4c7194e commit 873624d

File tree

1 file changed

+170
-0
lines changed

1 file changed

+170
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
_model: page
2+
---
3+
_template: page-with-toc.html
4+
---
5+
title: Foundational technologies
6+
---
7+
description: Most or many of Creative Commons' projects require a working
8+
knowledge of these foundational technologies.
9+
---
10+
body:
11+
12+
13+
## Step zero
14+
15+
Welcome to Creative Commons (CC) software development! We are glad you are
16+
here ❤️
17+
18+
Before engaging with our projects, please ensure you have a working knowledge
19+
of the following technologies:
20+
1. Slack
21+
2. Command line interface (CLI)
22+
3. GitHub and git
23+
4. Docker
24+
25+
26+
## Slack
27+
28+
Slack is currently our primary channel for chat and lower latency communication.
29+
30+
For more information, see [Join the CC Developer Community](/community/).
31+
32+
33+
## Command line interface (CLI)
34+
35+
Often shortened to just "command line" or referred to as the "console" or
36+
"terminal", the command line interface (CLI) is where quite a bit of software
37+
development work happens
38+
39+
40+
### Getting started with the CLI
41+
42+
- [Terminal Tutor – learn the Command Line interactively][terminal-tutor]
43+
44+
[terminal-tutor]: https://www.terminaltutor.com/
45+
46+
47+
## GitHub and git
48+
49+
All of our projects require a working knowledge of GitHub. It is our primary
50+
repository for code and we utilize many of the sites features for managing
51+
code and higher latency communication.
52+
53+
[Git - Wikipedia](https://en.wikipedia.org/wiki/Git):
54+
> Git (/ɡɪt/) is a distributed version control system that tracks
55+
> versions of files. It is often used to control source code by programmers who
56+
> are developing software collaboratively.
57+
58+
59+
### Installing GitHub
60+
61+
As a web service, GitHub doesn't require any installation. However, once you
62+
become more familiar with it, you may benefit from installing the GitHub
63+
command line utility:
64+
- [GitHub CLI | Take GitHub to the command line](https://cli.github.com/)
65+
66+
67+
### Installing git
68+
69+
- **Linux:** Git is optimally installed using your distribution's package
70+
manager. See [Git- Download for Linux and Unix][linux-git] for a wide range
71+
of popular distros.
72+
- **macOS:** Mac users can install Git using these instructions: [Git -
73+
Installing Git - Installing on macOS][macos-git]
74+
- **Windows:**
75+
- You must use Windows 10 or 11 with Windows Subsystem for Linux (WSL2). For
76+
installation instructions: see [Install WSL | Microsoft Learn][wsl2].
77+
- Git should be installed within WSL2, using the appropriate Linux
78+
installation method. For WSL2 Ubuntu, the command is:
79+
```shell
80+
sudo apt-get install git
81+
```
82+
83+
[linux-git]: https://git-scm.com/download/linux
84+
[macos-git]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git#_installing_on_macos
85+
[wsl2]: https://docs.microsoft.com/en-us/windows/wsl/install
86+
87+
88+
### Getting started with GitHub and Git
89+
90+
Thankfully GitHub's documentation is relatively robust. Please see:
91+
- [Get started with GitHub documentation - GitHub Docs][github-start]
92+
- [GitHub flow - GitHub Docs][github-flow]
93+
- [GitHub Training Manual][github-training]
94+
95+
[github-start]: https://docs.github.com/en/get-started
96+
[github-flow]: https://docs.github.com/en/get-started/using-github/github-flow
97+
[github-training]: https://githubtraining.github.io/training-manual/#/
98+
99+
100+
### CC specifics for GitHub
101+
102+
For some specifics on how we use GitHub, please see the following information
103+
on this site:
104+
- [Pull Request Guidelines — Creative Commons Open Source][ccos-prs]
105+
- [GitHub Repo Guidelines — Creative Commons Open Source][ccos-repos]
106+
- [Repository Labels — Creative Commons Open Source][ccos-labels]
107+
108+
[ccos-prs]: /contributing-code/pr-guidelines/
109+
[ccos-repos]: /contributing-code/github-repo-guidelines/
110+
[ccos-labels]: /contributing-code/repo-labels/
111+
112+
113+
## Docker
114+
115+
[Docker (software) - Wikipedia][wikipedia-docker]:
116+
> Docker is a set of platform as a service (PaaS) products that use OS-level
117+
> virtualization to deliver software in packages called containers. [...]
118+
>
119+
> Docker is a tool that is used to automate the deployment of applications in
120+
> lightweight containers so that applications can work efficiently in different
121+
> environments in isolation.
122+
123+
[wikipedia-docker]: https://en.wikipedia.org/wiki/Docker_(software)
124+
125+
126+
### Installing Docker
127+
128+
- **Linux:** Both Docker Desktop and Docker Engine are separately supported on
129+
Linux. Both include the required Compose command plugin, but Docker Engine is
130+
typically much easier to install:
131+
- _Recommended:_ See [Install Docker Engine | Docker
132+
Docs][linux-docker-engine] for links to installation instructions for
133+
Docker Engine and Compose for various Linux distributions.
134+
- See [Install Docker Desktop on Linux | Docker Docs][linux-docker-desktop]
135+
for links to instructions for the graphical desktop app that includes the
136+
commandline interface and Compose
137+
- **macOS:** Docker Desktop can be installed using these instructions: [Install
138+
Docker Desktop on Mac | Docker Docs][macos-docker].
139+
- **Windows:** Docker Desktop should be installed on Windows itself and
140+
integrated with Windows Subsystem for Linux (WSL2) as explained in [Docker
141+
Desktop WSL 2 backend on Windows | Docker Docs][windows-docker]. Unlike Git,
142+
you should not install Docker within your WSL2 environment. For installation
143+
instructions: see [Install WSL | Microsoft Learn][wsl2].
144+
145+
[linux-docker-engine]: https://docs.docker.com/engine/install
146+
[linux-docker-desktop]: https://docs.docker.com/desktop/install/linux-install
147+
[macos-docker]: https://docs.docker.com/desktop/install/mac-install
148+
[windows-docker]: https://docs.docker.com/desktop/windows/wsl
149+
[wsl2]: https://docs.microsoft.com/en-us/windows/wsl/install
150+
151+
152+
### Getting started with Docker
153+
154+
- [A Docker Tutorial for Beginners][docker-tutorial]
155+
156+
[docker-tutorial]: https://docker-curriculum.com/
157+
158+
159+
### Docker compose
160+
161+
Our projects use [Docker Compose | Docker Docs][docker-compose].
162+
163+
[docker-compose]: https://docs.docker.com/compose/
164+
165+
166+
## Next steps
167+
168+
We have added a lot of documentation (ex. language guides) and tooling (issue
169+
finder) to this site that cover frequently asked questions and confusions.
170+
Please explore this site and reach out on Slack for additional assistance.

0 commit comments

Comments
 (0)