Here is the rule of thumb:

If it is required to reproduce the code as deployed, it needs to be packaged by the distribution.

If it is a tool used by the developer to make development easier, it does not *need* to be packaged by the distribution. If it is easier for a developer to use non-distribution tools to affect change in the project, but can then add their changes in to their deployed server without the non-distribution tool, it is acceptable to leave that tool out of the distribution.

Hence, the real distinction should be between generated files and original source. If a file is generated, the distribution needs to provide the original source and the tools to perform the generation. In theory, if that generated file is human editable and readable text, deploying only the text might be OK, we need to make a decision if we would want to

The distribution packagers will make sure that what is essential is packaged. Lets not limit our tool choice based on that. Instead, let us just be aware that every tool selected for the end product puts an additional burden on the packagers, and only select the tools that are:

A. Required to improve the product
B. Reasonable to deploy due to licensing and dependencies.

Example: I don't need Grunt to run a web server. I need Apache for that. Grunt does not need to be in the distro, mod_wsgi does.

OpenStack-dev mailing list

Reply via email to