User:Kim/Project Proposal (Gitpub): Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
Line 2: Line 2:
== What do you want to make? ==
== What do you want to make? ==


Gitpub is a tool to create a printed or web-based publication from a git repository including repository metadata. This tool is not bound to any specific environment yet, but could have different interfaces such as a website or a terminal program. The information stored inside of every local .git folder builds basis of the tool. It allows to select and include different types of metadata, such as Commit Messages, Commit Authors, Timestamps or the amount of made changes. I would like to add options for styling the appearance of the publication through pre-made choices or custom CSS.
Gitpub is a tool to create a printed or web-based publication from a git repository including repository metadata.


The gitpub tool, which I aim to outline in the following paragraphs, poses the starting point, rather than the final outcome of this project. Possible divergencies include a deeper examination of collaborative writing softwares such as etherpad or wiki and the drafting of collaborative metadata writing scripts for them. Moving into a different direction, I would also be interested in using the multilayered text characteristics of version control software as a starting point for visual experimentations of reading and writing interfaces. Finally, a less computer, more personal, material focussed approach would introduce exercises in space, such as performing and writing text in different ways (together).
Briefly diverging from the what question of this section, the following paragraphs contain a short introduction to git and metadata, to enable a shared understanding of both concepts.
 
Gitpub builds upon git: a software that helps you keep track of changes made in a file and lets you collaborate with others on the same files. The softwares means of collaboration and version control produce a lot of metadata to the code (or text) that is written inside a git directory. Yet this metadata is either neglected or exploited to reinforce hypercapitalist modes of production.
 
Historically metadata was used to index books in library catalogs. With increasing digitisation, these were turned into databases. Not only books contain metadata, but basically everything we want to index or process by a computer. Today metadata is deeply embedded in search-engine optimisation by expansion driven big tech companies that control digital platforms, data, and online markets. In that, digital cataloging metadata not only feeds into e-commerce but reinforces proprietary mode of knowledge production and circulation. Using gitpub to make metadata part of the publication is an act of decentering the main body of a text or work. Here the software in use becomes not just a means to an end of production but presents itself as material, social and political entity. Gitpub renders metadata, as information that is usually being processed by and for experts or machines, into text readable by anyone.
 
The gitpub tool, which I aim to outline throughout the following sections, poses the starting point, rather than the final outcome of this project.
 
Next to the technical aspect of writing scripts, I intend to make space for non computer (or software) centered interaction. For this I will draft a set of writing exercises that examine collaborative writing of, with and through metadata. The reality of collaborative writing is messy, full of variation and discussion. In contrast, developing a tool is a process of ‘making things work’, in which variation and ambiguity become a programming problem to solve. Making gitpub, I dont want to separate the above processes but aim to understand how can the script (which which forms the technical basis of the tool) and exercises can inform each other.


<span id="how-do-you-plan-to-make-it"></span>
<span id="how-do-you-plan-to-make-it"></span>
== How do you plan to make it? ==
== How do you plan to make it? ==
[[User:Kim/Prototyping 2nd year/GitPub| Prototype documentation]]<br>
[[File:Gitpub.svg|thumb|documentation proof of concept (1)]]
[[File:Gitpub-2.svg|thumb|documentation local script (2)]]


