Allow repositories to specify where `.travis.yml` should be found

Let me make a counterargument on this and see if the pros outweigh the cons.

  • (key point) It has become standard practice for many (most?) development tools to have their “root” configuration file in a repository root.
    • this includes standard build tools, lint tools, testing tools, IDEs
    • The reason is this allows those tools to find their instructions
      • unambiguously
      • without imposing any structure requrements on the source tree – thus fit for any and all projects, unlike anything else
      • with zero configuration
  • As a result of the above, this is where a person expects to find all the “entry points” into the codebase. Which allows them to:
    • Instantly learn what they can do with the code
    • Instantly do stuff with the code using standard tools and procedures
      • without the need to scry around looking for ins and outs into the codebase god-knows-where
      • without the need to configure each of those tools to understand the nonstandard project structure
        • which a tool may not even support since that’s extra costs that can be easily avoided if everyone just follows the standard. In that case, access to this tool would be lost for you altogether.
    • As a result, nonstandard stuff placement puts a project at a competitive disadvantage since
      • The current state of affairs in IT is a technological singularity so it’s an absolute must to spend as little time and effort learning non-fundamental stuff as possible
      • as such, having to spent any more time and effort setting up and working with a project than absolutely necessary is wasted time and an unnecessary barrier to entry
        • which is bound to turn a share of prospective contributors away since they would feel that such a blind upfront investment would likely be not worth the result they hope to get and/or that you don’t value their time so are not worth doing business with
        • even for those that do invest enough and manage to set everything up correctly – including yourself, – it’s still a cost that could be avoided

So go ahead, place stuff in random places that only you know of. You will only be wasting your own time, money and opportunities and putting yourself at a competitive disadvantage to projects that don’t.