Why Incubating at the ASF May Not Be Right for Your Project

While the majority of ASF projects transition through incubation and become top-level projects without significant challenges, some projects face difficulties. A few fail to build a community and may eventually decide to retire, while others choose to leave the Apache Incubator. It's important to determine whether your project is a suitable fit for the ASF before beginning the incubation process. Carefully consider the potential changes your project may need to make and discuss these thoroughly with your champion before you join the Apache Incubator. Ensure that you are prepared for any of the situations listed below.

As an incubating ASF project, you may encounter one or more of the following challenges.

Onboarding May Take Longer Than Expected

Things like organizing software grants, setting up repositories, and creating websites may take longer than anticipated. There may be manual steps involved that you did not foresee.

You May Lose Access to Previous Services

The ASF has a specific set of services and tools, and your previous choice of CI server or infrastructure may not be available. You might need to adjust your development workflow accordingly.

ASF Documentation Might Require Improvement

Some ASF documentation may be outdated, unclear, or contradictory. Since mentors come from diverse backgrounds, you may receive inconsistent or unclear answers to some questions.

Changes Will Be Required in How You Build and Distribute Software

The ASF offers legal protection for those making releases, which means your release processes will likely need to change. You’ll need to vote on releases over two 72-hour cycles, including having the Incubator PMC vote on your releases. If there are issues, the IPMC may require fixes, which could potentially cause delays in your release process. Your project may also need to change how it publishes software on platforms like GitHub or Docker.

Communication Methods Will Likely Change

Apache projects primarily communicate via mailing lists, and important decisions must be made there. If your project currently relies on instant messaging platforms or real-time meetings, you will need to transition to using mailing lists for key discussions.

GitHub Permissions May Be More Restrictive

Your project will not have admin access to your GitHub repository. This can limit some functionalities that you may be used to. For example, installing bots or other tools may not be permitted, and contributors may have fewer permissions.

Licensing and IP Will Be a Key Focus

The ASF takes licensing and intellectual property (IP) seriously. You will need to ensure that all files are properly licensed and that you are aware of the origin of each line of code. Any major contributors will need to sign an Individual Contributor License Agreement (ICLA). This can be particularly challenging, especially for large GitHub projects or those with numerous repositories. If your project uses dependencies that are incompatible with Apache’s licensing, you may need to remove or replace code or dependencies.

Trademark and Branding Guidelines Must Be Followed

You will need to monitor how your project's name is used by others. Some websites or third-party repositories may need to be renamed if they are not controlled by your project. This can be challenging if you don’t have control over these platforms.

No Dictators or Corporate Overlords

Consensus-driven development is a core principle of the ASF. This means that there should be no individuals or corporations in charge. Everyone in the community should have an equal say in the project's direction. The ASF does not tolerate "benevolent dictators" or corporate overlords.

The ASF May Feel Bureaucratic

The ASF has a range of policies and traditions, some of which may not be explicitly documented. If your project comes from an environment with minimal policy, you may find the ASF’s structure challenging to adapt to.

Mentors May Not Vote on Your Releases

Releases require at least three +1 votes from IPMC members. Your mentors, if they are IPMC members, may not always be available to participate in voting. If this happens, you’ll need to request additional votes from other members of the IPMC, which may delay your release process.

Mentors May Go Missing

Mentors are volunteers, and there may be times when they are unavailable or even go missing for extended periods. While you can request additional mentors or seek help from the IPMC, finding available mentors and getting their time may be difficult. In some cases, you may need to address issues independently.

Replacing Missing Mentors May Be Challenging

If a mentor becomes unavailable, finding a replacement can be difficult, especially late in the project’s lifecycle.

Understanding the Apache Way May Be Difficult

The Apache Way is a guiding set of principles that may seem ambiguous or mysterious, especially to newcomers. It means different things to different people, and some believe it cannot be fully documented—it just "is." Those with experience in the Apache Way may have differing interpretations of how it should be applied in specific cases.

Compliance with ASF Policies Is Required Before Graduation

Your project must comply with ASF policies before it can graduate from incubation. If you delay working on policy compliance until right before graduation, it could cause delays in your project’s graduation process. If your project has been incubating for a long time, you may also find that your mentors are no longer available to help guide you through the graduation process.

If you encounter any of these challenges during incubation, reach out to your mentors or ask for assistance on the general@incubator mailing list. It’s important to address these issues as early as possible to keep your project moving forward.  

  • No labels