Add full support for license expressions
pombredanne opened this issue · 10 comments
https://github.com/nexB/license-expression provides a comprehensive support for parsing, comparing, validating, normalizing and resolving license expressions based on SPDX or any other license identifiers or names. It uses a boolean logic engine behind the scenes to handle this correctly
We should add this to support SPDX license expressions.
I would like to work on this @pombredanne :)
@yash-nisar this is a GSoC project.I don’t think you should work on this now.
Oh, I didn't notice that this is a GSoC project. However, we should let @pombredanne decide this. :) and I decided to take this up because this ticket will require a huge patch, and there are no other tickets to work on.
@pombredanne
Hi, I would like to work on this for GSoC2018. I so love this project. I have started by having a close look at https://github.com/nexB/license-expression, to better understand this project and requirements.
Thanks
@pombredanne
After looking and running tests for tools-python,
I noticed that the code structure is good.
The use of ply, a good choice.
I have also looked at nexB.
My question is, how do you want this project to go?
Do you want want this project to be an integration with nexB or you want us to be inspired by it and have our codebase duplicate some of his logic?
@pombredanne i would like to work on the issue, in what direction should i explore to make the first contribution i.e. what should be my first deliverable to this issue.
Thanks
@bhavybarca You would need to design how to integrate support for this library https://github.com/nexB/license-expression/ and that would also require updating all the internal models accordingly. This is a project of its own alright.
See #111 for an implementation attempt. I don't think continuing with that PR is viable though, as it is very old and outdated.
The license_expression
library is now integrated into the refactored model. As this is not merged to main yet, I will leave this issue open.
The refactored version can now be found on main, so I'll go ahead and close this issue. Please speak up if it should be reopened.