|
HackingOneBusAway
Guide to the internals of OneBusAway, building from source, and contributing modifications to the project.
If you are interested in understanding the internals of OneBusAway (OBA), building from source, or contributing ideas or modifications to the project, then this document is for you. If you want to skip all the boring, high-minded details about the motivations behind OneBusAway and why it's open-source, jump straight to Working with the Code. IntroductionWhat is the the purpose of OBA? If you've only ever used OBA for real-time arrival info, the answer might as simple as "OBA tells me where my bus is," but the project has a grander purpose in mind: The goal of OneBusAway is to encourage the use of mass-transit through innovative technological solutions. The real-time arrival tool is a good example of a technical solution that makes it easier to ride the bus. Ultimately, improving mass-transit adoption requires long term investments of money and resources by a community, but there are simple fixes we can make right now that are quick, cheap, and capable of making a real impact in the adoption of mass-transit. Why mass-transit? We believe that a robust mass-transit system is a necessary part of a healthy, sustainable community. If you believe the same thing, and would like to help us in our goals, let's get started. LicensingAll OBA source is provided under the Apache 2.0 license. Why is OBA Open Source?OBA 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. Working with the CodeIf you want to get your hands dirty with the code inside OBA, this is the section for you. Checking out the OBA source is most useful if you plan to compile and run OBA yourself. OBA uses Maven for project management and encourages the use of the Eclipse IDE for primary development, though it should be possible to use the IDE of your choice. Code is written targeting Java 1.6. OBA is hosted on Google Code project hosting, so you access the source for OBA using a Subversion client as you would for any other project hosted on Google Code. The project source code access page has additional instructions for browsing the source online or getting a Subversion client if you don't already have one. So you are ready to hack some code... where to start? The OneBusAway code-base has gotten pretty big. There are a couple ways to bring yourself up to speed:
For directions on importing the source code into Eclipse, check out ImportingTheSourceIntoEclipse. Contributing CodeCode StyleSee the CodeStyle page for more info. TODO: Expand Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License. Specifically, see http://code.google.com/webtoolkit/makinggwtbetter.html |
Sign in to add a comment