enh(core): improve license handling in sheldon
Description
Sheldon became smarter and handles our different licenses more gracefully.
Instead of relying on the presence or not of the LGPL license at the root of the repository, Sheldon now looks either for a COPYING.lesser file (LGPL) or a LICENSE.txt (Proprietary) recursively from the current file folder up to the repository root. That means we may support different licenses in a repository. As before, it is capable of adding a missing header and fix license years. But now, on top of that, it will handle the multiple copyright holders according to the license files, and to handle the software name properly.
Closes #32 (closed)
Limitations
When the license type is correct, Sheldon will only then check if the years are correct. He is not yet capable of detecting wrong copyright holders and wrong software names. If you want to fix the software name mentioned in the license file in an application repository, for now, I would advise doing a simple regex replace across all files.
How to test it?
Proper licenses were added to some projects. Please send me a PM to know which one. You can play with some license headers, removing them completely or messing around with years.