Public Lab Wiki documentation

Developing Open Source Tools with Public Lab

2 | 28 | | #5609

Why open source tools? Because they make better data faster.


“Open source" means different things to different people. Strictly speaking, open source just means that you publish the source files of your work -- and in the case of hardware, the associated design files. A good open source project will provide legible documentation and support for others who wish to read and understand those files.
If you've heard of "free software" (we'll invoke the refrain "free as in free speech, not as in beer"), you might be familiar with its more stringent requirement that users have the right to "run, copy, distribute, study, change and improve" the software. This is the basis of our approach to open source, public, civic science -- and it underlies our community's aversion to proprietary non-free (in both senses of the word) software such as Photoshop or Google Earth.
The noted lack of such freedoms in the area of scientific equipment and instrumentation -- and the barriers that creates for a more legible and participatory approach to science -- is a major motivation for our work.

What do you mean by accessible? That the materials to make our tools are common and familiar or easy to find on the internet AND we aim for an affordable price of less than $100.

How open are your open source tools? Very open! We design for attribution so everyone who helps gets credit.

more drop down >With some exceptions for datasets and privacy considerations, we have adopted sharealike licenses across all Public Laboratory content, and are in the process of releasing even our hardware designs under a sharealike license, the CERN Open Hardware License.

Most people are familiar with collaborative development of textual works, such as co-authorship, or even mass co-authorship in projects such as Wikipedia. Software development is textual as well, and such communities are made possible by carefully tailored open-source licenses, which effectively stop any individual or organization from controlling the whole project. By contributing to these works -- say, an open-source web browser or an article on gumdrops -- authors are assured attribution but cannot stop others from building upon their work, improving or adapting it for new uses. This works in part because each time programmers or Wikipedians contribute, their name is explicitly entered in a registry of sorts. By publishing their contributions, they give up a certain amount of control -- of course, they'd almost certainly built upon the prior contributions of others who made the same choice.

Now imagine applying that system to non-textual works, such as a new kind of camera or a tool for detecting air pollution. The way Public Laboratory works, not all contributions happen online. Through dozens of meet-ups, workshops, field events, and brainstorming sessions, tool designs are developed, tested and improved slowly. At each meeting, participants agree to share their contributions in an open-source manner -- but there is typically no explicit record of every contribution. To compound this, journalists (not to mention partners and even funders) prefer hierarchical organizations so they can say things like "developed at MIT ," and they really love citing individuals, not nebulous groups of "contributors." We've often had to insist on group attribution in the media, and developing a so-called "attribution infrastructure" is a major focus on our website.

Design for attribution: while many people make use of our tools, as a community we like to highlight those who contribute improvements and share their knowledge with others. With that in mind, we've come up with some ways to track when Public Laboratory contributors actually post about their work on the Public Lab website. For every research note tagged with a particular tool name, that user’s name goes into a registry of sorts for their contribution, and they will appear in the sidebar of the main tool page itself. Any kits of that tool distributed by Public Laboratory will include those user’s names in the credits.

Why incubate your tool in Public Laboratory? Because we offer support from our staff and community to get your tool ready faster and promote your tool so it reaches more people and environments.

more drop down> For a hardware or software developer interested in working on environmental tools, Public Lab community is full of like-minded folks excited to work with you. From bulk-buying to event organizing to manufacturing and fulfillment, our experienced staff and community offers support for the full tool development process. Our media platform for getting the word out about new tools AND their lead developers is unmatched in the civic science world.



(cute cartoon of mapknitter interface) [[| MapKnitter]]

(cute image of interface or tool) Name of Tool

  • Development started: 20XX
  • What the tool does.
  • link to contribute to development
  • Current version: XXXX
  • Uses X, Y and Z open source software.
  • Use Case: Inspirational use case summary (maybe 100 words or so and link to full use case).
  • Link to Archive
  • Current Users

Navigation Bar Back to Navigation Bar

Developing Open Source Tools with Public Lab Draft Page

Developing Open Source Tools with Public Lab

Public Lab Store

Public Lab helps EVERYONE Monitor the Environment

How any one can participate in the Public Lab community

Public Lab helps people create great Data

Public Lab supports community investigations

[Public Lab's Accomplishments to Date]