Getting Involved with the Open Source Project - Learning OpenShift (2014)

Learning OpenShift (2014)

Appendix B. Getting Involved with the Open Source Project

The open source project behind OpenShift, named OpenShift Origin, is a thriving and vibrant community that is ready and willing to accept contributions from new members. You might be wondering how you can get involved with the project. Good news; there are several ways to get involved even if you don't want to contribute at the source code level.

Now that you have decided that you want to contribute to the growing OpenShift Origin community, let's go over a few basics that will help get you started. The first thing you will want to look at is the official project website, which is located at http://openshift.github.io.

At this location, you can learn more about the project, and I suggest that you start by deploying your own OpenShift Origin environment in order to get familiar with the project. What does this mean? All of the examples that we have used in this book have been running on the publicly hosted version of OpenShift that is provided and managed by Red Hat. The great thing about open source software is that you are free to download the source code and compile it in order to run a PaaS that behaves almost identical to the publicly hosted OpenShift Online. Granted, one of the major benefits of PaaS, such as OpenShift Online, is that as a developer, you no longer have to worry about the system administration aspects of running and managing servers. However, if this is something you are interested in, you are welcome and encouraged to download and install your own version of OpenShift Origin. If you don't want to go through the hassle of installing and configuring the Origin code, the project provides prebuilt virtual machines that you can download and run and that should work out of the box. If you do decide that you want to install your own version instead of using a prebuilt virtual machine, a great tool to get started with is called oo-install. The information for this installation program can be found on http:/install.openshift.com.

Contributing to the project

First of all, why would you want to contribute to an open source project? There are many reasons why you would want to work on a FOSS project even though you will most likely not see any monetary reward for your efforts. Contributing to a project that you like to use can be a rewarding experience as it helps you become a more efficient and successful professional as well as gives you the benefit of helping other people out. On top of this, you also get to shape the future of the project and take part in developing a platform that is quickly becoming the next evolution of software development. This is also a very interesting and exciting experience in that you get to work on new technology that you might not get to use during the course of a normal workday. You will meet and collaborate with new people who might just end up being some of the smartest and passionate people that you have ever been able to work alongside. There are countless reasons why you could decide to contribute to a project, but the decision will have to be left to you. If you do decide to dip your toe in the water and contribute to one of the most innovative and game-changing projects that OpenShift Origin is, keep reading.

Let's start simple. The first step to contributing to OpenShift Origin could be to simply download and install the project. Once you have the project up and running, push it to the limits and try to find weird edge cases where the platform doesn't perform as expected. Once you find these cases, start creating bug reports and discussing the issue on the public mailing list. I can almost guarantee that you will be welcomed with open arms and greeted in a friendly manner.

Going just a little bit deeper, you can also start contributing documentation to the project. In my career, I have found that the pace at which open source projects move is mind blowing. Given that there is such a dedicated group of engineers who work on the code because it is a passion for them, the documentation often lags behind by one or many releases. The biggest win for you to gain early on in a community is by providing and helping out with documentation to explain new features to the consumer of the project.

Is documentation not your strong point? Consider creating and maintaining community-based cartridges and QuickStarts in order to allow users to run the latest and greatest version of a runtime or database.

Want to work on the core code base? Knock yourself out! Fork the project on GitHub and begin by fixing some of the bugs that have been logged against the project. Once you have shown that you understand the code base well enough to fix a few bugs, you can then explore adding new features to the project. Keep in mind that it is better to communicate all new features on the public mailing list before the implementation in order to ensure that others agree that the feature is a good idea. I would hate for you to spend hours upon hours coding a new feature only to get your pull request rejected because someone else is already working on it. Communicate early and communicate often!

Last but not least, join the community by signing up for the public mailing list and help users out on the official freenode IRC channel or on the StackOverflow OpenShift forums.

Note

The official IRC channel for the OpenShift project is #openshift on freenode.

I hope this appendix has shown you multiple ways in which you can contribute to the project and has got you thinking that yes, you can provide valuable contributions if you decide to do so. Remember, for all the information you need to get started, simply head to the official project page and read the section on how to contribute. The community doesn't bite; I promise.