+ 100
The reason is that any package* should be self described. Your
configuration describes your project. If you use another piece of
software, it should also be self-described.
Let's take the following example:
* for now, it's easy for you to add a direct dependency
to Roassal2Spec, just as if it was a part of your project ... =>
no problem
* ... but it is not. Maybe tomorrow, Alex will need to add a
dependency to one or more packages for Roassal2Spec => you will
have problems because you will not get these dependencies. Of
course, you can still add them to your configuration but you can
easily see that you will end with a configuration including all
flatten dependencies, and with a lot of dependencies not directly
related to your project (transitive dependencies). Flatten
dependencies is really something that we should avoid, else
maintenance of dependencies will be a hell.
That's why I'm really in favor of having configurations, even for one
single MC package inside the configuration.
* I mean, not a Monticello package but a piece of software that you
want to deliver independently. It may be a whole project or part of
it. It may also refers to one or many Monticello packages