- 1. Fundamentals of Open Source
- Open Source and values
- Little things I’ve learned
- Source Materials
- Creating a pull request
- Coding with agent mode
1. Fundamentals of Open Source
Open source contributors are a key part of the ecosystem - obviously. When making a contribution, you’re meant to know the ins and outs of what you’re pushing and for that to be a true improvement instead of adding complexity.
When we’re now seeing pushes that include githubusername + Claude as the author, it’s effectively positioning AI as a regular contributor. Should open source projects start adding markdown files with taste in code writing and similar preferences? As in, if AI is being used to write code regardless, should projects at least make sure it’s being done tastefully?
Edit: I’ve found out later that p5.js already has an AGENTS.md file.
Mitchell on this The StandUp with The Primeagen podcast episode makes the point that newbies should never start by writing docs because they don’t know the platform well enough to be teaching. This presents an interesting question because for some who are non technical and want to contribute, writing the documentation is the gateway.
At some point in the episode, they wonder if creating open source projects is even worth it anymore. My interpretation is that dealing with different people and open issues and community building is effectively slower if all you want to do is use the tool yourself.
Alongside improving people’s professional experience, sounds like being a part of the community is very much the key motivation. Building together and later finding the same folks in IRL events. This opens up questions of responsibility within a semi anarchy. If you push an update that gets merged and is found to be problematic, are you responsible for the fix?
Being responsible for your PR, conscious of whether you’re adding complexity for the sake of participation, struggle and learning with low stakes. This is all a good way of teaching responsibility, civics and morals to young people. Something that previously I had thought that scouts boys, the church or perhaps sports would be good at.
Open Source and values
Open Source as a stance towards life and creation. The belief that others can look at your work and contribute in ways previously unimaginable to yourself. That sharing your ideas is better than keeping them to yourself alone. It also means not being fearful of having others look at your work.
I haven’t contributed to any projects. There’s an aspect of it around haven’t had a moment where I thought I could make a contribution. Another is that when I learned how to code was precisely around November 2022, when ChatGPT was launched. Therefore I’ve found ways to fit in different features I needed through trial and error, research, prompting for boiler plate code for integrations in different libraries and it never crossed my mind to actually create a PR around it. Other barriers included not knowing too much around compilation or pushing for optimization for code that is general enough to fit others’ use cases.
Little things I’ve learned
- Config options or intangibles in taste is something people look at.
- People in the community (maintainers) coach each other. Not always the owner. Ownership is distributed.
- Each PR should be associated with an existing issue, otherwise it’s hard for maintainers to have it flagged.
Source Materials
- Interview with Lauren Lee McCarthy
- OSSTA Zine by Kate Compton
- Worms, Butterflies and Dandelions. Open source tools for the arts by Taeyoon Choi
- Coding as a translation process of ideas becoming logical operations.
- “People may deny ideology, but they don’t deny software — and they attribute to software, metaphorically, greater powers than have been attributed to ideology.”
- On Software, or the Persistence of Visual Knowledge, Wendy Hui Kyong Chun, 2004.
- Steve Woolgar, Configuring the user (1990)
- Lucy Suchman, Human Machine Reconfigurations (2006)
- Jonathan Grudin, The Computer Reaches Out: The Historical Continuity of Interface Design (1990)
- Federica Frabetti, Software Theory, A Cultural and Philosophical Study (2014)
- Luciano Floridi,The Philosophy of Information (2011)
- Simone Browne, Dark Matters: On the Surveillance of Blackness
- Aden Evens, Logic of the Digital (2017)
- Tara McPherson, Why Are the Digital Humanities So White? or Thinking the Histories of Race and Computation (2012)
- Winograd & Flores, Understanding Computers and Cognition (1986)
- Sarah Kember, Cyberfeminism and Artificial Life (2002)
- I’m thankful to a various folks who suggested these readings via twitter thread.
- Processing and Floss by Casey Reas
- There are variations in central ideology between Free Software, Freeware and Open Source. There’s also just source available.
References
My own references
“Radical Software”, magazine first published in 1970, the motto was “The Alternative Television Movement” and considered software as content that is fluid across different hardware platform structures.
ArchiveCreating a pull request
1. Fork repo on GitHub, update main branch for updates 2. Clone fork to local machine 3. Create a branch in local clone and make changes 4. Push branch to my fork 5. Open a Pull Request from my fork’s branch → original repo
git clone git@github.com:ineslucas/Playground-OpenSourceStudio.git
cd Playground-OpenSourceStudio/git branch ines_blog_add
git checkout ines_blog_add
ls
code .
git diff
git add .
git commit -m"adding inês' blog"
git push origin ines_blog_add
// To github.com:ineslucas/Playground-OpenSourceStudio.git
// 66d6bbf..d69476e ines_blog_add -> ines_blog_addBut I haven’t been able to, even with documentation, associate the pre-existing issue to a PR.
Coding with agent mode
In the process of trying to associate my PR to an issue, I’ve found this in browser coding editor, presumably from GitHub.
Q: What can gh (GitHub CLI) do that Git can’t?
Sub-modules vs cloning vs fork vs git mirrors
// From a fork
git remote
// origin // This would be my own repo/fork
// upstream // This would be the shiffman/Playground repo
git remote --v