OpenVeda Playbook: Public Lab
Your guide to contributing to a global community using open source for environmental science and justice.
1. The "Why": Mission & Impact
- The Mission: Public Lab is a community and non-profit that develops and builds open-source hardware and software to help people research and address environmental issues. It's DIY science for the people.
- Your Impact: Your code could help power a website that lets community activists share data about local pollution, or improve software for a DIY spectrometer that helps farmers test their soil. This is code with a direct, real-world, positive impact.
- Why it's great for your career: Contributing to Public Lab shows you can apply your technical skills to solve complex, real-world problems. It demonstrates social consciousness and a passion for making a difference. Their community is known for being incredibly kind, inclusive, and welcoming to people from all backgrounds.
2. The "What": Tech Stack
- Core Web Platform (
plots2): Ruby on Rails. The main website is a large Rails application. - Frontend: JavaScript, often with Bootstrap and jQuery. They are gradually introducing more modern JS.
- Hardware-related software: Python is often used for data processing from their DIY science kits.
- Key Tools: GitHub for everything.
3. The "How": Your Onboarding Journey
3.1: Join the Community
- Primary Channel (Gitter): Their main chat for developers.
- Your First Action: Introduce yourself!
Template: "Hi all! I'm Ayush, a student developer from India. I'm really inspired by Public Lab's mission and would love to start contributing. My skills are in [JavaScript/Rails/etc.]. I'm looking for a good first issue to get started. Thanks!"
3.2: The Setup Guide
- Official Guide: They have a fantastic and friendly welcome page for new coders.
- The Recommended Path: Their
plots2repository has a great setup guide for getting the main website running locally. They offer multiple methods, including a Docker-based one which is often the easiest.
3.3: The Contribution Workflow
- Public Lab has one of the most welcoming workflows for beginners.
- Official Guide: The process is detailed on their welcome page.
- Key Point: They are very active in helping you find your first issue. Don't be afraid to ask for help in the Gitter channel.
4. GSoC History & Focus Areas
- Historical Focus: Public Lab is a frequent GSoC and Outreachy participant. Projects often focus on improving their main website (
plots2), building new features for data visualization, and creating software for their new hardware kits. - What Mentors Look For: Passion for the mission and a collaborative spirit. They are less focused on pure technical brilliance and more on finding people who are kind, communicative, and genuinely want to help the community.
5. Key Repositories to Know
- Main Website (
plots2): github.com/publiclab/plots2 - This is where most software contributions happen. - Image Sequencer (JS project): github.com/publiclab/image-sequencer
6. Find Your First Task Right Now
- The Golden Link: They have a special label for absolute beginners.
- Next Level: Once you've done one of those, move on to these.
7. The Unwritten Rules (Mentor Insights)
- Kindness is the Rule: Public Lab's code of conduct is central to everything they do. Be friendly, be supportive, be welcoming.
- Ask for Help: This is a community that genuinely loves to help newcomers. Asking questions is encouraged.
- It's Not Just About Code: They welcome contributions of all kinds: documentation, design, community outreach, and testing. If you're a good writer, improving their documentation is a fantastic way to contribute.