Loading...
Experimental Publishing Compendium beta Tools Practices Books About /
Contact
practice

Forking

Description

Forking is a form of computational publishing that involves creating a derivative version of a previously published text or book to make revisions to it or customise it to a different context. Like versioning, it is derived from practices in software development and can even involve the same kind of tools.

Full description

Similar to versioning, forking is originally derived from the practices of software development. In software development, forking refers to taking a copy of a software’s source code and developing it to take the software in a new direction akin to taking a fork in the road to end up on a different path. There are many examples but a famous example is when the original developers of MySQL, the relational database management system, forked the open source code into MariaDB due to their ethical concerns with Oracle Corporation acquiring Sun Microsystems and therefore the rights to MySQL. MariaDB has a very similar interface and backend to MySQL but has developed slightly different features as a fork of the original. 

In an experimental publishing context, forking refers to the creation of a derivative version of a previously published text or publication to make revisions to it or customise it to a different context. Forks can be made to create alternative versions of a text like translations into another language or to make wholesale additions to a text to push the content in a different direction. Whereas versioning is often done by the same author(s) as the original text, forking tends to involve different author communities and can be seen as a more direct reuse of existing research. 

Forking may be done by taking a digital copy of the original text or more systematically by using the same tools as software development. For a text stored in a data repository on GitLab or GitHub like Soon and Cox’s (2020) Aesthetic Programming, a fork can be created instantly using the inbuilt forking function. 

Experimental uses

Aslan Neferler Tim (2013) refers to forking as an example of ‘what can happen when books embrace their natural unstable state.’ He contrasts books and websites with books perceived as stable because of the traditional publishing paradigms of the printing press and he goes on to argue that digital formats like ePub return books to a state of instability whereby they can be copied instantly and mixed through practices like forking. He points to The CryptoParty Handbook which was created in Berlin during a 3-day booksprint and combined two existing Creative Commons-licensed books, How to Bypass Internet Censorship and Basic Internet Security which had both also been created during booksprints. 

Winnie Soon and Geoff Cox openly invited forks of their book, Aesthetic Programming: A Handbook of Software Studies (Ciston and Marino, 2021). The book was published on GitLab like a software repository and they encouraged others to copy the files to develop them. Sarah Ciston and Mark C. Marino (2021) did exactly that by forking the book to add a new chapter (chapter 8.5 sandwiched between two existing chapters) and to add some additional features. They described this as ‘participating in the development of their [Soon and Cox’s] book and the evolution of the codex book itself from a static product into an ongoing, iterative, process.’ Their fork both reuses and extends the original book and creates a dialogue between the two versions: their chapter, they write, does not ‘remedy a lack in the book, but adds its own insights, following the ‘yes-and’ ethos of its collaborating first authors’.

Another fork of Soon and Cox’s Aesthetic Programming is focusing on translating the entire text into Traditional Chinese. Tzu Tun Lee as artist facilitator and Ren Yu and Shih-yu Hsu as lead translators (CSNI, 2022) are working closely with Taiwanese art and coding communities to translate the whole book. This fork highlights issues with English as the lingua franca of computer programming discussion and the difficulties of translating a book about programming that requires such precise language (Soon, 2022). Soon (2022) offers a provocation: ‘Can we think of forking as a kind of translation, and cultural translation in particular? What are the implications of drawing forking and translating together?’

Syllabi for courses may also be forked. Heidi Ellis contributed a chapter to The Open Organization Guide for Educators on how she ‘invited her students to collaborate in the co-construction of important course documents’ by forking the course syllabus on GitHub and making their own changes (The Open Organization, 2019)

Considerations

Despite its apparent simplicity, forking is not as simple as copying a text. Aslan Neferler Tim (2013) highlights the economies in action in forking and the skill involved in curating new text, shaping it alongside existing text, using expertise to fill in new text, and the facilitation and curation skills of reaching a new audience with the forked text. 

Forking a book also has a different social and emotional connotation to reviewing a book or writing a reply. Though Marino (2021) previously reviewed Aesthetic Programming, Ciston and Marino (2021) describe a different sense of ‘nervousness and at the same time the thrill of an audacious incursion’ when forking Soon and Cox’s book. Literally copying someone else’s work and adding to it goes against many of the tenets of traditional liberal academic practice and may feel like overstepping or treading on the original author(s)’ toes. Conversely, author(s) inviting forking may feel violated when a legitimate fork takes the text in a different direction than they expected or may be comfortable with. 

Forking may also have a high technical complexity overhead. Heidi Ellis notes that when she asked her students to fork their course syllabus to make changes, only a very small number of students contributed to the collaborative process (The Open Organization, 2019). She suggests that the complexity of the technology and the high learning threshold of Git and GitHub may have contributed to this. Forking may require a higher degree of technical knowledge of software development practices than other authorial remixing practices. 

Further reading

Nyman, L. (2015). Understanding Code Forking in Open Source Software: An Examination of Code Forking, Its Effect on Open Source Software, and How It Is Viewed and Practiced by Developers. Hanken School of Economics. http://hdl.handle.net/10138/153135

Young, D. (2021). ‘Theorising while() Practising: A Review of Aesthetic Programming’. Computational Culture, 8. http://computationalculture.net/theorising-while-practising-a-review-of-aesthetic-programming/

Books