Making Space for the Future of p5.js

Lauren Lee McCarthy
Processing Foundation
7 min readNov 25, 2019
Group of warm and enthusiastic people gathered at p5.js Contributors Conference
[Image description: Group of warm and enthusiastic people gathered at p5.js Contributors Conference]

Dear Friends,

After nearly seven years of developing and leading the p5.js project, I will be leaving my role as project lead in January 2020. My goal is to transition the project to a rotating model of leadership with a new leader each year. This would be a paid leadership position, which the Processing Foundation would support as a year-long fellowship. I plan to guide the project through this transition. I will then put my energy toward continuing the work of making creative coding and open source communities more accessible and inclusive in my role as Co-Director of the Processing Foundation.

p5.js is a JavaScript library that aims to make creative expression and coding on the web accessible and inclusive for artists, designers, educators, and beginners. I originally got involved with this work because I was frustrated by the lack of diversity in the open source world. I felt alone as a woman of color, and wished for a space that was more welcoming to queer, trans, women, and people of color. Casey Reas, Ben Fry, and Dan Shiffman reached out and invited me into the Processing project, setting a precedent for opening up space for new perspectives. p5.js became a way for me and many others who felt underrepresented, excluded, or intimidated to create an alternative together. Having spent years imagining and building this project with an expansive community of contributors and users, I am so grateful to have been able to learn from you all.

As the project has scaled, the amount of time and energy it requires has also grown. I’ve reached a point where it’s no longer possible for me to continue to sustain this effort. It’s time for me to open up space for myself to think, to breathe, and to take on new projects. And space for others to lead, and to build new projects and communities.

I’m proud not only of all the work we’ve accomplished, but of the community and ethics we built and rebuilt as we learned over the years. p5.js started with an intention to hold inclusion, diversity, and access as core values of every decision made — from software to design to outreach. Our community statement, drafted by the group at the first Contributor’s Conference in 2015, laid a framework we strove to follow in many different directions at once.

p5.js Community Statement excerpt, full text can be found at https://p5js.org/community
[Image description: p5.js Community Statement excerpt, full text can be found at https://p5js.org/community]

This work includes a wide range of so many different open source contributions: translation to Spanish, Chinese, ongoing efforts in Hindi and Korean, and the creation of a Global Contributor’s Toolkit; making the software screen-reader accessible for users with visual impairments and disabilities and teaching workshops in sign language; creating a web editor and friendly error system to prioritize beginners; designing curricula for people in Washington state prisons with no internet access and students with low computer literacy in Johannesburg, South Africa; creating artworks and projects using p5.js, including a data visualization platform that highlighted human rights violations and social justice issues, a coding comic for historically underserved children of color, and bilingual coding zines; and expanding community through workshops for different groups like trans and gender nonconforming youth who live in New York City homeless shelters, women, non-binary, and femme-identifying folks, and many others. All of these efforts have come together to lead us to a 1.0 Release scheduled for January 2020. I see the p5.js project as an ongoing success, built by the individual triumphs of many people, and I want this post to be a celebration of all that’s been achieved and all the care that went into it.

People of all ages work on laptops at p5.js workshop
Creative Coding Fest at NYU ITP, organized by Saber Khan [Image description: People of all ages work on laptops at p5.js workshop]

At the same time, it’s important to talk about the difficulty of projects like this. The work demands an unsustainable amount of energy, time, and emotional labor. For me, it averages about 10–20 uncompensated hours per week. Ultimately, it’s not realistic nor sustainable to depend on so much volunteer labor. It burns out the individuals most deeply involved, and it creates barriers to access for those who can’t afford to volunteer their time. This is a problem endemic in open source projects.

We have had some success in the past few years with fundraising among our community of individuals, educational institutions, and granting organizations, and have explored a variety of models. However, it hasn’t covered the costs involved in maintaining a project with such a large and growing community. p5.js and Processing are used significantly by schools, many of which pay tens of thousands of dollars each year for commercial software licenses to companies like Adobe or Unity, and we had hoped we might find similar support here. However, only a handful of institutions have made recurring donations (to which we are very grateful).

The dream I have for this project is to move to a model of rotating leadership. I want to see a one-year project lead fellowship position through the Processing Foundation that offers a paid opportunity to steward and lead the project in whichever direction this person chooses. Former project leaders would act as mentors for them, helping with handoffs and transition from year to year. I believe rotating leadership would best facilitate new ideas and perspectives guiding the project. It would open opportunities for more people to lead and learn from this experience in a supported and sustainable way.

To make this position accessible to the broadest range of people, I feel strongly that this work should be paid. We estimate this project requires a project lead stipend of $60k, a mentor stipend of $5k, and another $5k that would go towards administration like fundraising. This means we need to raise $70,000 for 2020 and each year after that. The p5.js editor is another large project led by Cassie Tarakajian that has made p5.js much more widely accessible, and it has its own developer and hosting costs. NYU ITP has been supporting this in a huge way, but we need more help here as well.

We are beginning our annual Processing Foundation fundraising drive on December 3, and we hope we can make this dream happen together. If you use, teach with, or believe p5.js has value in existing, please consider supporting this work. You can also reach us at foundation@processing.org. #SupportP5

The future of p5.js is uncertain. I have a lot of hope that the community will come together to sustain it. But if not, we will archive the project and celebrate it as a successful project with a happy ending. It will remain open source on GitHub. Others may choose to fork or build on it, but the Processing Foundation will no longer actively maintain it. Endings are important, too. The process and community are the lasting outputs.

Students with teacher/contributor Kate Hollenbach in front of projected p5.js website
[Image description: Students with teacher/contributor Kate Hollenbach in front of projected p5.js website]

I want to express my deep gratitude to the thousands of contributors, teachers, and creators. There are too many to name, but here is a partial list (please add yourself if your name is missing). Many of you have been contributors over years, guiding the project to key milestones and new directions. The project will be strengthened by making space for all these new leaders. My hope is that p5.js continues and grows, and that long-time and newbie contributors alike feel welcome, supported, and empowered as we take this next step for the project.

I also want to acknowledge the participants at the most recent Contributor’s Conference, and Stalgia Grigg and Evelyn Masso who have spent the past year prototyping the idea of a p5.js fellowship, documenting and structuring the project so it may continue through changing leadership. And Cassie Tarakajian who has led the development of the p5.js editor, which has been essential in making p5 accessible to a broader community. Special thanks to Evelyn Eastmond who hatched the first vision of p5.js with me, and chose the perfect shade of pink that has carried us through. I am indebted to Casey Reas, Ben Fry, and Dan Shiffman who laid the foundation with Processing, and continued to be mentors and partners in developing p5.js. Also to Dorothy R. Santos, Johanna Hedva, Saber Khan, Jesse Cahn-Thompson, and Xin Xin, collaborators at the Processing Foundation that have been a sounding board and support system for this project over the years. And to longtime sponsors NYU ITP, NYU IDM, CMU Frank-Ratchye STUDIO for Creative Inquiry, University of Denver Clinic for Open Source Arts (COSA), UCLA Design Media Arts, NYC Department of Education, and Bocoup that helped sustain the project. Finally, ❤ to Taeyoon Choi for the countless conversations about collaboration. And to Kyle McDonald, who answered my every request for feedback with overwhelming wisdom, support, and love.

❤ Lauren

--

--