Contribute to Our Open Source Apps and Give Back to the Community!

Looking for a great first repo to make some open source contributions? Why not contribute to the official raywenderlich.com mobile apps? By Chris Belanger.

Save for later
Share

Are you interested in looking under the hood of a production-level app? What about seeing new technologies like SwiftUI and Coroutines in action?

Good news: Our iOS & Android mobile apps are now open source! This means you can see how we’ve built our apps and even contribute to them!

Contributing to open source projects is a great way to help others, see new technologies and frameworks in action, learn from senior developers and help build your reputation as a mobile developer.

Keep reading to learn more about why you should contribute to open source code, how to get started and tips for getting the most out of the experience!

Why You Should Contribute to Open Source Projects

No matter whether you’re brand new to the industry or a veteran mobile developer, contributing to open source projects can be a valuable experience for you!

Some benefits of contributing to open source code are:

  • See technologies and frameworks in practice: Interested in SwiftUI and Combine? Our iOS app uses SwiftUI and Combine extensively. Interested in Coroutines in action? What about Exoplayer? Check out our Android code!
  • Build your reputation: All open source work is public, which means you’ll be able to provide examples of your work to show what you can do.
  • Give back to the community: Your contributions help make technology better for everyone!

Simply put, if you’re a mobile developer then you should be contributing to open source projects.

Haven’t contributed to open source projects yet? Our open source apps are the perfect place to start!

Getting Started

Whether or not you’ve contributed to open source before, getting started is easy!

We have two open-source repos, one for each version of the app:

Before you do anything else, we suggest that you check out the README of the project first. This way, you’ll understand what the project is about, how the team expects you to contribute, and so forth.

There’s also a CONTRIBUTING file that you should read through; this has more specific information about the project, how to build and test it, how to enable access tokens, and the like.

Getting to the Code

Before you do anything, you’ll want to fork the repo, so you have a working copy of the project where you can work without disturbing anyone else.

Then you can clone the repo to your local machine, and create a new branch for your work. When you’re done, you’ll want to open a pull request on the GitHub project and request that the team review your work.

If you’re new to the GitHub workflow, there’s a really great article on the GitHub website about how to create your first pull request on an open source repo:

Suggestions for Contributors

Need some suggestions about where to start? Here are a few tips from our repo maintainers:

  • Find areas in the documentation that are lacking (there are lots)
  • Submit issues or pull requests to improve the getting started experience
  • Create issues for bugs that annoy you in the app
  • Explore the code to discover how the app is put together
  • Suggest or implement improvements

If you’re proposing a new feature or a significant update to an existing feature, we ask that you open an issue for discussion, and include a development proposal. Although the app is open source, we do want to be sure that any new development serves the needs of our audience!

If you’re not ready to dive in and propose a new feature, though, you might want to start by browsing the issues list of the project, to see if there’s anything small in there that you might want to tackle as your first contribution.

Where to Go From Here?

There’s no better time than right now to start participating in open source projects, practicing your mobile development skills and giving back to the community!

Remember that even starting small, like helping with simple typos, is a great way to start contributing. So don’t be nervous, go try out the code and build it, play around with it, and have fun! :]