This is the third part in my learn to program series and it deals with finding an open source community to join. You may not think this is important, or you may think that you will survive solely on proprietary software, and I won’t tell you that you are wrong, I will just say: good luck. For those of you who are still reading, I will try and take you through finding open source communities and evaluating their health, and your fit.
By now, if you’ve been reading my blog post in order, you probably already have a programming language that you have your mind set on. Right off the bat, that will probably narrow the list of communities you have to choose from. In order to find these communities you will need to look for a framework in your language, these technological watering holes are your doorway to finding a community.
Wikipedia defines a framework as “a universal, reusable software platform to develop applications, products and solutions.” In addition to giving you the tools you need to build your application, a framework will usually give you the tools to extend it with things that would have been useful to you. Most of the work in the open source community you are looking for will probably be done in these extensions to the framework which are called different things depending on the framework you are extending.
The reason I spent so many precious characters talking about frameworks and extensions is that the best way to judge an open source framework/community is by looking at its extensions. Remember how I told you that once you select a language your choices are numbered? Well now is the time to do that google search to find that number. You want a list of the frameworks you are evaluating before you start your research.
Now take your list and do a google search for extensions for each one. When you find some of the popular extensions click through to their github page (or other host if not github). Github has some cool features for checking on the health of a project, check out the pulse section. It is pretty important that at least some of the popular extensions for the framework you want to use are actually maintained. If they are, go to the issues page. Try and figure out how friendly the people are, this is important if you don’t want to work with people you don’t like.
Once you are done going through a bunch of these extensions for all the frameworks you have on your list then it is time to make your decision. By now you should really have a feel for it, it isn’t something you can put discrete criteria on; either you will like a framework/community or you won’t. I would suggest if you are on the fence about picking a particular framework that you find a meetup in your area (if you are fortunate enough to live near one) and check it out that way.
I’m going to assume that if you got this far you know exactly what framework you plan on using. Congratulations on making such a life altering decision so quickly :) Get comfortable with the community you’ve chosen because they will be your gateway into a world of programming and technology.