Short Answer
1) Please expand each of the following acronyms (1 pt each):
1.1) IRC - Internet Relay Chat
1.2) FOSS - Free and Open Source Software
1.3) OLPC - One Laptop Per Child
1.4) PR - Pull Request
(Please use the expansion most appropriate to the class.)
Bonus: Give the expansion for the acronym GNU. (1 pt)
GNU - GNU Not Unix
2) What is the name of the version control system we use in this course? (1 pt)
Git.
Bonus: Give the name for another version control system. (1 pt)
Mercurial
3) Please give the one-word name for the interface used in the OLPC computers & our VMs? (1 pt)
Sugar.
4) Bonus: What is the short, two-letter name for the OLPC computers for which this desktop software was first developed? (1 pt)
XO.
5) We refer to sites that host source code as “forges”. What is the name of the primary forge used in this course? (1 pt)
GitLab.
6) Bonus: Name the other forge we have used? (1 pt)
GitHub.
7) Bonus: Name another forge, one we have not used for this course. (1 pt)
BitBucket.
Multiple choice
8) The GitHub-specific term to describe the process in which, starting from one repository hosted at GitHub, one creates another repository, also hosted at GitHub, but under the control of a different user account. (1 pt)
d) fork
9) A collection of related commit objects (1 pt)
a) repository
10) A separate, but related, repository from which one may fetch or pull changes into one’s own working copy, and to which one possibly has permission to push changes. (1 pt)
c) remote
11) The general term in git for making an exact, working copy of another repository in which changes can be tracked separately between the two versions. (1 pt)
d) fork
12) A namespace in which one can track changes to a set of files within a given repository. This term applies both to the action and to the result of the action. Comparisons (‘diffs’ or patches) can be made between different such namespaces. (1 pt)
b) branch
13) Consider the following (+1 for each correct, -1 for each incorrect):
a) e59b627
b) 451.867
c) dca_079
d) 9539807
e) DB6A60A
f) 614@1d4
g) be34fb47c60d
Looking just at the string of non-space characters to the right of the close-parenthesis …
List which of these could be a valid commit identifier?
Choices (a), (e), and (g).
14) We’ve discussed “the four R’s” as a shorthand for the freedoms attached to software for it to be considered “free” or “open source”.
List or describe each. (eg, if you can remember the “r” word you can just give that. If you cannot remember the term, but can describe the freedom involved, that also counts).
Various “r” words are roughly synonymous for some of the freedoms, but we’re counting freedoms here, not synonyms so if you give two (or more) terms for the same freedom, it only counts once. For the purposes of this quiz, “remix” does not count as describing any of them. (2 pt each)
10.1) Run
10.2) Read
10.3) Repair
10.4) Redistribute