- 2. Kit Kuksenok p5 [ Week 2 Notes ]
- Licenses
- Most successful communities
- Open Source as a career path
- References
- Class discussion links
- Final Project
- Examples
- What’s the minimum viable Open Source Project
- ML5 Case Study
- Kit’s talk notes
2. Kit Kuksenok p5 [ Week 2 Notes ]
Kit has found it interesting how p5 users would not call themselves coders, even though they are coding. p5 became a creative outlet.
Q: Can you elaborate on how JavaScript is more portable compared to other programming languages? As i thought JS itself is quiet similar to other neighbouring languages like java, or even python is also relatively easy to understand in human languages.
A lot of different machines have a web browser, codepad or even editor.p5 where you can start coding with very little login or requirements. No local environment required. Java and Python might require reading into the command line.
Kit spends their time as a maintainer, but also GSOC admin. Processing is a 10 person organization. Stewardship review code. But organizing events, generating ideas are welcome contributions.
Retention after GSOC is defined as “does this person stay in open source” as opposed to staying in one particular project.
AGENTS.md and AI
Included as a safeguard for agents or any prompts operating with agency. History of that file is worth checking. GSOC has been swamped with AI generated files. p5 will question the PR creator to understand whether there was good intent.
If an issue has been assigned to somebody else, if you’ve not read the thread, you might miss it and then have two people working on the same issue.
AGENTS.md is the new robots.txt to deal with crawlers.
Building reference website locally can be tricky.
Kit mentions that creating something yourself is surely faster, but the outcome is vastly different because of the community and collaboration aspect.
Python governance model as a case study → Interesting way of working within futures. Reference youtube talk. Transparent nomination process; public deliberation (including all the issues, such as bike shedding → instead of getting focused on building the factory, you build the shed only. = getting distracted by details). Bias around who has free time.
Python was the p5 of the 2000s. Readable, too abstract and high level, which makes both learning friendly.
When creating your own open source project from scratch, you have a chance to define what stack, platforms and languages you like, which is extremely hard to change later on.
L5 could be good inspiration →
Q: What are the differences between a github repo (source available?) and an open source project? Scale of users? Community?
For it to be true Open Source, you can’t constrain its use. If your project limits freedoms, it might not be open source as defined by FLOSS is an acronym for Free, Libre, Open-Source Software.
It’s not about the code being available, it’s about being allowed to do commercial work. It’s about
Most defining feature is that most of the work is done in public. Security issues, moderations still need to happen in private.
But the key feature is whether there’s a possibility for people to become involved.
Licenses
There’s tools online to check licenses between dependencies, which are especially tricky
Most successful communities
Wikimedia Foundation/Wikipedia: Newcomer onboarding interventions.
Women identifying people are more likely to have their contributions reverted and then. If you want to reduce bias, you increase transparency in process. If you have too little structure, it starts to increase biases.
Laura Lee McCarty: Importance of the invitation. Wikipedia Edit parties.
Open Source as a career path
EU has a lot of focus on digital sovereignty, that includes funding for (paid) open source maintainers. Mention of Sovereign Tech Fund.
“There’s many ways to make money with software” → you can have SaSS around an open source project. When are you actually selling the software? If you want to increase revenue, look at reducing cost. How big does it really need to be? Then you can think about the business model around it. What’s software and what’s a service may be different.
Q: How are open source teams situated within private tech companies?
TensorFlow, now maintained by Google.
Hugging Face: Database of models.
For profit: Hosted GPUs, Pro tier → business model; therefore GitHub
Something to think about is how is p5 representative of other open source projects in terms of welcoming contributions.
References
- https://k0.games/ccfest/
- Kit Kuksenok on p5.js 2.0 for Tim Rodenbroeker Creative Coding
- https://k0.games/ccfest/library
- Speaker Notes: https://pad.riseup.net/p/keep-up-the-persistence
- Recommendation: Python talk linked
- https://homes.cs.washington.edu/~jfogarty/publications/ecscw2017.pdf
- ~2020s: software developer (Python mostly), p5.js as a reprieve: what can I do with this medium in 1-3 hours while distracted, drained, etc?
- Contribution Guidelines
- Securing Open Source Communities Working Group
- Working on a minimum viable training for open source projects.
- AXIOS security attack
- Open Source Ethos research project
Class discussion links
Dan would take a broader view on what constitutes Open Source.
Final Project
- Case study of open source project and its governance
Examples
- TensorFlow.js
- Transformers.js (created by someone at ITP)
What’s the minimum viable Open Source Project
- Repo available online
- Readme.md with some format of documentation
- Contributing.md file
- Choosing a License
What’s the intention? Making it available vs seeking out contributors and community.
ML5 Case Study
Docsify or Gatsby build the reference from CSS files + Markdown files, therefore it’s fast to load than merely having HTML static files. It’s a build tool to take files in a certain format and display them on the browser.
Kit’s talk notes
Kit Kuksenok (they/them) (https://xnze.ro/)!
My places: Berlin, Kyiv, Seattle, Pittsburgh
- My background / how I came to be p5.js lead
- 1998: first program (sort of)
- CCFest 2026 talk: https://www.youtube.com/watch?v=tNgwUFU8Gq0
- 2001: learned to program at a Pittsburgh public library - limited computer time, motivated to make games - still inspired by accessibility of JavaScript as a language and web platform in shared contexts and with many different devices
- can you elaborate on how JavaScript is more portable compared to other programming languages? as i thought js itself is quiet similar to other neighbouring languages like java, or even python is also relatively easy to understand in human languages
- Learning and code fundamentally social experiences
- Most of building software is not about typing code
- 2023 work, part of a group show with Elly Clarke: https://k0.games/howareyou/v1
- ~2010s: computer science & engineering MSci and PhD at University of Washington. Studied software engineering practices among oceanographers - most specifically nto identifying as "programmers" despite doing code work professionally.
- Scottish Public Engagement Network Annual Gathering 2021 https://www.youtube.com/watch?v=Xc3n5UyFhiA&t=443s)
- https://link.springer.com/article/10.1007/s10606-017-9285-x
- https://homes.cs.washington.edu/~jfogarty/publications/ecscw2017.pdf
- ~2020s: software developer (Python mostly), p5.js as a reprieve: what can I do with this medium in 1-3 hours while distracted, drained, etc?
- 2008-2023 artistic research on the representation of bodily experience, including p5.js for expressive data visualization
- https://data.xnze.ro/
- https://criticalcode.recipes/contributions/critical-data-practice-at-home-and-with-friends
- https://k0.games/ccfest/complexity.html (click and drag for the visual; scroll for the text. It is part of the above CCFest talk)
- By 2024, I moved from teaching ccasionally to teaching fulltime when p5.js lead role was open it seemed like an amazing mix of many different interests and skills
- If you are working on job applications I'm happy to share my cover letter and CV, as long as you agree not to distribute. Email me if it's helpful.
- Day to day as p5.js lead / engineering manager
- I work 80% of full time, 32 hours per week. Half is p5.js lead, half is engineering management across other open source projects Processing Foundation is involved in, with a special focus on p5.js.
- Working on scoping future initiatives and technical components of planned programs with Processing Foundation team (~10 people https://processingfoundation.org/people)
- Code review, development planning with maintainers and stewards (~a dozen p5.js community members) https://p5js.org/contribute/steward_guidelines/
- The programming work is either simple one-liners or topics that require both significant deliberation and something technically challenging/uncertain:
- https://github.com/processing/p5.js/pull/8676 (ongoing, see google doc)
- Do you ever wish people made contributions of this nature? Why or why not?
- I personally wish that the community would help make very technical commits to p5.js and to other projects.
- https://github.com/processing/p5.js-website/pull/1009 (see issue discussion)
- Always learning, eg in 2025: GitHub Secure Open Source Fund / training
- Working groups https://github.com/nivenly/securing-open-source-communities-wg
- Can you explain what this working group is? Is it about securing open source against hackers or something else?
- Collaborations (e.g.: https://github.com/processing/p5.js-website/issues/1221)
- Google Summer of Code admin 2025-2026 https://discourse.processing.org/t/gsoc-2026-join-the-processing-foundation-as-a-summer-of-code-contributor/47450
- Repositories: p5.js, p5.js-website, p5.js-web-editor, p5.js-compatibility
- p5.js switching to 2.x this ~July 2026
- https://medium.com/@ProcessingOrg/p5-js-2-1-and-2-2-expanding-graphics-avenues-with-p5-strands-improvements-and-webgpu-9771d40c8b1d
- https://github.com/processing/p5.js/issues/8624 2.3 milestone - technical prerequisites for major work on screen reader accessibility features
- p5.strands discord chat - monthly, recommended! Next one April 10th, 11am ET
- https://libregraphicsmeeting.org/2026/program/talk_p5js-beginner-friendly-shader-programming/
- How does the current development of LLMs change your future vision of p5.js? And the influence on open source projects/softwares/...
- Can you describe what kinds of aspects make code 'unthoughtful' that you've seen submitted? There is an Agent.md file from Processing as part of the AI policy, that prohibits fully AI generated PRs: https://github.com/processing/p5.js/blob/main/AGENTS.md
- how does one get started contributing to p5.js
- Say hi on discord.p5js.org in the #contribute-to-p5 channel
- Test "release candiates" https://github.com/processing/p5.js/releases
- Look for "Good First Issue", or "Technical Initiative" when a bit more familiar: https://p5js.org/contribute/contributor_guidelines/#find-issues-using-labels
- what are some "low hanging fruit" contributions a student could propose and make as a small final project for the class?
- Lots of energy on the p5.js-website repository right now! https://github.com/processing/p5.js-website/issues/1221
- Mondays 5pm CET (11am ET) discord.p5js.org working group; handful of people, I facilitate. It's a good place to check if ap articular design proposal is ok.
- April 13th: introduction to contributing to p5.js reference https://beta.p5js.org/contribute/contributing_to_the_p5js_reference/
- "what is the relationship between community and open source from your perspective?"
- It is really important that community initiates come from bottom-up. My job is first and foremost is to support that and amplify it, and to invite people into the work. Single-authored code is usually faster, collectively-authored code is more robust. Doing things in public takes energy, but that energy goes into the project.
- https://www.opensourceethos.net/ - see "Futures" and the different lenses (Individual, Project, Community) for each value (Accessibility, Education, Collaboration, Transparency, Agency)
- social engineering attack vectors, very large moderation surface, and recent/increasing pattern of governance crises --> need for "responsible fictions"https://media.ccc.de/v/39c3-how-to-keep-open-source-open-without-leaving-our-communities-open-to-threats
- It's important to move away from "benevolent dictator for life" / "benevolent dictator for now" models: Gordon-McKeon, S. “Governing the Software Commons”. Talk at Pycon Cleveland 2019. Available: https://www.youtube.com/watch?v=mAC83JVDzL8
- Is this related to the working group for threats against open source? Do you mind summarizing or synthesizing, I can't watch this right now as I'm in class...
- Work in progress: more public mechanism for software decision making in p5.js: https://github.com/processing/p5.js-src
- Trinkenreich, B., Wiese, I., Sarma, A., Gerosa, M., & Steinmacher, I. (2022). Women’s participation in open source software: A survey of the literature. ACM Transactions on Software Engineering and Methodology (TOSEM), 31(4), 1-37.
- survey of 51 articles from 2000-2021, which consistently demonstrate very low participation by women, constituting less than 5% of the core developers, and less than 5% of authored code proposals
- Synthesizing the recommendations from reviewed work, the authors propose “encouragement for women newcomers” interventions
- Dryden, A. (2013). “The ethics of unpaid labor and the OSS Community.” (Online). Available: https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community Accessed Dec 18, 2025
- Two approaches to addressing bias & gap among contributors: improving onboarding affordances and redistributing funding
What advice do you have for someone starting a new open source project? :) (example: https://l5lua.org/)
- What are the differences between a github repo (source available?) and an open source project? Scale of users? Community?
What happen to contributions / contributors that went M.I.A (missing in action)? Do other people pick up on the issue or is there typically a timeline expected from contributors to solve an issue?
- I went MIA and never came back! And I own the repo so it was abandoned! There is no one answer, in my opinion...
Can you talk more about the Python governance model as a case study? What makes it special in your view?
I've seen a few projects that are open source make foundations and they get an income for maintainers that way. Lean FRO is financially very, very well off.
- https://github.com/nayafia/lemonade-stand <- funding in OSS
+1 great resource, thanks for sharing!

