Inspired by a recent discussion on Facebook about accepting friend requests (on Facebook) from students, Matthew Leingang (Courant Institute), Ron Taylor (Berry College), and I decided to write a short article about the issue with the intention of submitting the article to MAA FOCUS. Also, I must give credit where credit is due. The idea for writing the article actually came from Karl-Dieter Crisman (Gordon College).
For some time now, I’ve been wanting to experiment with coauthoring a paper using GitHub. Since our paper about potential Facebook policies for teachers is going to be relatively short and simple, I figured that this would be a good project to experiment with on GitHub. In case you are wondering what the heck GitHub is, according to Wikipedia:
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both paid plans for private repositories, and free accounts for open source projects.
Most people use GitHub for collaborating on software projects, but the service is becoming increasingly popular for hosting teaching materials, including open-source textbooks. I currently use GitHub to host a few of my inquiry-based learning (IBL) task sequences. For example, you can check out the LaTeX source for my IBL introduction to proof notes by going here.
In my view, there are lots of advantages of using GitHub to host such things. First, it makes the source public. Not only can someone always find the most up-to-date version of something, but they can also contribute to its improvement. GitHub makes it easy to do this sort of thing and it isn’t as scary as it sounds. Basically, you fork a repository, make changes, and then submit a pull request. The biggest advantage to using something like GitHub (and git) is that you can have multiple people contributing to a project and the tools make it easy to merge all of these changes together. In addition, there is an extensive history of these changes. Another advantage is that each repository has a built-in wiki, which can be used to further collaborate on a project. Moreover, each repository comes with an issue tracker. This is one feature that I think is extremely useful for collaborating on articles. The issue tracker can be used to assign various tasks and provides a way to keep track of who has done what and when it was done. Each issue (i.e., task) also has the ability to add comments, so collaborators may have a targeted discussion about that specific task.
If you’ve ever coauthored a paper with multiple authors, then you’ve probably lost track of all the emails and files flying around. I think using GitHub goes a long way to address many of the complications. Of course, the price to pay for this is that the process may seem “technologically advanced” for most users.
It is worth mentioning that SciGit has the potential to replace GitHub for coauthoring papers. According to their webpage:
SciGit is a collaboration system for researchers to work on the same paper with version control easily.
The only problem is that SciGit is not yet available. I’m looking forward to SciGit’s release and I’ll definitely be giving it a try once it is released into the wild.
Update: SciGit is now available for beta! To sign up, you can go here. At this time, there is only a Windows version of the desktop client available. However, the developer has told me that a Mac version is in the works. I’m looking forward to checking this out. I’d also like to here from others about there experience.