Public Lab Wiki documentation



Summer of Code programs

3 | 41 | | #7963

« Back to Developers

Public Lab has received support for fellows to work on Public Lab software projects via several "Summer of Code" style programs including Google's Summer of Code program -- 2019 is our sixth great year of open source coding with GSoC! In 2017 and 2018 we also joined the Rails Girls Summer of Code program, and in 2018 we participated in Outreachy.

This is a key way that we are able to develop our collaborative platform (this website) as well as other Public Lab coding projects.

We especially welcome contributions from people from groups underrepresented in free and open source software!

How to apply

Want to get involved? As a 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.

While it’s helpful to have some experience with the Git version tracking system, we have guides to help you go through this process, and will be there to help you get your code posted. Almost all of our code is in Ruby on Rails and JavaScript, so basic familiarity with these systems is a plus. We have a chatroom at https://publiclab.org/chat where you can get help pretty much any time.


Project ideas

We kick off each season with a big brainstorm of ideas. You can find this year's discussion here: https://github.com/publiclab/plots2/issues/7360

Our Summer of Code Ideas Page will list the final brainstormed ideas that come out of this process.


Call for proposals

We have not yet opened our call for proposals, but you can read last year's here, to get ready! Feel free to ask questions there as well until the 2020 call is posted. Thanks!

You can see past years' calls for proposals lists here: https://publiclab.org/tag/call-for-proposals

The call for proposals asks people to post their proposals using this template: https://publiclab.org/gsoc-application-template

We encourage people to leave comments, encouragement, tips, and questions on each others' proposals in a community fashion, and to be friendly and welcoming to one another!


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. We’re always looking for ways to improve, and welcome feedback!

Once you are comfortable with our workflow by completing a first-timers-only issue (see above) we’d like to ask that you compile your project steps into a planning issue, which you can learn about here. 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.

What makes a good project

