I've looked into many open source software repositories, and I've found some common elements and somethings people do in different fashion from one another.
For example, every repository has a README file, a INSTALL file, a COPYING file and stuff like that.
Other things differ:
Some projects, like git, have their source code in the root level, while others have the source code in a src/ folder and others, like the Linux kernel, have the source code spread in different folders in root level, that divide code by areas;
Some have their tests in a t/ folder, while others in a tests/ folder, or named otherwise;
Some have files about submitting patches and who the maintainers are, and those might be inside some Documentation/ or in the root level.
Are there recommendations? A best practice?
For example: personally, I don't like the code in the root level, git-fashion. It looks messy and confuses one trying to start as a contributor (especially because they have some code inside folders, and scripts in the root level as well, it's really messy).
If I were to start a project of my own and wanted to start right from the start, are there recommendations? Best practices? How can I make a clean and clear structure?
Thank you!