- Come join our Slack channel to say hi and let us know what you're interested in working on.
- We maintain a set of tasks that we think would be good choices for people interested in working on OneBusAway. Learn more about them here: Picking an appropriate first time issue
- This project adheres to the Open Code of Conduct. By participating, you are expected to honor this code.
- Now, learn about setting up your development environment.
Test latest development release
If you would like to help test the latest development release, email us at firstname.lastname@example.org to be added to our TestFlight Beta testing group.
Individual Contributor License Agreement (ICLA)
To ensure that the app source code remains fully open-source under a common license, we require that contributors sign an electronic ICLA before contributions can be merged. When you submit a pull request, you'll be prompted by the CLA Assistant to sign the ICLA.
Picking an appropriate first-time issue
You are welcome to work on any bug or feature you would like, but we know that getting started in a new codebase can be intimidating. To that end, we recommend that you take a look at issues labeled as Your First PR. These issues are relatively small and self-contained, and should be perfect for anyone who is interested in getting their feet wet with the OneBusAway codebase.
(h/t to Microsoft's ChakraCore project for the idea of the first PR)
Development environment setup
- Install the latest released version of Xcode 8.x from the Mac App Store
git cloneyour fork
- Install Carthage
You should now be able to build. See our contributing guidelines for the specific workflow to add a new feature or bug fix.
It is vital that any user-facing strings in this project are localized. If your changes reside within the OBA app itself, you must use the
NSLocalizedString macro to wrap your localizable strings. If your changes reside within OBAKit, you must make sure that you import the
OBAMacros.h header file and use the
OBALocalized macro to localize your strings.
If you are localizing the app: a) thank you so much, and b) you must supply the
-s option to
genstrings for OBAKit's custom localization macro, like so:
genstrings -s OBALocalized