I’m looking forward to this meeting next week where Nathan Schneider will be talking about about the limits and pitfalls of classical conceptions of open source, and how we can do better to build sustainable open source projects and software development practices. To prepare for this I read the two articles authored by Schneider that were mentioned as background material (Schneider, 2021 ; Schneider, 2022). I really enjoyed both, but for slightly different reasons. Even though the meeting itself is focused on the [meet.coop] organization, I’m hoping that it will inform some recent thinking and discussion about the sustainability of web archiving software.
The Tyranny of Openness synthesizes a ton of material related to changes in the open source landscape with regards to ethics, and covered several things I had not seen before. Seeing these developments presented together, through the lens of Standpoint Theory is really helpful I think, and reminded me of work Bergis and I did on the Ferguson Principles to help unpack the power dynamics at play when creating web archives. I like how Schneider calls on the work of Elinor Ostrom to emphasize the role of governance in healthy open source projects:
… clear and fairly enforced rules are essential for managing common resource pools. Peer producers, like anyone else, need a stable and trustworthy stage in order to freely contribute … One further dimension of agency … is the need for autonomy from external authorities and organizations–to ensure, for instance that participants can help craft their own standards of excellence, rather than simply adopting those of outside funders or norms. But crafting such standards means having processes for deliberation and decision, as well as the power to enforce what the community decides.
This is a topic that is top of mind for me as I’ve been working with Webrecorder tools lately at Stanford, and also helping here and there with bug reporting, support questions and some technical writing. As organizations are transitioning from the now abandoned OpenWayback project towards pywb there needs to be some way of structuring the work so these people can work together to support the software, while also allowing the Webrecorder project itself to survive. Frameworks like Github’s Minimal Viable Governance may be a good example to start from and adapt. Schneider also mentions the Debian Constitution which (since 1998) defines how that project collectively makes decisions.
In Governable Stacks Schneider strikes a balance between the colloquial notion of a tech stack (an assemblage of software and hardware), and Benjamin Bratton’s more holistic, sociotechnical concept of “The Stack” (Bratton, 2016) to encompass, for example:
… all that enables one to use a social media service … the server farms, the corporation that owns them, its investors, the software the servers run on, the secret algorithms that analyse one’s data, the mobile device, its accelerometer sending biometric data to the server farm, the network provider, the backdoor access for law enforcement, and so on.
Schneider draws on his experience as a member of the May First technical cooperative combined with other examples of technical and cooperative efforts to articulate three strategies for developing anti-colonial alternatives to market driven technology: sovereignty, democracy and insurgency. While sovereignty is usually associated with the apparatus of the state here Schneider is talking about autonomy and self-determination at various levels of the stack. By democracy Schneider means the daily practices that help ensure that technical stacks remain accountable to the people who use them. And by insurgency Schneider means putting the democratic practices and sovereignty to work in the defense of its members against efforts to dismantle the stack or disempower the individuals that use it. Grace Lee Boggs’ idea of [dialectical humanism] runs like a red thread through this paper, as the means by which a group of people develop political strategies, not through orthodoxy to a particular platform or ideology, but through cooperative struggle, together.
Now you might be thinking this sounds pretty abstract, but the really nice thing that Schneider does in these two articles do is show how these ideas are getting expressed in many different projects already, and are part of a more general arc for open source software development over the past few decades. Sustaining open source software is a struggle, and projects are especially vulnerable when they become the target of enclosure, capture, and when they are weakened by benevolent dictators who must, eventually, cede their authority, by design or as a matter of circumstance.
This is especially the case for Webrecorder, which is really the only viable open source stack for creating archives of the web, and playing them back again. Some of the challenges it faces, in terms of replay of highly dynamic web web applications, are really only tractable if approached collectively, drawing on the expertise of a group of individuals who share the same goals and ethics, and are willing to dive in and help. Making it clear how to constructively engage, without simply signing over authority to a group of national libraries and other powerful organizations who are able to pay the membership dues, is important work that remains to be done, especially in the context of tools like ArchiveWeb.page and ReplayWeb.page which are designed for individuals and collectives to use, and do not require large investments to keep online.
Look to the soon to be released report from New Design Congress for why shared ethics and governance are so important when it comes to deploying open source web archiving software.