Robert Sayre: The most rewarding thing I’ve done this year and last was getting involved in the Mozilla project. It can be slow, bureaucratic, and irritating, but good stuff gets done in the end
My experience with PHP was that if you are a self-starter, you are eagerly welcomed in quickly. If you make mistakes, others will quickly correct them.
My experience with the ASF is that there is a higher barrier to entry than with PHP, but each project has people who are actively cultivating, encouraging, and mentoring new developers.
My experience with Mozilla was abysmal. Despite having a solid background in C/C++, and COM (albeit MS-COM), the existing class libraries were daunting and clearly had evolved over time; for example there are a number of different String classes.
Undeterred, I was able to find a bug I thought I could help with, find some code in another location that I could use as a template, and submit a patch that solved the problem. It got reviewed, applied, then overturned, and backed out.
So, I took the suggestion, reworked the patch to conform exactly to the suggestions.
Which was met with more objections.
So I reworked the patch a third time.
Which was met with more objections. This time, I was asked to use a function which was not visible to this source. My experience is that changing visibility of a function tends to be an architectural change with ramifications that were beyond me to determine.
I gave up. Four months later, Robert picked up where I left off, and apparently followed the latest suggestion. Just to find out that my instincts were correct.