I've been struggling to develop momentum contributing to open source projects. I have in the past tried with gcc and contributed a fix to libstdc++ but it was a once off and even though I spent months in my spare time on the dev mailing list and reading through things I just never seemed to develop any momentum with the code. Eventually I unsubscribed and got my free time back and uncluttered my mailbox. Like a lot of people I have some little open source defunct projects lying around on the net, but they're not large and I'm the only contributor. At the moment I'm more interested in contributing to a large open source project and want to know how people got started because I find it difficult while working full time to develop any momentum with the code base. Other more regular contributors, who are on the project full-time, are able to make changes at will and as result enter that positive feedback cycle where they understand the code and also know where it's heading. It makes the barrier to entry higher for those that come along later.My questions are to people who actively contribute to large opensource projects, like the Linux kernel, or gcc or clang/llvm or anything else with say a developer head count of more than 10.How did you get started? Was there a large chunk of time in your life that you just could dedicate to working on the project? I know in Linus's case he had a chunk of time (6 months) to get it started.What barriers to entry did you encounter?Can you describe the initial stages of the time spent with the project, from when you had little understanding of the code to when you understood enough to  commit regularly.Thanks
Developing my momentum on open source projects
open source
Start small and start with documentation, tests and other activities that allow you to get into the culture of the open source project.Barriers include lack of documentation, no quick start-up for developers, no mentors and no issues specifically geared for newbies to tackle.So I started on PCGen by:Tidying up some of the docs, which got me lots of kudos from the rest of the contributors (no-one likes docs).Providing short simple test cases for issuesBeing a friendly voice in the community (answering simple Q's, building an FAQ etc)helping triage bugs/issues etcAfter 2 months of that I was part of the community, understood how the various bits connected and had contributed towards a developers start-up guide which I then followed to get a fully fledged local dev environment going.I then spent time picking off low level bugs so I got used to the coding style, how to submit patches etcGot into meater stuff after that and the rest is a long boring tale about me, so I'll stop there :).