Open Source Training

Open Source Training

Advancing in an open source career requires a combination of many factors. Obviously you need to be able to contribute to the project in some fashion, whether that be documentation, support to users, or most commonly with code contributions. In addition you must spend a certain amount of time building a reputation of being a valuable member of the open source community. A common question that arises is what to do if you do not have the time or knowledge required to begin a career in open source technologies, and the answer to that is to seek open source software development training.

The first things you should look at when considering open source training is where you are with your current skills. If you are only a dabbling programmer then your first step, instead of focusing on open source training, is to focus on developing your skills as a programmer. This can be accomplished by either spending time practicing with code on your own time, or finding more traditional classes at a college or university where you can hone your skills.

If you are already a competent programmer, and need further training in open source software development there are quite a few resources available. A quick search will turn up dozens of companies providing training in open source software development. With such a plethora of options available, the real challenge becomes deciding which of these is worth your investment of time and money.

Much as your reputation in an open source software environment will in many ways determine your success in an open source career, the best way to consider a company providing open source software training is by their reputation. Look around at the projects they are participating in, a company that is not involved in any significant open source development is not going to be your best choice for obtaining open source software training.

The reason you need to be cautious is, when you get right down to it, open source development is simply standard software development in a decentralized, headless format. Many of these companies providing open source software training are simply providing the same training they would provide to any other software engineer, with an open source label affixed to the classes. Open source is much more than just standard software engineering, and the very things that set it apart are the things that you need to look for in open source training classes.

Spend some time talking with others who have attended these training programs. Good open source training programs will focus on communication, planning, design, and other aspects of developing software in an environment where there is no traditional business leverage keeping the employees from not doing their jobs properly. The open source community thrives based on the fact that all contributors are judged solely on their merits and what they bring to the table. Developers who are not focused on the project, do not contribute to the support and documentation of the project, or in other ways are not providing what a project needs are rapidly removed from the project and frequently not invited to participate again.

Another great place to look for open source training is actually psychology. Understanding how users think and how they are likely to react to a particular change or development plan can be invaluable in maintaining your user and developer base, and preventing fragmentation of the project. This is because in open source technologies, it is trivial for a disenfranchised user or developer to fork the project and produce their own version. In many cases this is a good thing, sometimes a project becomes too ambitious and needs to be split into discrete components. Other times this happens due to a personality conflict between two major contributors to a project, and in many cases both projects fail due to a lack of participation.

In addition, stay away from any open source training institution that seems to have just plugged the word "Open Source" into their literature. While it seems like a strange thing to look for, many of the disreputable companies providing open source training simply did a find and replace on their existing literature, and these glaring grammar errors serve as an immediate warning to anyone considering their services.

Finally, and it bears repeating, open source software development is a community. Word gets around very quickly who can and cannot contribute to a project. While it is possible to get around this by using a different pseudonym should your current one become tarnished, this only allows you to discard a negative history. Building a reputation requires a continuity of identity and a lot of work. So while you may be able to get a head start in an open source career by going to open source training, the best way to proceed is to simply participate.