The Open Source Studio final project, ideally collaborations of 2-3 students, is a contribution to an open source project (or the creation of a new open source project.)
Contributions can be made through a Open-Source-Studio-at-ITP fork (using the process outlined in the data assignment) or to the project directly.
The first step is to generate a list of possible ideas for contributions (or new projects). Don't worry whether it's an idea that you want to do, you might find something that someone else in the class wants to work on. In addition, this is an exercise in evaluating how open source projects communicate their needs and welcome new contributors.
You can use these lists to search:
- Projects listed as "Great for New Contributors"
- Projects listed as "Awesome for Beginners"
- Google Summer of Code Organizations
You might also try these open source projects that are affiliated with ITP in some capacity:
- The Processing Foundation
- ml5.js
- Knitting Machine
- Open Source Studio - the class itself is an open source project?
Also, the projects from the "case studies" or guest speakers are possibilities.
- Case Studies
- p5.js Web Editor
- Improving accessibility of educational resources at ITP
- dev.to
- Distributed Web of Care
- File at least one GitHub issue with an idea for a contribution (or new open source project). Try to be specific, point to a feature, issue, or elements of the project's documentation.
- Respond to at least two other issues with a comment. Is it realistic? Are you interested?
- Break into groups of 3 (will be assigned randomly in class).
- Pick 2-3 project ideas to workshop from the GitHub issues list (or it could be a new one if you haven't had the chance to post.) Projects can be new open source initiatives or contributions to existing ones.
- Divide up the time (you have a total of 30 minutes). For example, if you each pick a project you have 10 minutes for each one. Complete the following "role playing" exercise for each project:
- One of you is the maintainer: explain the project and where help is needed.
- The other two of you are contributors and offer ideas for contributions.
- Then you can have a short discussion, looking at the project's website or GitHub page (if there is one). How do the contributors get started? Is there a Getting Started page,
CONTRIBUTING.MD
, tutorial, list of issues?
- After the above is completed, we will reconvene as a group and share stumbling blocks and next steps for some of the projects.
- Using the Proposal Template as a model, write a proposal for your final project. You can create it as a markdown page or use an alternative format like a google doc, blog post, medium post, or publishing platform of your choice.
- Pull request a link to your proposal on the proposals page.
The instructor will check in with each project regarding the status of the following.
- Proposal submission.
- Mentor assignment.
- First outreach to / feedback from mentor.
- To do list / goals to be completed by Tuesday, Nov 20
The instructor will check in with each project regarding the status of the following.
- Results of feedback from mentor or outreach to mentor if pending.
- User testing workshop on Nov 27 or Dec 4
- To do list / goals to be completed by Tuesday, Nov 27