I am currently looking into the dependencies betwen packages in camel-core. The packages org.apache.camel and org.apache.camel.spi form the camel api.
So I am trying to make them not depend on other packages from camel-core. One problem there is the starter class Main. It needs access to impl packages as it needs to start camel. So it should not live in org.apache.camel.
I propose to move it to org.apache.camel.main. To not break anything right now I will create a deprecated class Main in org.apache.camel that extends the moved Main. We can remove the deprecated version in camel 3.0