One of the core advantages of using GitHub as soon as possible with students is incorporating it into their personal workflow for their own projects and contributions. Recently the question of CLA signing came up. GitHub rightfully encourages project owners to include a CONTRIBUTING.md file and will automatically link to it if present when others submit PRs. This begs the question, can any student who has not reached the “age of majority” in their country even sign a CLA in a way that would be recognized by court? I am pretty sure the answer is no. If so, most CLA assistant services out there are insufficient because they do not ask for the contributor to enter their exact birthday along with the digital signing.
This topic is extremely relevant to my students who are very anxious to jump in and offer contributions to open source projects of all kinds including our own. We have added a module called “Social Coding” that introduces the idea of open source, GitHub, and working in teams.
Love to hear feedback from everyone on this idea.
Please note that a CONTRIBUTING.md is not the same as a Contributor License Agreement. Though for the tiny faction of projects with a CLA, most will mention it in their CONTRIBUTING.md.
I’ve checked with our legal team, and they told me that unfortunately their ethics rules do not allow them to provide you with legal advice in this situation. However, my understanding is that this is a rather complicated area of law because it is covered by many different rules, even within the US, and certainly in different countries. Your best bet would be to check with a lawyer yourself. I wish we could be of more help.
Just a follow up on this. We have, unfortunately, decided to abandon use of GitHub for our courses other than specialty courses for those over 13 to introduce them to it and use it further. Before the terms re-clarification we had assumed a lighter position from GitHub on the whole under 13 thing (much like Google) such that parents could create accounts and share them with their children until they were old enough to have their own. The GitHub terms very clearly spell out that everyone gets two accounts maximum, one for regular use, one for ‘bot’ use. This effectively forbids parents from letting any of their children use their account.
In short, while we use GitHub a lot for our school IT code, we practically do not use it at all for students since the majority of our students are 9-13.
This decision was a very hard one. All our work on using GitHub classrooms with Workbook/Textbook approach has been abandoned and we have built our own system internally that uses nothing but the terminal and vi, which I ended up loving much more. Our students do zero context switching when doing their challenges, reading about them, and writing the code—even checking scoreboards and all remains entirely on the terminal. Only web students use their web browser. Turns out this use of ~/www for their web site is also much clearner for web courses, which had us training students how to use GitHub to create their site before. In all I am happy about the move overall and am glad this was clarified before we had implemented more of our Distributed LMS based on GitHub.
That said, we still really love GitHub.
And a follow up to the follow up:
For the last six months we have focused mostly on those 13 and up and provided a pilot, private GitLab setup here for those under 13 (which we have ultimately decided against for reasons explained below).
We have decided to use Teams to manage accounts of those over 13 to grant access to our online learning materials while enrolled and allow only parents to access the site for those SkilStak members who are under 13. Parents are expressly told not to allow their under 13 child to use their account (per the terms) but are allowed to upload content their child has created into their own account.
This solution, while more of a logistical hassle actually accomplishes several goals:
- Fully meets the letter and spirit of COPPA
- Allows child’s content to be hosted on GitHub albeit indirectly (sites, games, etc)
- Ensures parents know everything being created by their child
- Promotes responsible content and code creation in those under 13
- Fosters a learning relationship between parent and child
- Educates the parent in GitHub
- Does not penalize those over 13
- Creates a feeling of anticipation in children to reach 13th birthday
- Allows parents to access, read, and sometimes translate our learning content for their child
- Removes the additional setup and maintenance of a GitLab server #serverless
We also give everyone the option of doing all their work from a USB stick with a copy of their work on local lab machines as well to serve as a rudimentary backup. If a parent is unwilling or unable to be involved this much the child simply must be content to maintain everything on a local USB stick only.
For other educators out there I should mention that we have given in decided to use REPL.it as an option (normally we use only professional tools and services to learn, VSCode, Atom, Git, etc.). I still find it frustrating that REPL.it does not support the latest Node.
Anyway, thought I would check in and help others decipher their own solutions for the under 13 conundrum. I welcome suggestions and feedback—especially if any of this places me/us in danger of violation of any terms as I understand them (and boy have I read them a lot).
@robmuh piping in here to let you know that GitHub Enterprise Server is now free as part of the GitHub Campus Program