Project Labs has retired. For details please refer to its Attic page.
Apache Labs

Frequently Asked Questions

  1. What are the rules regarding Apache Labs?
  2. Why were the Apache Labs established?
  3. Why can only apache committers ask for a lab?
  4. Now that we have Labs, can our project still have a Sandbox?
  5. Why do labs need to be approved?
  6. What is a PI?
  7. What states can a lab be in?
  8. Why won't Apache Labs ask for lab-specific mail lists?
  9. Why won't Apache Labs ask for committership to be granted?
  10. Why aren't labs allowed to make releases?
  11. Why do labs have to have a DOAP descriptor?
  12. How can I get involved with a Lab?

1. What are the rules regarding Apache Labs?

See the How it Works page which describes the Apache Labs bylaws.

2. Why were the Apache Labs established?

Innovation and research follow different lifecycles than incubation, development and maintenance. The firsts are efforts that are mostly done by a few individuals, with a lot of freedom and peace and it's expected of many of such efforts to fail. The ASF grew around established projects and focused its entire incubation efforts around the concept of nurturing and bootstrapping healthy and diverse open development communities. However, it has been duly noted that incubation and innovation can hardly coexist at the same time and that the foundation didn't contain a place were its own committers can get together and bootstrap new ideas and were forced to go to external locations. Apache Labs was established to provide a place were trusted individuals can innovate without the burden of community building, with the comfort of the apache infrastructure and remaining close to their peers, making it easier to get feedback and seeding new potential incubator podlings.

3. Why can only apache committers ask for a lab?

Apache Labs wants to be a place were it's easy and natural for people to work on new things and collaborate, without fearing that somebody is trying to 'abuse' the Apache brand and boost their web visibility by just placing their stuff overhere. Since it's really hard to create a 'trust' filter, Apache Labs is simply reusing the collective social filtering that project do in their normal activity by granting commit access. This drastically simplifies the labs operations and reduces social friction: you have to earn your social respect somewhere else in the foundation (be a committer in at least one Apache project) before you can ask for a lab. We are aware that this might potentially reduce our ability to innovate, but we are willing to pay this price for a simpler day-to-day operation.

4. Now that we have Labs, can our project still have a Sandbox?

Of course you can. Apache Labs do not replace the project sandboxes. Instead, the Labs were designed to allow individual Apache committers room to experiment outside the constraints of an existing project.

5. Why do labs need to be approved?

The Apache Labs SVN repository is write-accessible to all apache committers, so, in theory, anyone of them can just go ahead and create a lab for themselves. The Apache Labs bylaws state that a lab needs to be approved by lazy consensus in a 72 hour period of the Apache Labs PMC before it can be established. This is done to avoid that committers use labs as their personal 'dumping' grounds and that labs remain topic-specific. It also allows the PMC to force the committers to express their intention clearly and in advance, and to make sure that their machine-readable descriptors are sound.

6. What is a PI?

PI stands for "principal investigator" and it's the name of the committer that asks for the lab. Every lab has to have a PI and the PI is responsible for keeping the lab descriptors up-to-date with the lab. The PI can ask for a lab to change state and participates in a vote to change the lab state when triggered by the PMC. You can get more info in the bylaws.

7. What states can a lab be in?

A lab can have four states:

  • Active - The lab is currently active.
  • Idle - The lab is not currently active but its activity will be resumed in the future.
  • Promoted - The lab started incubation.
  • Completed - The lab has been completed and its activity is unlikely to resume in the future.

8. Why won't Apache Labs ask for lab-specific mail lists?

Apache Labs expects a lot of labs with a few people per lab and not a lot of need for public coordination between them. Asking for lab-specific mail lists has several disadvantages:

  • it increases the weight of labs on the Apache infrastructure
  • it reduces the ability for people to 'watch over the shoulder' of labs activity and become interested serendipitously
  • it encourages a low threshold for activity that might trigger the promotion of a lab that has a lot of momentum toward the incubation

9. Why won't Apache Labs ask for committership to be granted?

In order to simplify day-to-day operations of labs, it has been decided that labs won't grant committership to newcomers. This is because we feel that the potential gain is not enough to compensate the risk for potential abuse.

10. Why aren't labs allowed to make releases?

The Apache Labs bylaws were carefully designed to avoid labs from becoming a way to route around the Apache Incubator's rules and become a shortcut for new projects into the foundation. This is why the 'single mail list', 'no new committers' and 'no releases' policies were established. Also, it dramatically simplifies labs' day-to-day operations because lack releases reduces the need for legal oversight.

11. Why do labs have to have a DOAP descriptor?

Apache Labs is designed to host a very large number of small labs, some of which will be promoted, but must of which would lie idle or die. Machine-readable descriptors allow us to automate browsing and managing the various labs and knowing who is responsible or who to contact. Making it a mandatory requirement helps in making sure that every lab complies and distributes the cost of maintaining the project.

12. How can I get involved with a Lab?

The etiquette is largely similar to any other project where you have commit access but aren't directly involved in that area of the codebase. Start off attaching patches to issue tickets in Jira, and eventually the PI of that lab will get tired of applying each of them and tell you it's OK to just go ahead and commit.