-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
Dear community, happy new year! As the TVM community grows larger, we have heard voices on the possibility of joining a software foundation. As per our community tradition, I open this thread for discussing the possible futures of the community. In particular, we would like to discuss the possibility to propose TVM to Apache Incubator.
Please share your thoughts, concerns, ideas.
Why
The TVM currently runs like an Apache project already, with merit-based governance model and a strong emphasis of community. So it is natural to do such a transition. Markus, our potential Apache mentor kindly gave a talk during TVM conference. You can find his slides here
Why Not
Apache does not magically make things happen. I have seen good and bad things happen in Apache communities. Sometimes it is simply due to the conflict of interest happened in bad ways, and not necessarily has a direct connection to incubation itself. As a diverse community, we believe we have already experienced ways to work together in a positive and collaborative way, so I hope such risk is minimized.
Another potential risk could be changing ways of development. Historically, Apache projects favor a single way of development:
- Use gitbox(which get mirrored to github)
- Use JIRA instead of github issues.
- Mail-list centric culture
- use dev@ for development
- many projects uses user@ mail-list for general support discussion.
These restrictions are being lifted recently and Apache encourages each project to follow their way of development(e.g. use github issues). One of the main philosophy behind these choices is to make sure that the development is not dominated by a single party. For example, face to face or one to one hangout call makes it hard for other parties to participate. So we need to ask developers to summarize their discussions and provide RFC to the community via public archive(e.g. github issues). By making all the development and discussion history public, we enable community members who maybe not have time to participate face to face meetings to join the development smoothly as well. Our community adopts the same philosophy(develop in a publically archivable place), with slight variants:
- We use github primary for development.
- We use github issues for design discussions and RFCs
- We use a discourse forum https://discuss.tvm.ai for general support discussions
My understanding is that the Apache is flexible enough as long as we follow the general principle. Likely we will need to subscribe github issues to dev@, but can keep the discourse forum and use github for development
How it could affect us
We shall continue to grow the community and make TVM awesome for everyone. Because the TVM already follows the Apache-style governance model, the transition should be smooth. There will be a disruptive period when we transition the codebase
The following things will happen, based on my previous experience with Apache projects,
if we decide to incubate
- We will send out a proposal to Apache incubator to see if they would like to sponsor the project
- We will migrate the project repo to apache/incubator-tvm
- Apache generally encourages each community to use their ways of development, as long as we follow the apache-way, we can keep our current style of development
- Likely we can keep the current way of development, with GitHub and RFCs
- A dev@ mail-list will be created, which mirrors GitHub issues, and RFCs can also be discussed there. dev@ mail-list is important in Apache culture, many projects do design discussion there. So far, we use github issues like the similar way people use dev@, so mirroring GH issues to dev@ would likely give us the most smooth transition.
The current committers will be invited as to Apache committers. The current PMC already follows the Apache style of voting in committers, and we only need to migrate the PMC mail-list. While reviewer is not an official role in Apache projects, we can still propose to maintaining our reviewer list and use this mechanism to help us find potential committers.
Share your thoughts
As per community tradition, all major proposals will be discussed as RFC by members of the community. We will open this thread for a week for discussions on whether should we join the process. I have invited our potential mentors(@markusweimer, @sscdotopen, @bgchun) to join the discussion as well.
I will send out the incubating proposal for public RFC as well if we agree that that is a good idea. cc @dmlc/tvm-comitter
Please share your thoughts, examples:
- Let us do apache incubation
- I do not care
- No-op, the current way is OK, let us just keep the project as it is
- I have a question on ...