Git for teachers
Ben Werdmuller

flickr photo by Bernie Goldbach shared under a Creative Commons (BY-NC-ND) license

Educators, GitHub, and the Future of Open Ed

I came to GitHub kicking and screaming. It was not, as you note a place designed for educators. Github was home to the technorati, the elite of the new economy. A place for those who thought Markdown could end world hunger and climate change. It was not a place for educators.

Then Mozilla transitioned from the hodge-podge of tools the community used, IRC, Google Groups, 17,431 wikis and moved us over to GitHub. As a non-technical contributor I had a choice:

Learn Github or stop contributing. I chose the first option. Sadly many contributors I know did not or could not adapt to workflow.

It has taken me a year to get somewhat comfortable with GitHub. In fact the day that Ben Werdmuller posted this article I was asking on Telegram:

I explicitly state, as Ben mentions, that I will avoid the command line at all cost. I tried using command line for GitHub and ended up with different versions on my home computer, my laptop and my work computer. Usually what I tried just did not work.

For me and GitHub the cloud makes sense. I had some experience with command line. You had to use it if your were pushing nightlies on Android back in the day. Yet I hated the command line then and I hate it now. Especially with GitHub. I will follow directions to the T and still get conflicts or stare at my command line and files watching nothing happen.

Then GitHub made the changes to the web interface that made me see the huge potential for educators. Now that you can easily add and edit files from the web interface I think many of Ben’s worries are alleviated…except the discourses of programmers (branch, merge, pull request, fork, commit).

I felt the time was right to recommend GitHub to educators.

Git doesn’t work well without the command line. Apps are available, but they only cover a subset of the functionality, and I’ll inevitably find myself on the console. Developers spend half their lives on a bash prompt. In a lot of ways it’s like using a computer in 1989. There shouldn’t be a need for anyone else to subject themselves to this.

It does now. I can do pretty much everything I need without every leaving the web interface.

Git works on a line-by-line basis. The currency of git is the diff: a record of what’s changed across all the files in the codebase. Rather then operating on a character-by-character basis, if you change one thing on a line, git will mark the whole line as having changed. If you indent a section of text, the whole section of text will be marked as changed, even if none of the content has.

Why? Wouldn’t developers and programmers like a character-by-character record rather than simply line by line? Seems like a useful feature to me.

It’s for plain text. Sure, you can check in a binary file like an image. But git won’t track individual changes to the image; it’ll just track that the image has changed in some way. Ditto a Word document, or anything else you can imagine. It’s not nuanced enough to intelligently deal with bodies of text.

Just write better commit notes. Let your team know what you did to the image.

You can’t make it friendly. For newbies to source code, let alone decentralized source control, there’s too much to get to grips with. It’s a completely different way of working designed for a different industry.

Sounds like a design challenge to me. Designing for a different industry seems like market expansion. Why retreat?

Why GitHub works for Educators

The line between developer and educator will continue to blend. As a non-technical (then semi-technical…to almost technical) contributor to Mozilla Learning I sure am picking up some techy skills. I have filed issues and contribute to repos, started my own, and found other open source projects such as botwiki and hypothesis.

I am sure my story is not unique. The next generation of Open Ed Resources are blending the roles of instructional design, education, and programming. This trend will continue.

OER and non-profits need non-technical contributors. We bring value and insight into the programs we serve. We may not know React, don’t know squat about JSnode, and have never worked with BASH.

Yet we can offer testing, feedback, copy, design, and a slew of other skills that Open Education Resources and Open Source projects need.

Making GitHub more accessible improves the retention and recruitment of these contributors. Making GitHub easier to use should be everyone’s goal.

We need to own our stuff. Educators live in easy to use silos. I can not blame them. First and foremost the tools teachers use have to work easily. Yet when they share resources educators are often using proprietary tools and signing away copyrights to their district. Our ideas have value. We should get to decide how these ideas are owned and shared.

Searching for Alternatives

Ben Werdmuller is correct to point out that there could be a proprietary level on top of gitHub that serves the non-technical crowd. Maybe that character by character record of change is an upcharge…who knows.

Still I feel like we are close.

We need a solution. I say we wait and see how educators use GitHub and try to support them.