Contributing to Public Lab Software
Public Lab welcomes and encourages community contributions to our open source software. This page is intended to
- List software projects that Public Lab has incubated and provide links to source code.
- Collect software development guidelines and best practices for Public Lab projects.
- Help newcomers figure out how and where to start contributing!
Getting started
Quick tips for getting involved with the Public Lab codebases:
Set up a GitHub account and install git.
If you're not familiar with git, a popular version control software, you can try it out at https://try.github.io.
Speaking of GitHub...right now, all of Public Lab's open source code is located on GitHub, a website which hosts git repositories. Setting up a GitHub account is the first step to getting involved with Public Lab's code (and lots of other code).
Join the Public Lab developers mailing list
Contribution Guidelines
Public Lab software is written in many languages, and each project may have its own guidelines for contributors. These broad guidelines should serve as general principles to guide your approach to a new Public Lab codebase.
Contributing using git
- Always do development in a feature branch. This makes it much easier for project maintainers to merge your contributions into the trunk. The name of your branch is displayed when it is merged in to the main trunk, which means that it serves as built-in documentation for your feature. This works great when you give your feature branches descriptive names! Some example branch names:
- donation-button-redesign
- markdown-package-update
- fix#44 (fixes GitHub issue #44 in this repository)
Contributing to Ruby projects
Contributing to JavaScript projects
Public Lab Software
Project | Description | Source Code |
---|---|---|
MapKnitter | Assemble aerial images into maps. | github:publiclab/mapknitter |
Spectral Workbench | Material analysis using DIY spectrometry. | github:spectral-workbench |
Leaflet.Illustrate | Leaflet plugin built for MapKnitter. Enables text annotations on Leaflet maps. | github:manleyjster/Leaflet.Illustrate |
Leaflet.DistortableImage | Leaflet plugin built for MapKnitter. Enables images to be distorted. | github:publiclab/Leaflet.DistortableImage |
publiclab.org | This very website! | github:publiclab/plots2 |
Infragram | Analyze plant health with infrared imagery. | github:p-v-o-s/infragram-js |