GitHub and this book

Imagine GitHub as a magic library

Never heard of GitHub and wondering what it has to do with this book?

Here’s an analogy that might help explain it if you are unfamiliar with the world of software development for which GitHub was originally designed.

Think of GitHub as being like a huge library that holds thousands, … mmm… more like millions of books that are available for everyone to read. Most of the books in this library are for computers to read (they are the recipe books that tell computers how make and run software). But there are also some books for humans to read.

Infinite copies of books can be borrowed

Unlike a normal library there is no limit to how many people can borrow each book at the same time. Every time someone borrows a book from this library, the original magically remains on the library shelf - there for anyone else to look at and borrow as well, if they so wish. This is pretty magical but there is even more amazing magic than that in this wonderful library called GitHub!

You are allowed to write in the books!

In a regular library, if you write on the pages of a borrowed book you can get into trouble. But in this library, you are encouraged to do so!

Let’s say Jimin borrows a book called ‘How to dance like BTS’ by J Hope. As he is reading he notices a typo on page 42 and also he thinks he can improve chapter 6 by adding a couple more paragraphs to explain one or two points more clearly. Jimin is, after all, a very, very good dancer!

Jimin takes a pencil and corrects the typo on his copy of J Hope’s book and then he pencils in the additional paragraphs for chapter 6 with a note explaining where they should go and why he thinks they would improve book. Then he holds up the book to his magic mirror which instantly makes his suggested changes appear in J Hope’s original copy of the book.

By writing in a book you help the author improve it

As if by magic, (indeed by magic!) J Hope’s copy of the book immediately flips open showing the pages that Jimin edited. So J Hope takes a look. Decides that they do in fact improve the book and so he sends a message to Jimin thanking him for his attention to detail and willingness to contribute to everyone’s reading pleasure.

Then J Hope holds his book up to his own magic mirror and immediately all the copies of his book everywhere in the world are instantly updated with the corrected text and Jimin’s name is added to list of contributors at the back of the book.

You can even put an unfinished book in the library for others to help with

Let’s take this one step further. Let’s say RM, having read J Hope’s book, decides he wants to write a book as well. But he doesn’t want to do it alone. So here is what he does.

He writes down a book title ‘Art, persona and shadow: finding soul in the Korean Wave’. Then he sketches out an introduction, an outline and some ideas for a first chapter. Next he takes this barely begun book to the library, puts it on a special shelf and invites a few friends to take a look and see if they want to write some of the chapters with him.

A few people get involved, take out copies of the book from the library and start writing chapters and sections and meeting up in coffee shops and tea houses to discuss their ideas as they continue writing. Gradually something that looks like a whole actual book begins to emerge and more people all around the world are getting involved helping to edit it, proof read it and give comments and suggestions.

Some people even get together in teams to start translating the finished parts of the book into other languages! They create new language-specific ‘original’ copies of RM’s book which grow alongside the first original.

Everybody works on their own bits of the book and, using the system of magic mirrors, the original copy of the book in the library gets fatter and fatter as all the bits and pieces from the writers all over the world get added together into a single book until it is finally finished. This is kind of an ‘open source’ way of writing a book.

GitHub is a website that allows people to collaborate on writing software and books

In this analogy, the GitHub website (github.com) is the magic library and a software program called “git” is the system of magic mirrors that allows people all over the world to simultaneously read and edit books for computers and other people to read while keeping track of all the changes and different versions. Via the GitHub website programmers, writers and readers can communicate directly with each other, collaborate on writing books (and software) and suggest edits to each others books online. Throughout the whole process GitHub and git keep track of the the suggestions and changes so that everyone can see what has been done from start to finish on each book and software project.

Of course there is a lot more technical detail which would be too overwhelming to go into here, but if you want to find out more you could start here or see more detail about how it can be used for writing books or with GitHub’s own documentation.

Mostly, GitHub is used for collaborating on and sharing open source software. But recently there are a few examples of it being used to collaborate on writing books in an open source kind of way. See for example: Geocomputation with R.

What does GitHub have to do with this book?

My hope for this book ‘Living Together’, is that a community of interested people would get involved as my research and writing progress. The way I imagine it would work is as follows:

Anyone with an interest in the topics and the questions that I am investigating would keep an eye on the book as I publish it online here, section by section and chapter by chapter. I plan to publish drafts for initial feedback and to stimulate discussion and suggestions on what to include or investigate further as I go along.

These interested people could then comment on the drafts and chapters as they progress, suggest additional sections, cuts or changes, and request clarifications. Some people could even join as co-authors to write their own contributions to add to the content or address their own areas of expertise as they relate to the subject of the book.

What if I have never used GitHub before? Can I still contribute?

Even if you have never used GitHub before and you don’t want to go through the process of learning how to use git or install anything on your computer, it doesn’t matter. All you need to do is make an account on the GitHub website and you can suggest edits directly in the files hosted on GitHub.

To suggest edits on a chapter you simply need to click the “Edit this page” link on the right hand side of the page.

If you want to raise a question or add comment then you can click on “Open an issue”.

Who is in control of the book?

Writing this book is a central part of my research fellowship so I have a contract with the University of Sussex and the Mosim and Salim Research Institute. In light of this, in my role as the main author I would contribute the majority of the material and facilitate the interaction with the editorial team (at Sussex and Mosim) and other contributors and potential co-authors. Ultimately the decision whether or not to include substantial changes or contributions would be made by me and the editorial team.


Photo by Ivo Rainha on Unsplash