What to Expect when you are Incubating
This document has grown out of discussions on the email@example.com mailing list about the real/perceived mismatches between expectations of people participating in podlings and the realities of the Incubation process.
Here are some things you should expect while participating in the Incubation process:
Apache is a Volunteer Organization
Apache is staffed by volunteers, and a few paid, but overworked IT folks known as Infra. As such, there is a very good chance that you will get different answers from different respondents, and responses may be delayed. This is not like your paid corporate job where there is administration and infrastructure whose mind-share is fully dedicated to serving you.
Apache has been around long enough and is large enough to have its own culture, with its own societal rules and tribal history. Lots of it is written down, but sometimes it is hard to find.
Try to remember the last time you started at a new company or team or club and how, even though there were documents to read, there was always important stuff that you had to learn some other way. Apache is no different, but with volunteers, even less is written down, and people's recollections of history can vary widely and nobody is paid to serve your needs except Infra who are overloaded.
Some folks are quiet, some are noisy, some complain, some are optimistic. If you've worked on a large team, you've probably found this to be true on that team as well. Success usually comes from finding out which folks you deal with are of which personality type, and how best to work with those people.
Time is often the barrier to progress at Apache, you should learn to expect this and it is true of any volunteer organization.
Often you just have to be patient. Pick your battles. Prioritize your needs. Ask politely once for really important things, then plead again a few days later. Remember your email etiquette!
Don't forget that people here are geographically distributed and may be in very different timezones. There may be a significant lag between sending a communication and the intended recipient(s) even reading it, let alone having the time to actually act upon it. A communication sent first thing in the morning in your timezone may arrive in the middle of the night for the recipient(s) so be prepared to wait for a response.
Help Others to Help You
Learn how to use an internet search engine. Try to find information before you ask. The results may be hard to understand or confusing and be careful about reading snippets without taking in some of the larger context. But then your question will be better defined. Bonus if you can quote a web page as part of your question.
Your mentors may get too busy to follow the details of activity in your podling. Use the [MENTOR] tag in the subject to try to catch their attention. Escalate to the Incubator IPMC if they still don't have time to respond.
Some folks want there to be a "bill of rights", but you don't have any "rights" because there are no authority figures at Apache to enforce those rights. Any "violations" have to be dealt with "socially". You can seek help from the IPMC or even the board, but even they are volunteers and will try to address the problem socially as well.
You can expect and demand respectful discourse, but sometimes tempers will boil over. That happens in many workplaces, homes and other gatherings of people. Expect it here as well, even more so sometimes, as there are relatively few face-to-face encounters to encourage civility and limit chances of mis-interpretation.
Expect the unexpected. Sometimes, a document you find may be out-of-date, and/or mention things that don't apply to you and when you ask about it, you'll get a totally surprising answer.
Expect a ton of email. The temptation will be to unsubscribe from some of the lists you are told to subscribe to, but it is important to learn how to filter out stuff and skim other stuff as it helps you learn about the people and personalities you will be dealing with post-graduation on occasion, and if you end up on your project's PMC, you will be responsible for mining important information from that email stream.
In certain circumstances, there are specific people charged with specific responsibilities. Over time you can expect to learn who they are, and where they hang out. Your mentors should be able to guide you while you do learn. If, for whatever reason, they are unable or unwilling to help you can ask on the incubator general list (firstname.lastname@example.org). If the topic is too sensitive to discuss in public (eg a potential committer) you may contact the incubator PMC at email@example.com. In the unlikely event that you are still unable to find a resolution then can escalate to the Apache Board via your regular board reports. Should the matter be urgent feel free to contact the board via firstname.lastname@example.org at any time. Please note that all these channels are concerned with the community and infrastructure aspects of your project, they have no interest in implementation issues you may face - you are on your own with those.
At times the process will be frustrating but ultimately it is designed to get you to the goal of being an Apache TLP so be prepared to stick with it for the long term.
Incubation exists as a transition stage into Apache and it is acceptable for some aspects (like legal concerns) to not be immediately solvable for whatever reason. Try not to let things like this get in the way of why you are participating in a podling to start with, presumably you have a strong interest in the software and in building a community around it or you wouldn't be here.
If yourself or your podling get derailed by one issue when there are others you can be spending your volunteer time on go ahead and work on something else. Occassionally you may just get stuck completely, if that truly is the case use the channels detailed above to seek guidance on moving forward.
Embrace diversity. Every podling is a little bit different and your new podling may not exactly match up against existing documentation or prior history. Ask for guidance, keep in mind that answers may vary, and make your decision keeping these things in mind:
- The primary goal is to cover your and Apache's butt legally. This may require you to change build scripts and release packages in a way that is painful for you and your customers.
- Apache only officially releases source code. This may be a pain point for any existing customers used to downloading binary packages.
- At Apache, open source isn't just about making released source code available. It is about trying to get the community involved early and often before the source code is "release-ready".
While the first two are very important from a legal perspective and are a blocker to graduation you'll find that ultimately 3 is the important blocker. Yes you must get your legal ducks in a row but if your podling can not generate a sufficiently large self-sustaining community then it is not going to succeed as an Apache project.