# At the moment (mon oct 27th) of updating this Project Proposal I have two script prototypes: a bash script that uses the gitlab api and has already been printed from and a python script, that makes use of the locally stored git metadata. Here are the further steps:  
==add prototype images (and graphs?)== current status: Prototype gitpub v 0.3. is a python script. It uses metadata stored in local .git repository and transforms html and markdown files to a printable pdf. further steps: 1. prototyping workshop: develop and test collaborative writing exercises (1. round) &gt; goal: share outcome in public moment on dec 5th. 2. work on more specific features of gitpub and how to combine them &gt; goal: get to a running (pre) version of gitpub to use it for thesis writing 3. 2. round of collaborative writing exercises: test them with different groups and reflect outcomes back into the development of the script 4. make the tool self contained, for example package it into a python program &gt; goal: share it with others 1. minimal viable product: terminal interface, File formats included in the publication: markdown + html, basic formatting of the printed publication and option for custom stylesheet, a script shared through gitlab and gossip 2. nice to haves: web interface, File formats included in the publication: code files (e.g. python, javascript), advanced formatting of the printed publication in the way main and meta text interact, downloadable as a python program 5. peer distribution and testing rounds (individual or in the form of collective work sessions) feed back into script writing 6. graduation show presentation 1. performative (such as a reading) 2. print outs (of versions, test runs, workshop results etc) 7. documentation of the tool
# first up: prototyping workshop. in here I would like to test digital and or physical exercises that examine collaborative writing of, with and through metadata &gt; goal: share outcome in public moment (dec 5th)
# work on more specific features of gitpub and how to combine them &gt; goal: get to a running version of gitpub to use it for thesis writing  
# make the tool self contained, for example package it into a python program &gt; goal: share it with others  
## design choices regarding the tools interface/options but also the publication outcome (how is meta information interacting with the main text?)
## peer distribution and testing rounds (individual or in the form of collective work sessions)  
## documentation of the tool
# divergency 1: examination of collaborative writing softwares
## explore collaboration and metadata mechanisms of etherpad and wiki
## write scripts such as gitpub for them
# divergency 2: visual experimentations of reading and writing interfaces through version control software
# divergency 3: personal exercises
## research body, performative reading and writing exercises across different literary movements and groups
## test, test, test
## document


<span id="what-is-your-timetable"></span>
<span id="what-is-your-timetable"></span>
== What is your timetable? ==
== What is your timetable? ==


nov 5th: mock assessment (show process / discuss idea)
nov 25: articulating my ideas for thesis and project in words and prototypes (key dates: mock assessment 5th, prototyping workshop 17th, proposal and outline deadline 21st) dec 25: in parallel develop exercise and script prototypes into test versions (key dates: try out night 5th, assessment 8th) jan 26: develop gitpub script 1.0 for my own thesis writing and producing feb - march 26: implement (minimal viable) features into the tool apr - june 26: make the tool self contained and sharable, test tool collaboratively in different settings and with different prompts, implement adjustments july 26: documentation and presentation
 
nov 17th: prototyping workshop  
 
dec 5th: public moment tangible prototypes (documentation)
 
dec 8th: assessment (formulate present state, way here, outlook)
 
jan 30th: usable gitpub version with for thesis writing and producing


<span id="why-do-you-want-to-make-it"></span>
<span id="why-do-you-want-to-make-it"></span>
== Why do you want to make it? ==
== Why do you want to make it? ==


'''intro''' “tools as boundary objects that connect different communities of practice”<ref>Star, S.L. (1994). Misplaced Concretism and Concrete Situations: Feminism, Method, and Information Technology. In: Bowker, G. et al. (eds) Boundary objects and beyond: working with Leigh Star. Cambridge, Massachusetts: The MIT Press – encountered in Prototyping 2024/2025 intro</ref>
gitpub explores how we write and are written by software through the example of collaborative version control software as publishing tool. When using software for text editing or collaboration (e.g. .git, etherpad, word, google docs, code editors) we assume to be in control of the text emerging in front of us. But additional to the text we consciously form, there is a lot more text produced, yet not directly by us. This additional text is often metadata, used to index and render machine readable what we typed. Text is therefore always created reciprocally, rather than one-way. With gitpub I want to expose how software writes us back, in other words, how the different modes and actors in the writing process influence each other.


'''writing and being written''' gitpub explores ''how we write and are written by software'' through the example of collaborative version control software as publishing tool. It emphasises the software as part of the writing.
The above paradigm emphasises the software as part of the writing. In the following i will elaborate on the software as part of a culture ''community''.