Hi all, at Public Lab, @emash and @warren brainstormed on this a bit, and we felt that a good project:

  • can be broken into smaller parts that can be merged into our main branch on at least a weekly basis
  • could be completed as a "small" initial version (MVP) that is later expanded on or refined
  • has an integrated recruitment plan, i.e. the student has plans to recruit others into the project and designs the project for this
  • has background/context/historic info readily available to inform the work
  • is generally self contained - all the code in one place (or clear integration guidelines provided)
  • contributes to our software roadmap - (stability, maintainability, low technical debt, legible: https://publiclab.org/notes/warren/05-22-2019/draft-of-a-public-lab-software-roadmap-comments-welcome)
  • solves priority issues for Public Lab's broader community
  • provides a feeling of accomplishment!
  • helps students build skills/portfolio
  • is a "cool new thing" (but not all the projects we NEED done fulfill this...!)
  • has a good plan for integration/publication to the live production environment, and schedules time for this

Evaluations

We've posted various guidance on how we do evaluations in our Summer of Code programs. Here is a short collection of suggestions and info!

  • https://github.com/publiclab/plots2/issues/5930
  • https://publiclab.org/notes/warren/08-20-2019/wrapping-up-outreachy-and-gsoc-2019

Questions

Ask a question  or help answer future questions on this topic

Activities

Add an activity  or request an activity guide you don't see listed

Activities should include a materials list, costs and a step-by-step guide to construction with photos. Learn what makes a good activity here.


Mentoring

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!

If you're interested in being a mentor, email the developers list or jeff@publiclab.org -- and read over our software outreach resources to get an idea of how we work!

Some more resources on mentoring:


Communication

We do occasional chat or video sessions, and mentors rely on each other quite a bit, in the chatroom and on the plots-gsoc list.

Benefits

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.


Past years


Updates

Title Author Updated Likes Comments
Spam management Dashboard @ GSoC week-3 @keshav_sethi0004 about 1 month ago 0
Week 3 @ GSOC 2020: Mapknitter Export Module and Spectral Workbench upgrades @alaxallves about 1 month ago 0
Outreachy proposal: Fortify Public Lab Text Editor and Introduce More Custom Inserts @asoamarachi 2 months ago 8
GSoC 2020 proposal: Site Wide Accessiblity on PublicLab.org @suyash1814 3 months ago 31
GSoD : System diagram and Roadmap for Plots2 @bansal_sidharth2996 3 months ago 3
GSoc Proposal: OAuth & Upgrade to Bootstrap 4 @bansal_sidharth2996 3 months ago 41
Outreachy Proposal: Optimize Performance and Accessibility of Public Lab Content. @itm2017004 3 months ago 15
Outreachy proposal: Optimize Performance and Accessibility of Public Lab Content. @uwaobayagbona 3 months ago 1
Outreachy proposal: Optimize Performance and Accessibility of Public Lab Content. @medlinechinonye 3 months ago 0
GSoC 2020 Proposal – Implementation of better printability of posts and wiki pages @susannadiv 3 months ago 9
GSoC 2020 proposal: Spectral Workbench - Rails and DevOps upgrades @ruturaj_mohite 3 months ago 6
Outreachy proposal: Optimize perofrmance and accessibility of Public Lab content @opetunde_adepoju 4 months ago 0
SoC proposal: @nitin_tech 4 months ago 4
SoC proposal: Expanding Community Toolbox @icode365 4 months ago 7
Call for 2020 GSoC proposals @cess 4 months ago 4
GSOC Multi Party Auth System @bansal_sidharth2996 5 months ago 0
Career goals after Outreachy @christie_reni 5 months ago 7
Draft of a Public Lab Software Roadmap: Comments welcome! @warren 6 months ago 13
Outreachy proposal: @Reenesa 7 months ago 2
Outreachy proposal: Refine Geographic UI and JS Integration for PublicLab.org @christie_reni 8 months ago 16
Outreachy proposal: Refine Geographic UI and JS Integration for PublicLab.org @natalie_stjean 8 months ago 7
Congratulations to our 2019 Outreachy and Google Summer of Code team! @warren 10 months ago 2
Outreachy Final Blog : An awesome Journey @lekhidugtal 10 months ago 7
Google Summer of Code 2019 - Final Work Product - Isha Gupta @IshaGupta18 10 months ago 18
Google Summer of Code 2019 Final Report @sidntrivedi012 10 months ago 3
Google Summer of Code 2019: Work Product @namangupta 10 months ago 1
GSoC19: Mapknitter Rails Upgrade @kaustubh_nair 10 months ago 2
Google Summer of Code 2019 Public Lab Final Work Product: Pranshu Srivastava @rexagod 10 months ago 4
Google Summer of Code 2019 Work Product 2019 @namangupta 10 months ago 1
GSoC proposal: Mapknitter Image Management and Synchronous Editing @divyabaid16 11 months ago 2
Wrapping up Outreachy and GSoC 2019 @warren 11 months ago 4
Public Lab Outreach Event - Jaipur @divyabaid16 11 months ago 11
Second Evaluation (GSoC 2019): Mapknitter Rails 6.0 upgrade @alaxallves 12 months ago 5
Google Summer of Code: Phase II @lit2017001 12 months ago 0
GSoC Phase ll evaluation @gautami_gg 12 months ago 2
Google Summer of Code: Phase II @IshaGupta18 12 months ago 1
Updated: Evaluation 2 GSoC @divyabaid16 12 months ago 5
GSoC '19: Mapknitter Rails upgrade, Phase II @kaustubh_nair 12 months ago 5
Google Summer of Code: Second Evaluations @rexagod 12 months ago 5
My journey to getting selected and first few weeks of the internship @anan12 almost 1 year ago 1
My efforts to be a part of GSoC’19 @divyabaid16 about 1 year ago 1
MapKnitter: Multiple image export @divyabaid16 about 1 year ago 4
Second Blog: My work for outreachy @lekhidugtal about 1 year ago 3
Getting help in a coding project @warren about 1 year ago 2
Google Summer of Code @ Public Lab : First Phase Work @namangupta about 1 year ago 1
<code> Into GSoC’19 with Public Lab </code> @IshaGupta18 about 1 year ago 0
My Journey in Open Source (GSoC’19) @IshaGupta18 about 1 year ago 2
Google Summer of Code @ Public Lab: 3rd and 4th Week @rexagod about 1 year ago 4
Google Summer of Code @ Public Lab: 1st and 2nd Week @rexagod about 1 year ago 4
Draft of Public Lab Image Sequencer User Manual – Comments Welcome! @MaggPi about 1 year ago 6
My first blog post for outreachy @lekhidugtal about 1 year ago 3
Introducing the MapKnitter: Community Atlas project @warren about 1 year ago 8
A big WELCOME to our Outreachy/GSoC team for 2019! @warren about 1 year ago 6
SoC proposal: GSoC: Websocket Implementation for Real-time Usage and Sensor data and Display Library @namangupta about 1 year ago 20
SoC proposal: Improving UI and Structure of Leaflet Environmental Layers @rkpattnaik780 about 1 year ago 5
SoC Proposal : Spectral Workbench Capture @sidntrivedi012 about 1 year ago 12
SOC 2019: A small proposal for global environmental monitoring @MaggPi about 1 year ago 13
SoC proposal: MapKnitter Image Management & User Experience @govindjeevan7 about 1 year ago 4
SOC proposal: Extend Leaflet Environmental Layers with new layer menu and layer addition workflow @anan12 about 1 year ago 5
Outreachy proposal: Public Lab UI Improvements @tonchuks about 1 year ago 14
SoC proposal: Image Sequencer: Broadening Avenues @vibhordelgupta about 1 year ago 2
GSoC proposal: Image Sequencer @aashnaaashna about 1 year ago 10
GSoC proposal: Mapknitter Image Management and Synchronous Editing @igniteeng000 about 1 year ago 3
Outreachy Proposal 2019 For Public Lab: @gautami_gg about 1 year ago 12
GSoC Proposal: Mapknitter Rails 6 upgrade @kaustubh_nair about 1 year ago 7
GSoC proposal: Mapknitter Upgrade to Rails 6 @singhav about 1 year ago 2
GSoC proposal: Mapknitter ORB Descriptor (w/ auto-stitching, pattern training, and live video support) and LDI revamp (major UI enhancements) @rexagod about 1 year ago 35
SoC proposal: Community Toolbox overhaul @icode365 about 1 year ago 16
SoC proposal: Image Sequencer @lohithabhagam123 about 1 year ago 0
SoC proposal: Community-toolbox @jainsubhahu about 1 year ago 10
Outreachy proposal: Extend Leaflet Environmental Layers with new layer menu and layer addition workflow @priya17081 about 1 year ago 12
GSoC proposal: Sensor data upload and display library @IshaGupta18 about 1 year ago 34
SoC proposal: Image Sequencer @f20171066 about 1 year ago 6
GSoC Proposal 2019: Mapknitter's Rails Upgrade @alaxallves about 1 year ago 5
SoC proposal: PublicLab.Editor @f20171066 about 1 year ago 1
GSoC proposal: LEL 2.0 and work on Leaflet-Blurred projects . @sagarpreet about 1 year ago 11
SoC proposal: Sensor data upload and display library @shakebameen over 1 year ago 0
SoC proposal: Sensor data upload and display library @shakebameen over 1 year ago 3
GSoC proposal: Automated feature detection and matching #300 https://github.com/publiclab/image-sequencer/issues/300 @puneetbindal8989 over 1 year ago 2
SoC proposal: Enhancing the UI of publiclab and relevant changes to server @lekhidugtal over 1 year ago 21
GSoC proposal: Automated feature detection and matching #300 https://github.com/publiclab/image-sequencer/issues/300 @puneetbindal8989 over 1 year ago 0
Outreachy proposal: PublicLab.org UI Improvements @divyabaid16 over 1 year ago 13
Outreachy proposal: Revamp the website interface and add User friendly features @vanshika421 over 1 year ago 5
Outreachy proposal: PublicLab.org UI Improvement @madeofhuman over 1 year ago 16
Outreachy'19 Proposal: Public Lab UI Improvements @IshaGupta18 over 1 year ago 21
Outreachy proposal: Public Lab UI Improvements @anan12 over 1 year ago 7
Call for Outreachy 2019 proposals! @gauravano over 1 year ago 18
Call for Summer of Code 2019 proposals! @warren over 1 year ago 21
Call for Summer of Code 2019 mentors! @warren over 1 year ago 28
Updated Image Sequencer Colormaps! @MaggPi over 1 year ago 9
Brainstorming for Summer of Code 2019 @warren over 1 year ago 71
Call for Outreachy 2018-19 proposals! @warren over 1 year ago 13
Outreachy proposal: Extend community collaboration statistics and visualization system @cess over 1 year ago 10
Outreachy proposal: @faithngetich188 over 1 year ago 4
Outreachy proposal on expanded community stats system by Amy Chan @amychan331 over 1 year ago 6
Expanding Public Lab's community stats system @romrod over 1 year ago 0
Outreachy proposal: Improve statistics system for publiclab @radhikadua over 1 year ago 22
Outreachy proposal by narnt @thayshi over 1 year ago 3
Outreachy proposal: Planning for expanded community stats system @kramadan over 1 year ago 2
Outreachy proposal @quinn-codes-synthesis over 1 year ago 6
Outreachy proposal on expanded community stats system by Amy Chan @amychan331 over 1 year ago 0
Brazilian Housewives Coding Team Presentation - RGSOC - 2018 @milaaraujo over 1 year ago 3
Reply-by-email: a new way to use PublicLab.org @warren over 1 year ago 7
Software Freedom Day in NIT Hamirpur @souravirus almost 2 years ago 9
SoC MeetUp at DTU @bansal_sidharth2996 almost 2 years ago 16
GSOC-18 Email notification overhaul. @vidit almost 2 years ago 37
Web Working Group Update 23: August 2018 @warren almost 2 years ago 4
Congratulations on a great 2018 Summer of Code! @warren almost 2 years ago 4
Prototype: filter map tiles in real-time in a browser with ImageSequencer (NDVI Landsat) @warren almost 2 years ago 7
GSoC 2018: Final Work Product of Draft Feature and Email Integration Project @gauravano almost 2 years ago 3
GSoC Submission for Leaflet Blurred Location Part 2 @mridulnagpal almost 2 years ago 1
GSoC Proposal: Draft Feature & Email Integration Project @gauravano almost 2 years ago 40
GSOC 2018 Work on Image Sequencer @tech4gt almost 2 years ago 15
Raspberry Pi camera (visible and NOIR) V2 / picamera effects demos @MaggPi almost 2 years ago 0
Announcing 10 Summer of Code projects for 2018 @warren almost 2 years ago 18
Leaflet Environmental Layer Library - Part 2 @sagarpreet almost 2 years ago 8
GSoC with Public Lab: First Evaluation @gauravano about 2 years ago 2
GSOC: First Evaluation Google Authentication @bansal_sidharth2996 about 2 years ago 0
Web Working Group Update 22: June 2018 @warren about 2 years ago 3
Call for Summer of Code 2018 proposals! @warren about 2 years ago 17
Leaflet Environmental Layers Library @sagarpreet about 2 years ago 23
USB Webcam vs Raspberry Pi V2 Field of View (FOV) comparison / Community microscope initial evaluation #2 @MaggPi about 2 years ago 6
Community Microscope Initial Evaluation @MaggPi about 2 years ago 8
Is there a way to use RGB spectral overlap to make better spectral measurements? @MaggPi about 2 years ago 2
Raspberry PI NoIR close-up Imaging @MaggPi about 2 years ago 8
All Summer of Code convening Live Call @liz about 2 years ago 11
GSoC with Public Lab: Selection @gauravano about 2 years ago 4
GSoC proposal: Computer Vision enhancements for Raspberry Pi based Public Lab Science Projects @MaggPi about 2 years ago 26
Which Public Lab kit is best for testing the impact of different camera settings? @MaggPi about 2 years ago 3
RGSoC: v2 API development @milaaraujo about 2 years ago 11
Raspberry Pi Microscope/close up lens system @MaggPi about 2 years ago 11
GSoC proposal: Social Media Integration and Leaflet-Layers Library . @sagarpreet over 2 years ago 50
RGSoC proposal: Upgrade to Rails 5 @meghana-07 over 2 years ago 9
GSoC proposal: v2 API development @rishabh07 over 2 years ago 4
GSoC proposal: Calendar Events and Graphs Integration @500swapnil over 2 years ago 13
GSoC Proposal: v2 API development and third party app integrations @sukhbir over 2 years ago 15
GSoC proposal: Upgrade to Rails 5 @souravirus over 2 years ago 26
GSoC proposal: Leaflet Blurred Location Part 2 @mridulnagpal over 2 years ago 25
GSoC proposal: Email integration Project @namangupta over 2 years ago 44
GSoC proposal: Card UI/UX Implementation v2 & Bootstrap 4 Upgradation @amitsin6h over 2 years ago 10
GSoC proposal: Image-Sequencer v2 : Processing on steroids @tech4gt over 2 years ago 33
GSoC proposal: v2 API development | Grape | Swagger Specification @Raounak over 2 years ago 18
RAILS GIRLS NAIROBI MEGA CODING EVENT @stella over 2 years ago 12
RGSoC proposal: Entrepreneurial Network And Enhanced UX @SrishtyMittal over 2 years ago 4
SoC proposal:RGSOC PROPOSAL: Upgrade to Rails 5.1.5 @stella over 2 years ago 2
RGSoC proposal: Upgrade to Rails 5 @cess over 2 years ago 6
RGSoC proposal: Rich Editor Extras @soniya2903 over 2 years ago 2
RGSoC proposal : Pollution tracker @evjam over 2 years ago 5
SoC proposal: Pollution analysis on google maps @sid2111995 over 2 years ago 2
GSoC proposal: Email integration project @vishesh over 2 years ago 11
Web Working Group Update 21: January 2018 @warren over 2 years ago 1
Software outreach: Modularity is great for collaboration @warren over 2 years ago 0
Software project ideas for upcoming 2018 Summer of Code fellowships? @warren over 2 years ago 9
Software outreach: a blog series @warren over 2 years ago 1
Help with a standard mini-evaluation for assessing software outreach efforts? @warren over 2 years ago 11
Introducing Image Sequencer: a pure JavaScript non-destructive image processing library for Node, browser and command line @ccpandhare over 2 years ago 0
Wrapping up Google Summer of Code 2017 at Public Lab @warren almost 3 years ago 1
Web Working Group Update 20: August 2017 @warren almost 3 years ago 1
GSOC 2017 FINAL REPORT; EMAIL NOTIFICATIONS OVERHAUL @stella almost 3 years ago 6
Final posts for Google Summer of Code @liz almost 3 years ago 1
GSoC Submission for Map of Projects @mridulnagpal almost 3 years ago 11
GSoC 2017: Final Report on Wiki Discussion @Ashan almost 3 years ago 5
GSoC 2017: Final Work Product of Image Sequencer Project @ccpandhare almost 3 years ago 13
Getting to know plotsbot @ryzokuken almost 3 years ago 9
Demo for leaflet-blurred-location @mridulnagpal almost 3 years ago 9
Web Working Group Update 19: June 2017 @warren about 3 years ago 4
Introducing Question Button in Wiki Pages @Ashan about 3 years ago 6
Google Summer of Code 2017 - and a call for community mentors @warren about 3 years ago 34
Email Notification Overhaul @stella over 3 years ago 0
Email notification overhaul @bash over 3 years ago 2
Image-sequencer - Graph Editor @calvrix over 3 years ago 0
Graph Editor for the Image-sequencer @calvrix over 3 years ago 0
Graph Editor for Image-sequencer @calvrix over 3 years ago 2
OmniAuth and Wiki Discussion @vaibhavgeek over 3 years ago 3
Omniauth and Gamification of contributing to Public Lab @vaibhavgeek over 3 years ago 4
GSOC - Upgrade Plot to Rails 4 and Email Notification Overhaul @aayushgupta1 over 3 years ago 5
Re-construction for ImageSequencer @yachao over 3 years ago 14
Expanded Rich Wikis @bansal_sidharth2996 over 3 years ago 2
Upgrading Plot to Rails 5 @aayushgupta1 over 3 years ago 6
Android app for Image sequencer @ashwinvasudevan over 3 years ago 4
Developing Image Sequencer as a Library @ccpandhare over 3 years ago 13
Tagging Interface @mkashyap354 over 3 years ago 5
Wiki Discussion @Ashan over 3 years ago 16
GSoC Proposal - Email Notifications Overhaul @Khamba over 3 years ago 14
Map of Projects @mridulnagpal over 3 years ago 17
Call for Summer of Code 2017 proposals! @warren over 3 years ago 30
Show more