Kickstarter Android Application

OSD600 Open Source Blog

“Welcome to Kickstarter’s open source Android app! Come on in, take your shoes off, stay a while—explore how Kickstarter’s native squad has built and continues to build the app, discover our implementation of RxJava in logic- filled view models, and maybe even create an issue or two.”

Kickstarter, a company based around crowd funding and early adopting open sourced their respective iOS and Android applications on February 8, 2015. This the engineers response to Kickstarter becoming a Public Benefit Corporation, seeing open sourcing of their work could provide rich resources and ideas into the developer community as many others did. The first two pull requests related to interface modifications and accessibility improvements. Expanding upon their knowledge and commitment to functional programming, the Kickstarter engineers created a lucrative experience for those browsing their source code by providing screenshots of the interface, excellent commenting, well rounded testing and their philosophy on view models.

The applications are written in the mobile devices native language, Swift and Java respectively for iOS and Android, and utilize many frameworks and third party extensions of each language. The application is licensed with the Apache Version 2 license, which is explained here:

“The Apache License is permissive in that it does not require a derivative work of the software, or modifications to the original, to be distributed using the same license (unlike copyleft licenses – see comparison). It still requires application of the same license to all unmodified parts and, in every licensed file, any original copyright, patent, trademark, and attribution notices in redistributed code must be preserved (excluding notices that do not pertain to any part of the derivative works); and, in every licensed file changed, a notification must be added stating that changes have been made to that file.”

As of this moment, eleven issues on GitHub are open, many relating to the build process of the Android application for those wanting to extend the application beyond the original engineers implementations. Even more so, as pull requests are merged back into the code base after review, these updates are then patched into the next update of the application available to end users on the platforms app store. Brandon Williams, original developer of the iOS version has expressed interest in writing Kotlin code in their Android application while taking suggestions from the developer community.