'''extending existing software''' Gitpub builds upon git: a version control software, commonly interfaced with through platforms such as Github, Gitlab or Gittea, and on the local level with code editors or the terminal. Git is used to collaborate on code, track versions and progress of code and publish / document code. There are uses outside of this scope, such as the publishing and documenting of fonts or sharing of code unrelated resources.<ref>The Collective [https://www.byebyebinary.space/ Bye Bye Binary] uses GitLab for font developement and publishing https://gitlab.com/bye-bye-binary</ref><ref>“Always Already Programming” by Melanie Hoff, a text I often refer to, is published on GitHub https://gist.github.com/melaniehoff/95ca90df7ca47761dc3d3d58fead22d4</ref>
Gitpub is a tool in the sense of a “boundary object(s) that connect different communities of practice”<ref>Star, S.L. (1994). Misplaced Concretism and Concrete Situations: Feminism, Method, and Information Technology. In: Bowker, G. et al. (eds) Boundary objects and beyond: working with Leigh Star. Cambridge, Massachusetts: The MIT Press – encountered in Prototyping 2024/2025 intro</ref>


By deliberately extending and mis-using this existing piece of software I want to challenge its embeddedness into (white, male, optimisation driven) developing culture and an industry that profits from maintaining compartmentalised and hidden labor and the divide between user and programmer.
The use of tools like git is highly cultural: different communities follow different protocols of use. Yet working with git in day to day operations, the familiarity of its gestures and rhythms conceals the softwares own ways of writing and its cultural situatedness. By deliberately extending and mis-using this existing piece of software I want to challenge its embeddedness into (white, male, optimisation driven) developing cultures and an industry that profits from maintaining compartmentalised, hidden labor and the divide between user and programmer<ref>“Always Already Programming” by Melanie Hoff, a text I often refer to, is published on GitHub https://gist.github.com/melaniehoff/95ca90df7ca47761dc3d3d58fead22d4</ref>.


Ursula Franklin introduced me to Kenneth Bouldings understanding of “technology as practice, as way of doing something”.<ref>I should cite this properly but for now, here is the secondary source: Franklin, U.M. and CBC Enterprises (1990). ''The Real World of Technology''. Montréal ; Toronto : CBC Enterprises. (Chapter 1)</ref> This notion links technology to culture, which we could define as “a set of socially accepted practices and values”. The use of tools like git is highly cultural (different communities follow different protocols of use). Yet working with git in day to day operations, the familiarity of its gestures and rhythms conceals the softwares own ways of writing and cultural situatedness.
Ursula Franklin introduced me to Kenneth Bouldings understanding of “technology as practice, as way of doing something”.<ref>I should cite this properly but for now, here is the secondary source: Franklin, U.M. and CBC Enterprises (1990). ''The Real World of Technology''. Montréal ; Toronto : CBC Enterprises. (Chapter 1)</ref> This notion links the definition of technology to culture, which we could define as “a set of socially accepted practices and values”. Making a tool, while also building it upon existing software, I aim to gain an understanding of software (''technology'') through the culture (''and communities'') it is situated in.


Publishing a git repository with metadata in a printed form is an attempt to “connect different communities of practice”, to permeate the borders between otherwise diverged environments and examine the softwares cultural situatedness.
''this part is work in progress'' - connect communities of practice: - which communities (dev community, using their software, and experimental / artistic community, using their approach of critical, collaborative practice and material realm of low threshold print circulation) - why bring them in contact? (to understand that software is not just scripts, and text written in it not just bits, but culture, conventions of representation, abstraction and yet full of variation, ambiguity and discourse) - what is the role of metadata in this? ''can metadata reflect or expose culture, the dynamics of collaboration, of authorship?'' - gitpub is also visual exploration (aesthetic, interface)
 
'''metadata''' Making metadata part of the publication is an act of decentering the main body of a text or work. Here the software in use becomes not just a means to an end of production but presents itself as material, agential. social and political entity. This metadata is produced by means of version control, an integral part of the git software, that in practice is either neglected or exploited to reinforce hypercapitalist modes of production.
 
'''visual''' Gitpub is not only about the script and technical aspects of metadata, which I have outlined above but also explores text (interfaces) and its boundaries on a visual level. I here want to question the authority of a (main) text by breaking away from its ordinary presentation, which makes its own rules seem invisible.<ref>and “Diagrammatic reasoning argues for graphic organization as a meaning producing system, one in which the organization of elements must be read in relation to each other.” footnote 9. both in Johanna Drucker, “Diagrammatic Writing”</ref>
 
'''note''' the above concerns the git software specifically but with adjustments could also be transferred to other tools such as mediawiki.


<span id="who-can-help-you-and-how"></span>
<span id="who-can-help-you-and-how"></span>
== Who can help you and how? ==
== Who can help you and how? ==


I will seek technical support form the prototyping tutors (as of now Michael and Manetta). Other groups or individuals I would like to reach out for technical/ conceptual exchange could be the community around PrePostPrint and Constant. About Constant I know that they have been doing publications <ref>‘’Conversations’’ is a collection of dialogues between developers and designers involved in the wider ecosystem of Libre Graphics. https://conversations.tools/ The tools in use include etherpad, pandoc and bash and LATEX to transform into pdf. A graph mapping the tools also highlights git, but I am not sure about its actual role in the process. Concept, design and developement by Christoph Haag, Xavier Klein and Femke Snelting</ref><ref>‘’Aether 9’’ is another git related publication by constant and OSP that manetta pointed me to https://gitlab.constantvzw.org/osp/work.aether9/. There is not much documentation but I could find the publishers website https://greyscalepress.com/books/aether9/ and the collectives announcement https://web.archive.org/web/20130520210449/http://aether9.org/(archived). Working on this project were Gijs de Heij, Ludivine Loiseau and Pierre Marchand</ref> with git already and would be curious about their experience and workflows. I would also be curious to speak to members of OSP about ''visual culture'', a git based program which they build for their website and documentation.
Next to the support I will seek from the prototyping tutors Michael and Manetta, I would like to reach out to the community around PrePostPrint and Constant for technical and conceptual exchange. About Constant I know that they have been doing publications <ref>‘’Conversations’’ is a collection of dialogues between developers and designers involved in the wider ecosystem of Libre Graphics. https://conversations.tools/ The tools in use include etherpad, pandoc and bash and LATEX to transform into pdf. A graph mapping the tools also highlights git, but I am not sure about its actual role in the process. Concept, design and developement by Christoph Haag, Xavier Klein and Femke Snelting</ref><ref>‘’Aether 9’’ is another git related publication by constant and OSP that manetta pointed me to https://gitlab.constantvzw.org/osp/work.aether9/. There is not much documentation but I could find the publishers website https://greyscalepress.com/books/aether9/ and the collectives announcement https://web.archive.org/web/20130520210449/http://aether9.org/(archived). Working on this project were Gijs de Heij, Ludivine Loiseau and Pierre Marchand</ref> with git already and would be curious about their experience and workflows. I would like to reach out to Pre Post print (and their extended arm in the Netherlands, including members of varia) to receive feedback on an early version of the gitpub tool. This could happen in a general meetup, a workshop format or personal exchange. I am also curious to speak to members of OSP about [https://osp.kitchen/tools/visualculture/ visual culture], a git based program which they build for their website and project documentation.


<span id="relation-to-previous-practice"></span>
<span id="relation-to-previous-practice"></span>
== Relation to previous practice ==
== Relation to previous practice ==


Gitpub confuses centers of attention and makes its own making (processual, structural or meta information) part of its content. Herein gitpub poses a continuation to previous projects: ''Tracing Networks Backwards'' (browser game based on mediawiki) and ''Layer'' (browser extension) render information visible that is commonly hidden in graphical user interfaces. Both projects work through multiple levels of: showing hidden information, the way users interact with it and how it is merging with existing visual context. Other previous projects of mine such as [https://words-on-margins.website/workshop/slides/index.html/ Writing on the margins of the web] (workshop) and [https://www.are.na/editorial/on-contamination on contamination] (essay and performative reading) are more specifically concerned with the inner workings of a text through marginal and paratextual information and how they relate to, break with, penetrate the ‘main’ text.
==add images== In previous projects I have been interested in rendering information visible that remains hidden in common user interfaces. And think of ways how we interact with that information and how it relates to the content already there. Herein gitpub poses a continuation to previous projects: ''Tracing Networks Backwards'' is a browser game based on mediawiki. It allows the user to trace articles through wiki links and output the resulting path in a diagram. [https://gitlab.com/km_kt/layer Layer] is a browser extension that surfaces different entities from a websites source code. Other previous projects of mine such as [https://words-on-margins.website/workshop/slides/index.html/ Writing on the margins of the web] (workshop) and [https://www.are.na/editorial/on-contamination on contamination] (essay and performative reading) are more specifically concerned with the inner workings and hierarchies of a text, which I explore through marginal and paratextual information.
 
More recent experiments like ''Terms of servers'' (a terminal-first, then print publication) and the ''SI27 documentation'' (web to print using pelican and paged.js) sparked an interest in single source publishing workflows and the malleability of (markup) documents.
 
The above mentioned projects, and gitpub too, to some extend are all self referential. Through that, they address their own materiality, environment and concerns in ways that can be awkward, intimate and ambiguous.


In a wider context, I think of this as an attempt towards understanding processes and politics behind technologies in use and their embeddedness in social and cultural fields.
More recent experiments like ''Terms of servers'' (a publication that can be read on the command line and from there turned into a printed version) and the ''SI27 documentation'' (web to print publication using pelican and paged.js) sparked an interest in publishing workflows that are based on markup files and can be converted into multiple formats such as websites, pdf’s and ebooks.


<span id="relation-to-a-larger-context"></span>
<span id="relation-to-a-larger-context"></span>
== Relation to a larger context ==
== Relation to a larger context ==


I understand Gitpub as situated in a lively ecology of experimental publishing tools, practices and concepts:
I understand Gitpub as situated in a lively ecology of experimental publishing tools, practices and concepts. There are for instance [https://osp.kitchen/ Open Source Publishing] and Pre post print who practice graphic design and publishing with free software, rooted collectivity and hacking based approaches. I here want name a few of the many existing publishing tools that, like gitpub, leverage free software. Octomode<ref>Octomode was developed by Mantetta Berends and Christina Cochior together with Varia.</ref> and Chattypub<ref>Chattypub was developed by Hackers and Designers https://www.hackersanddesigners.nl/chattypub.html</ref>, for example, are built for acts of low threshold collaborative publishing, while ikiwiki<ref>https://ikiwiki.info/</ref> is more focused on converting wiki to html files using version control. Aesthetic programming<ref>find the web version here: https://aesthetic-programming.net/, and the git repository: https://gitlab.com/aesthetic-programming/book, developed by Open Source Publishing</ref> is a hybrid publication based on a git repository. Gitpub differs from the last two mentioned examples in my approach of involving the version control, its metadata, the software in use, as of not only the process but the outcome. Lastly I want to mention a few theoretical approaches, that I relate gitpub to on a more conceptual basis. In [https://diversions.constantvzw.org/wiki/index.php?title=Eventual_Consistency Eventual Consistency] Michael Murtaugh analyses the history of algorithms in collaborative text editing software against the backdrop of variation. He herein understands the latter as central element to collaborative work and criticises the stripping of context and variation as common engineering mistake. Servanne Monjour and Nicolas Sauret, as part of the Aprübt publishing collective, propose gitterature as an alternative model for literature and editorial processes. They understand the git writing environment as inherently processual, performative and conversational.<ref>Servanne Monjour, Nicolas Sauret. Pour une gittérature. XXI/XX Reconnaissances littéraires, 2021, 2, pp. 237-252. 10.48611/isbn.978-2-406-12363-7.p.0237. hal-03962836 https://hal.parisnanterre.fr/hal-03962836/document</ref> Gitpub, as many of the above mentioned tools, is loosely connected to the UNIX design philosophy<ref>see also: https://en.wikipedia.org/wiki/Unix_philosophy, in context: ‘Awkward Gestures’ by Femke Snelting via https://freeze.sh/_/2008/awkward/#</ref> which favours small, specific tools, that are built to perform simple tasks while leaving enough space for users to build their own configurations or connect multiple tools to another.
 
=== practices: ===
 
* Open source Publishing, especially their software [https://osp.kitchen/tools/visualculture/ visual culture], in use for their website and blog (?) displays commit messages on the website as documentation (which I think is super cool but sad if it means thats the only documentation that is written)
* Octomode (a tool made by manetta and christina with varia that uses etherpad as a basis for a print or web publication) and other adjacent etherpad-based tools
* Hackers and Designers with tools such as Chattypub
* publishing efforts by the INC (including “FROM PRINT TO EBOOKS A HYBRID PUBLISHING TOOLKIT FOR THE ARTS”, .expub - Exploring Expanded Publishing”, “Screentime, Airtime, Facetime”)
* Pre post print
 
=== concepts: ===
 
* gitterature<ref>Servanne Monjour, Nicolas Sauret. Pour une gittérature. XXI/XX Reconnaissances littéraires, 2021, 2, pp. 237-252. 10.48611/isbn.978-2-406-12363-7.p.0237. hal-03962836 https://hal.parisnanterre.fr/hal-03962836/document</ref> ([https://gitlab.com/km_kt/xp-reader/-/blob/main/browsing/for-a-gitterature.md?ref_type=heads personal reader notes])
* I feel there is a convergence with “Print is Flat, Code is deep”<ref>N. Katherine Hayles “Print is flat, code is deep – The Importance of Media-Specific Analysis”, Poetics Today (2004) 25 (1): 67–90. https://doi.org/10.1215/03335372-25-1-67</ref> but more in the sense of challenging Katherine Hayles argument than fully agreeing with her. After all does her thesis not reinforce a divide between digital and physical media, that today with notions of hybridity, post-print or experimental, is simply not there anymore?
* history of metadata
* database as symbolic form<ref>“Database as symbolic form” Lev Manovich (to be read fully)</ref>
* concept and uses of version control: specifically [https://aosabook.org/en/v2/git.html The Architecture of Open Source Applications (Volume 2) Git]
* Eventual Consistency: michaels analysis of the history algorithms in collaborative text editing software against the backdrop of variation as central element to collaborative work and a common engineering mistake stripping of context
* UNIX design philosophy: emphasises small, specific tools, which are good at executing simple tasks with enough space left for users to build their own complex configurations. These small tools can work as modules since it is possible to connect them to each other often and in different ways.


<span id="references"></span>
<span id="references"></span>

Revision as of 22:03, 10 November 2025

What do you want to make?

Gitpub is a tool to create a printed or web-based publication from a git repository including repository metadata.

Briefly diverging from the what question of this section, the following paragraphs contain a short introduction to git and metadata, to enable a shared understanding of both concepts.

Gitpub builds upon git: a software that helps you keep track of changes made in a file and lets you collaborate with others on the same files. The softwares means of collaboration and version control produce a lot of metadata to the code (or text) that is written inside a git directory. Yet this metadata is either neglected or exploited to reinforce hypercapitalist modes of production.

Historically metadata was used to index books in library catalogs. With increasing digitisation, these were turned into databases. Not only books contain metadata, but basically everything we want to index or process by a computer. Today metadata is deeply embedded in search-engine optimisation by expansion driven big tech companies that control digital platforms, data, and online markets. In that, digital cataloging metadata not only feeds into e-commerce but reinforces proprietary mode of knowledge production and circulation. Using gitpub to make metadata part of the publication is an act of decentering the main body of a text or work. Here the software in use becomes not just a means to an end of production but presents itself as material, social and political entity. Gitpub renders metadata, as information that is usually being processed by and for experts or machines, into text readable by anyone.

The gitpub tool, which I aim to outline throughout the following sections, poses the starting point, rather than the final outcome of this project.

Next to the technical aspect of writing scripts, I intend to make space for non computer (or software) centered interaction. For this I will draft a set of writing exercises that examine collaborative writing of, with and through metadata. The reality of collaborative writing is messy, full of variation and discussion. In contrast, developing a tool is a process of ‘making things work’, in which variation and ambiguity become a programming problem to solve. Making gitpub, I dont want to separate the above processes but aim to understand how can the script (which which forms the technical basis of the tool) and exercises can inform each other.

How do you plan to make it?

==add prototype images (and graphs?)== current status: Prototype gitpub v 0.3. is a python script. It uses metadata stored in local .git repository and transforms html and markdown files to a printable pdf. further steps: 1. prototyping workshop: develop and test collaborative writing exercises (1. round) > goal: share outcome in public moment on dec 5th. 2. work on more specific features of gitpub and how to combine them > goal: get to a running (pre) version of gitpub to use it for thesis writing 3. 2. round of collaborative writing exercises: test them with different groups and reflect outcomes back into the development of the script 4. make the tool self contained, for example package it into a python program > goal: share it with others 1. minimal viable product: terminal interface, File formats included in the publication: markdown + html, basic formatting of the printed publication and option for custom stylesheet, a script shared through gitlab and gossip 2. nice to haves: web interface, File formats included in the publication: code files (e.g. python, javascript), advanced formatting of the printed publication in the way main and meta text interact, downloadable as a python program 5. peer distribution and testing rounds (individual or in the form of collective work sessions) feed back into script writing 6. graduation show presentation 1. performative (such as a reading) 2. print outs (of versions, test runs, workshop results etc) 7. documentation of the tool

What is your timetable?

nov 25: articulating my ideas for thesis and project in words and prototypes (key dates: mock assessment 5th, prototyping workshop 17th, proposal and outline deadline 21st) dec 25: in parallel develop exercise and script prototypes into test versions (key dates: try out night 5th, assessment 8th) jan 26: develop gitpub script 1.0 for my own thesis writing and producing feb - march 26: implement (minimal viable) features into the tool apr - june 26: make the tool self contained and sharable, test tool collaboratively in different settings and with different prompts, implement adjustments july 26: documentation and presentation

Why do you want to make it?

gitpub explores how we write and are written by software through the example of collaborative version control software as publishing tool. When using software for text editing or collaboration (e.g. .git, etherpad, word, google docs, code editors) we assume to be in control of the text emerging in front of us. But additional to the text we consciously form, there is a lot more text produced, yet not directly by us. This additional text is often metadata, used to index and render machine readable what we typed. Text is therefore always created reciprocally, rather than one-way. With gitpub I want to expose how software writes us back, in other words, how the different modes and actors in the writing process influence each other.

The above paradigm emphasises the software as part of the writing. In the following i will elaborate on the software as part of a culture community.

Gitpub is a tool in the sense of a “boundary object(s) that connect different communities of practice”[1]

The use of tools like git is highly cultural: different communities follow different protocols of use. Yet working with git in day to day operations, the familiarity of its gestures and rhythms conceals the softwares own ways of writing and its cultural situatedness. By deliberately extending and mis-using this existing piece of software I want to challenge its embeddedness into (white, male, optimisation driven) developing cultures and an industry that profits from maintaining compartmentalised, hidden labor and the divide between user and programmer[2].

Ursula Franklin introduced me to Kenneth Bouldings understanding of “technology as practice, as way of doing something”.[3] This notion links the definition of technology to culture, which we could define as “a set of socially accepted practices and values”. Making a tool, while also building it upon existing software, I aim to gain an understanding of software (technology) through the culture (and communities) it is situated in.

this part is work in progress - connect communities of practice: - which communities (dev community, using their software, and experimental / artistic community, using their approach of critical, collaborative practice and material realm of low threshold print circulation) - why bring them in contact? (to understand that software is not just scripts, and text written in it not just bits, but culture, conventions of representation, abstraction and yet full of variation, ambiguity and discourse) - what is the role of metadata in this? can metadata reflect or expose culture, the dynamics of collaboration, of authorship? - gitpub is also visual exploration (aesthetic, interface)

Who can help you and how?

Next to the support I will seek from the prototyping tutors Michael and Manetta, I would like to reach out to the community around PrePostPrint and Constant for technical and conceptual exchange. About Constant I know that they have been doing publications [4][5] with git already and would be curious about their experience and workflows. I would like to reach out to Pre Post print (and their extended arm in the Netherlands, including members of varia) to receive feedback on an early version of the gitpub tool. This could happen in a general meetup, a workshop format or personal exchange. I am also curious to speak to members of OSP about visual culture, a git based program which they build for their website and project documentation.

Relation to previous practice

==add images== In previous projects I have been interested in rendering information visible that remains hidden in common user interfaces. And think of ways how we interact with that information and how it relates to the content already there. Herein gitpub poses a continuation to previous projects: Tracing Networks Backwards is a browser game based on mediawiki. It allows the user to trace articles through wiki links and output the resulting path in a diagram. Layer is a browser extension that surfaces different entities from a websites source code. Other previous projects of mine such as Writing on the margins of the web (workshop) and on contamination (essay and performative reading) are more specifically concerned with the inner workings and hierarchies of a text, which I explore through marginal and paratextual information.

More recent experiments like Terms of servers (a publication that can be read on the command line and from there turned into a printed version) and the SI27 documentation (web to print publication using pelican and paged.js) sparked an interest in publishing workflows that are based on markup files and can be converted into multiple formats such as websites, pdf’s and ebooks.

Relation to a larger context

I understand Gitpub as situated in a lively ecology of experimental publishing tools, practices and concepts. There are for instance Open Source Publishing and Pre post print who practice graphic design and publishing with free software, rooted collectivity and hacking based approaches. I here want name a few of the many existing publishing tools that, like gitpub, leverage free software. Octomode[6] and Chattypub[7], for example, are built for acts of low threshold collaborative publishing, while ikiwiki[8] is more focused on converting wiki to html files using version control. Aesthetic programming[9] is a hybrid publication based on a git repository. Gitpub differs from the last two mentioned examples in my approach of involving the version control, its metadata, the software in use, as of not only the process but the outcome. Lastly I want to mention a few theoretical approaches, that I relate gitpub to on a more conceptual basis. In Eventual Consistency Michael Murtaugh analyses the history of algorithms in collaborative text editing software against the backdrop of variation. He herein understands the latter as central element to collaborative work and criticises the stripping of context and variation as common engineering mistake. Servanne Monjour and Nicolas Sauret, as part of the Aprübt publishing collective, propose gitterature as an alternative model for literature and editorial processes. They understand the git writing environment as inherently processual, performative and conversational.[10] Gitpub, as many of the above mentioned tools, is loosely connected to the UNIX design philosophy[11] which favours small, specific tools, that are built to perform simple tasks while leaving enough space for users to build their own configurations or connect multiple tools to another.

References

  1. Star, S.L. (1994). Misplaced Concretism and Concrete Situations: Feminism, Method, and Information Technology. In: Bowker, G. et al. (eds) Boundary objects and beyond: working with Leigh Star. Cambridge, Massachusetts: The MIT Press – encountered in Prototyping 2024/2025 intro
  2. “Always Already Programming” by Melanie Hoff, a text I often refer to, is published on GitHub https://gist.github.com/melaniehoff/95ca90df7ca47761dc3d3d58fead22d4
  3. I should cite this properly but for now, here is the secondary source: Franklin, U.M. and CBC Enterprises (1990). The Real World of Technology. Montréal ; Toronto : CBC Enterprises. (Chapter 1)
  4. ‘’Conversations’’ is a collection of dialogues between developers and designers involved in the wider ecosystem of Libre Graphics. https://conversations.tools/ The tools in use include etherpad, pandoc and bash and LATEX to transform into pdf. A graph mapping the tools also highlights git, but I am not sure about its actual role in the process. Concept, design and developement by Christoph Haag, Xavier Klein and Femke Snelting
  5. ‘’Aether 9’’ is another git related publication by constant and OSP that manetta pointed me to https://gitlab.constantvzw.org/osp/work.aether9/. There is not much documentation but I could find the publishers website https://greyscalepress.com/books/aether9/ and the collectives announcement https://web.archive.org/web/20130520210449/http://aether9.org/(archived). Working on this project were Gijs de Heij, Ludivine Loiseau and Pierre Marchand
  6. Octomode was developed by Mantetta Berends and Christina Cochior together with Varia.
  7. Chattypub was developed by Hackers and Designers https://www.hackersanddesigners.nl/chattypub.html
  8. https://ikiwiki.info/
  9. find the web version here: https://aesthetic-programming.net/, and the git repository: https://gitlab.com/aesthetic-programming/book, developed by Open Source Publishing
  10. Servanne Monjour, Nicolas Sauret. Pour une gittérature. XXI/XX Reconnaissances littéraires, 2021, 2, pp. 237-252. 10.48611/isbn.978-2-406-12363-7.p.0237. hal-03962836 https://hal.parisnanterre.fr/hal-03962836/document
  11. see also: https://en.wikipedia.org/wiki/Unix_philosophy, in context: ‘Awkward Gestures’ by Femke Snelting via https://freeze.sh/_/2008/awkward/#