Authors:
As we collect feedback on Marvin's usage and analyze the strength of some of its features when compared to new projects that were launched after it, we understand that some scope changes need to be made in order to continue making Marvin a helpful project for its users. Marvin was originally created to be the AI platform for cloud environments, at a time when most AI platforms were closed-source. We achieved that goal for a long period, and now it's time for a change. In order to make Marvin more open and compatible with other important frameworks and tools we understand some features could be removed, and the community could then focus its attention on improving a few parts of it.
Some parts of Marvin's design were thought to be compatible with other frameworks and platforms since its inception, such as the engine executor which was supposed to be scheduled in a containerization scheduling tool. However, other parts of our product were not easy to be used with another standard tooling, such as pipeline management. Marvin doesn't aim to reinvent wheels nor duplicate work, instead, our team believes that we should be compatible with other tools that were created to solve specific parts of the machine learning workflow. This RFC is important because it will simplify Marvin's architecture and at the same time allow it to be used by consolidated tools out there, bringing Marvin's abstractions and their benefits to a larger group.
In order to make it easier to explain and plan the work related to these changes, this section will be split into three parts.