It looks like you're new here. If you want to get involved, click one of these buttons!
Discussion prompt framed in collaboration with @xinxin
Welcome to 2022 Critical Code Studies Working Group! In this first week, as our goal of thinking about decolonizing code collectively, we would like to ground this discussion in the potential incommensurable goal. On the one hand, we would like to confront the lineages that software brings with it: the histories and financial investments of the military and business industries in computation and the use of computers as techniques for ongoing discriminatory practices in the wider context of settler colonialism. On the other hand, we would like to build alternatives to these lineages, imagining and developing code that is ethical, that is queer, that is feminist, that is anti-racist, anti-colonial, and anti-settler colonialist. At the outset, we would like to make space for whether this is possible. Does decolonizing code fall under an "ethics of incommensurability" as Tuck and Yang invite us to consider as other calls to decolonize do? In other words, how can this discussion about decolonizing code not use decolonizing as a metaphor?
We have picked three main themes as starting points for our discussion.
Monopolies in Context
We find it difficult to consider the ongoing colonial/capitalistic violence without studying the context of the software
Example: Taiwan’s COVID app using Google Maps to prototype. The programmer used Google map to prototype a mask tracking app that benefited the residents of Taiwan but put him in enormous credit card debts. Too often we are dependent on Big Tech products to prototype responses to emergencies like this one, how do we set a long-term goal to move beyond this paradigm?
Open Street Map and native-land.ca map.
Crowd-sourced projects, such as OpenStreetMap and Native-Land, can shape their projects according to the value systems their respective communities expect them to. This allows a very different evaluative system than a corporate entity. What implications does this have on who keeps developers accountable? How do we evaluate systems beyond the values of whether they work, how efficient they are, and whether they are written elegantly? In addition, we can return to the question of funding: if the evaluation is dependent on profitability, then what strategies can be leveraged to fund independent projects who can set different evaluative priorities?
Finally, open-source software, as discussed in previous CCSWs do have the possibility of being shaped by their communities and maintained. However, many also tend to mimic proprietary software. How can we escape that binary so as not to end up with what is seen as a lesser version of the mainstream software?
Modularity: we are intrigued by the idea of modularity. I am thinking of John Brown Childs' description of the Haudenosaunee practice in his book Transcommunality: From the Politics of Conversion to the Ethics of Respect.
"As I understand the work of scholars with Haudenosaunee roots and involvement, such as John Mohawk, Jake Swamp, Oren Lyons, Gerald Taiaiake Alfred, and Lynne Williamson, this word for their culture means, in essence, "People of the Longhouse." The Haudenosaunee dwellings were longhouses containing several families. Each family was connected to the family next to it. But each had its own space, its own identity, and its own autonomy. The Haudenosaunee took this longhouse image of togetherness and autonomy and applied it to the geographic area that is their historical territory. This land ran from the Seneca people of the west, near what is now Buffalo, New York., through the land of the Cayuga, the Onondaga, the Oneida, and the Mohawk, farthest east near what is now Albany, New York. West to east constituted the "Longhouse" of these nations, each linked to the others while maintaining its own space and autonomy." (p.47-48)
In this chapter titled "Learning from the Haudenosaunee", Childs continues to describe how each family continued to be distinct and retained its individuality and differences while remaining connected to others. The differences are respected. Is there a way to develop software with modular pieces that can be exchanged and have a standard for communication across these differences in a similar way to the longhouses? This opens up questions of standardization but also perhaps templates:
Templates / Toolkit?
Continuing our thought on modularity, we are interested in opening up the question of whether it is possible to create an ethical template. Would it be possible to design a template that is programmed to support differences? And when that template isn’t responding to lived experiences, how can that template be challenged? How can it change/evolve? Can a template follow the intention of a toolkit, programmed in a way to give programmers the utmost agency to modify?
Please feel free to respond to any of these themes/questions in the form of comments below.