Public Lab has received support for students to work on Public Lab software projects via Google's Summer of Code program -- 2018 is our fifth great year of open source coding! In 2017 we also joined the Rails Girls Summer of Code program.
This is a key way that we are able to develop our collaborative platform (this site) as well as other Public Lab coding projects.
Check out the updates and ideas page for 2018 Summer of Code here! *
We especially welcome contributions from people from groups underrepresented in free and open source software!
Want to get involved? Read over our Summer of Code Ideas Page to learn about possible projects
How we work
Over recent years, we’ve steadily refined a workflow that helps new contributors get plugged into our community and code with a warm welcome, and aims to support building skills incrementally and cooperatively. As their first step, we ask everyone to complete a “first-timers-only” issue, which you can find on our Welcome page at https://code.publiclab.org. We’re always looking for ways to improve, and welcome feedback!
Once you are comfortable with our workflow (you can complete a second issue as well to get the hang of it) we’d like to ask that you compile your project steps into a planning issue, which you can learn about here: https://publiclab.org/notes/warren/01-18-2018/software-outreach-modularity-is-great-for-collaboration You can see examples here: https://github.com/publiclab/plots2/labels/planning
At this point, we recommend you begin going through the task list, creating a pull request like a mini-project for each task. Each one will ideally have tests, and we can help you develop these.
As you progress, we encourage contributors to grow as leaders by reviewing others’ pull requests, helping troubleshoot, and also taking small parts of your project to post as “first-timers-issues” for someone else. You can read more about these steps at https://publiclab.org/software-outreach and https://github.com/publiclab/plots2/labels/support.
Your code will be reviewed, supported and troubleshooted (troubleshot?) and potentially published to our live site as often as once a week, and you’ll be able to see it running and get feedback from people about it to inform your work.
Towards the end of your project, we’ll encourage you to take remaining pieces you’d like to see followed-up on in the future, and describe them with enough information for others to take up and complete. This could be in the form of “first-timers-only” issues, or “break-me-up” issues that list out steps that can be adapted into small stand-alone tasks.
|Software project ideas for upcoming 2018 Summer of Code fellowships?||@warren||11 months ago||7|
|Create a welcoming "first-timers-only" issue to invite new software contributors||-||-||@warren||-||-||0 replications: Try it »|
|Help Public Lab’s software grow by joining a supportive team||-||-||@warren||-||-||0 replications: Try it »|
|Use Git and GitHub to contribute and improve Public Lab software||-||-||@warren||-||-||0 replications: Try it »|
|Make the most basic github contribution||-||-||@liz||-||-||0 replications: Try it »|
Activities should include a materials list, costs and a step-by-step guide to construction with photos. Learn what makes a good activity here.
What does it mean to be a mentor?
Mentors check in with a student at least once per week roughly from May-August, and offer some project management guidance and encouragement... while relying on the plots-dev list and the
@publiclab/reviewers group on GitHub to provide code-specific input, so that we share the burden of specific technical support.
This means that to be a mentor you don't necessarily need to know how to code -- we need mentors who know Public Lab's community and practices well, and who can encourage students to speak up when they get stuck, and to ask the community for input and testing of their work. Students often get stuck when they don't know how something should look, or how a feature might be used by the community -- contextual info!
Some more resources on mentoring:
- our Summer of Code workflow
- read different ways to mentor in this post -- we need various types!
- read about what reviewers do day-to-day on Public Lab code projects
- read about our commitment to modularity, very important in how we ask contributors to work
- read over our software outreach strategies
- http://write.flossmanuals.net/gsoc-mentoring/ also has a lot of resources on mentoring, though not specific to Public Lab
Our code contributor community is built on a commitment to mutual benefit -- we can’t create good software without welcoming in newcomers, and we are deeply invested in supporting contributors to learn new skills and grow as coders, designers, project leaders, and “cooperators”. Unlike many open source communities, much of our capacity is aimed at helping people become proficient coders, and to learn and apply principles such as code modularity, test-driven development, and more, as outlined at https://publiclab.org/software-outreach.
But we also seek to change coding culture by recognizing how important communication, mutual support, and affirmative and welcoming tone are. As part of this, we seek to improve ourselves and help contributors learn how to support one another, welcome in a diverse and inclusive community, and build a more positive and equitable society by doing things a little differently.
- Starting in 2017, we began using tags to organize content, such as #soc-2017
- GSOC 2016 program, projects, students and mentors
- GSOC 2015 program (application only), projects, students and mentors
- GSoC 2014 program, projects, students and mentors
- GSoC 2013 program
- GSoC 2013 mentors & proposals