OpenVeda Playbook: The Processing Foundation
Your guide to contributing to p5.js and Processing—projects at the heart of creative coding and open-source education.
1. The "Why": Code as a Creative Medium
- The Mission: The Processing Foundation's goal is to make coding accessible to everyone, especially artists, designers, educators, and beginners. Their flagship projects, p5.js (JavaScript) and Processing (Java), are software sketchbooks used in classrooms and art studios worldwide to create visual, interactive art.
- Your Impact: You can help make creative tools more powerful and accessible for a global community of learners and artists. Your contribution could be fixing a bug in a drawing function, improving documentation to help a student, or enhancing the web editor to make coding easier for everyone.
- Why it's a Career Supercharger: This is one of the most famously inclusive and welcoming communities in all of open-source. It's a fantastic, low-pressure environment to learn the fundamentals of contribution. It also demonstrates a unique passion for the creative side of technology, which is a rare and valuable trait that helps you stand out to employers.
2. The "What": The Tools of Creative Coding
- Primary Project (p5.js):
- Stack: JavaScript. It's a library that makes it easy to work with drawing, animation, and interactivity in the browser. All modern web technologies are relevant here.
- Primary Project (Processing):
- Stack: Java. The original desktop-based creative coding environment.
- Other Key Projects: They also have projects for a web editor (
p5.js-web-editor), web accessibility (p5.js-accessibility), and documentation.
3. The "How": Your Complete Processing Onboarding Journey
3.1: Join the Community
The community is friendly, helpful, and very active on Discord.
- Primary Channel (Discord): Join the Processing Foundation Discord Server.
- Your First Action: Find the channel related to the project you're interested in (e.g.,
#p5-js-devor#p5-js-web-editor). Introduce yourself and mention you're a new contributor looking to help.
3.2: The Foolproof Environment Setup (Example: p5.js)
p5.js is a JavaScript library, so the setup is very straightforward and fast.
- Prerequisites: You need Git and Node.js (and npm).
- Fork & Clone: Fork the p5.js repo on GitHub and clone your fork locally.
- Navigate into the folder:
cd p5.js - Install Dependencies: Run
npm install. - Run the Local Server: Run
grunt dev. This will start a local server and automatically watch for file changes. - Access: The terminal will give you a URL, usually
http://localhost:8000, which you can open to see the p5.js homepage and examples.
- Official Guide (for reference): p5.js Contributor Guide
- Common Troubleshooting Tip: The
grunt devcommand relies on a tool called Grunt. If the command fails, you might need to install the Grunt command-line interface globally by runningnpm install -g grunt-cli.
3.3: The Contribution Workflow
Standard GitHub PR flow, known for being very friendly to newcomers.
- Find an Issue: Find an issue with the "good first issue" label. They are very well-maintained and often have detailed instructions.
- Claim it: Leave a comment that you'd like to work on it. A maintainer will often respond with encouragement.
- Create a Branch:
git checkout -b fix/issue-description - Code & Test: Make your changes. If you're fixing a visual bug, take a "before" and "after" screenshot.
- Commit & Push: Push the changes to your fork.
- Open a Pull Request: Fill out their PR template with a clear description of your changes. Include your screenshots here!
- Engage in Review: The maintainers are very friendly and provide excellent, constructive feedback.
4. GSoC History & Focus Areas
- Historical Focus: Processing Foundation is a highly sought-after GSoC organization. Projects are often focused on three areas: Accessibility (making creative coding usable for people with disabilities), Education (improving the web editor and learning resources), and Core Library Features (adding new drawing functions or improving performance).
- What Mentors Look For: Passion and Empathy. They value contributors who care deeply about making coding accessible and creative. Showing an interest in art, design, or education is a huge plus. They also appreciate well-written, clear communication.
5. Key Repositories to Know
- p5.js (The Library): github.com/processing/p5.js
- p5.js Web Editor: github.com/processing/p5.js-web-editor
- Processing (Java): github.com/processing/processing4
6. Find Your First Task Right Now
- The Golden Link (p5.js): p5.js Issues tagged "good first issue"
- Accessibility Project: p5.accessibility "help wanted" issues are also great for beginners and highly impactful.
7. The Unwritten Rules (Mentor Insights)
- Documentation is a First-Class Contribution: The Processing community believes that clear documentation is just as important as the code. Improving examples or fixing typos in the docs is a highly respected and valuable first contribution.
- Show, Don't Just Tell: Since the projects are visual, your PR descriptions are 10x more powerful if you include a screenshot or, even better, a GIF showing the "before" and "after" of your change.
- Be Kind: This is the core rule. The community is built on kindness and a shared passion for creativity. Be supportive, be helpful, and be open to learning.