Building and Contributing

The Socrata Open Data Server, and the components that make it up, are all available under the Apache License. The system is broken up into a number of different modules that are managed in separate Github repositories and compiled together using SBT.

To see how these components fit together, read our architecture document. As we get closer to the final beta release date, we'll also provide documentation and tools to help you get the full Open Data Server up and running.


Contributing

Want to contribute? Great! Fork the relevant component on Github, make your changes, and submit them to us as a pull request. We'll review your patch and provide feedback.

To commit to any of our projects, you need to first complete a Contributor License Agreement. There are two types of agreements, one for individuals and one for people contributing on behalf of a corporation. The reasons for requiring this agreement is not to require contributors to hand over their copyrights, but is instead to make sure that anyone using the open source project has the right to their free use. These agreements are the same as the ones required for submitting code to the Apache Foundation, as well as numerous other open source projects.


Our Open Source Components

All of our open source code is listed in our Github organization, or you can view a listing below.

soql-reference

Reference implementation of the SoQL query language.

socrata-csv

A thin Scalaish wrapper around opencsv

socrata-http

Rack-inspired toolkit for building HTTP services

socrata-utils

Utility classes used throughout the Socrata Open Data Server.

soql-es-adapter

ElasticSearch Secondary Store for SoQL Data Service

data-coordinator

Coordinates the distribution of updates between primary and secondary datastores.