G2 - How to Join the Dev Team
G2 - How to Join the Dev Team
We welcome new developers! Unfortunately, because of the nature of volunteer projects, there is often times a lot of churn as new developers join and veteran ones get busy and have less time. There's a learning curve associated with joining the team which involves asking the veteran developers lots of questions, and learning about the dev team's various policies and procedures. This translates into a cost for the current developers to educate new developers and help them come up to speed. Since that takes time for the existing developers, we want to make sure that we're spending it on people who will stay with us for a while and add value.
In order to make that happen, we try to ease new developers into the project. We give them tasks to work on and let them try it out on their own and ask lots of questions. We're fairly hands-off during this period and expect the new developer to be self motivated. We provide support, but we don't expect any kind of commitment. As you demonstrate commitment to us, we'll reciprocate in turn and help you. After a new developer has been around for a while and we've gotten to know them via email and IRC, we will evaluate the work they've done on their tasks and try to assess whether they're going to be a good fit for the team technically and socially. If and when they get to that point, we will generally extend an offer for them to join the team. It's rare that we are unwilling to accept somebody on the team.
New members to the team continue to operate in a restricted mode for a little while. That length of time depends wholly on the developer's ability to learn and follow our procedures. During this time, we ask that new developers don't commit code without getting it code reviewed. Even afterwards, many of our experienced developers on the project don't commit without a code review, except for small, well understood changes. Code reviews are good. When new developers reach the point where the code reviews are perfunctory, then they are escalated to a new level where they are given autonomy to make broader changes.
This process is in place to ensure a high quality level for the product. It guarantees that we don't wind up with an influx of new developers who make many conflicting changes, and then depart leaving us with an inferior product and nobody to fix it. We have many users who use Gallery 2 directly from Subversion or nightly builds and their feedback is important to us. These users count on us to maintain a consistent, high quality product at all times. Creating and following appropriate procedures has enabled us to do this successfully.
We expect Gallery developers to:
- Participate on the gallery-core mailing list. Note that this is a moderated list and we will only grant you access if you're invited, so please don't try to sign up if you haven't been officially asked to join the team.
- Attend the weekly G2 meeting (currently held at 10 AM PST on Thursdays -- but we rotate the schedule to accomodate geographical differences)
- Be willing to put at least 10 hours as week into Gallery development
- Help out in the G2 Forums
- Spend time on the #gallery irc channel to get to know the other team members and accelerate development time.
- Be open to new ideas and willing to discuss them in a non confrontational manner.
Join now!
If you still want to participate, we're eager to meet you! Talk to us in the forums, come spend time with us in the #gallery IRC channel and we will help you get started on the path to join the team!
