-
Notifications
You must be signed in to change notification settings - Fork 73
Developer Guide
OneBusAway is open-source software, which means we'd love to have developers like you get involved by working with the code and contributing changes. This document is a general guide to working with OneBusAway source-code. Note that some individual OneBusAway projects and modules may have more specific developer documentation as well.
All OneBusAway source is provided under the Apache 2.0 license.
OneBusAway is open source software in order to encourage the contributions of others to making OBA better, and also to reflect the contributions of the open source community at large in the wealth of existing code, tools, and frameworks that OBA builds on.
If you have trouble working with OneBusAway source-code, there are a couple of ways to get help. You can ask questions in the following place:
- The onebusaway-developers mailing list
- Other mailing lists: see the full lists of mailing lists on the Contact Us page.
- IRC: #onebusaway on Freenode
All the source-code for the various OneBusAway modules, libraries, and application are hosted in a number of Git repositories belonging to the OneBusAway organization on GitHub:
https://github.com/OneBusAway/
For a more general overview of the various projects that make up OneBusAway, check out our Features page.
Generally, we use the following technologies for development and project management:
- GitHub and Git for source-code versioning.
- Apache Maven for managing the build.
- Eclipse for working with code. You are of course free to edit code any which way you like, but much of the documentation will be geared towards Eclipse.
For specific instructions on importing OneBusAway projects into Eclipse, check out Import Source-Code into Eclipse
Check out the Code Style documentation for details on how configure your IDE to match the OneBusAway code-style conventions.
You can contribute code changes a in a number of ways:
- Send a GitHub pull request (slightly preferred since it makes it easier to do code-reviews).
- Send a patch over the mailing list.
What does it take to get commit access to a project?
- Make yourself know to the community by introducing yourself on the mailing list.
- Have two or more changes to the code base submitted and accepted. They don't need to be big changes, but just enough to give us an idea of how you work with the code.