Skip to content

Conflicting Licenses Logic #10

@savu-a

Description

@savu-a

Is your feature request related to a problem? Please describe.
In some components having multiple licenses, there might be a conflict between the licenses when copylefted licenses meet a permissive license which protects itself again copyleft takeover. Lucy should be able to show these license conflicts.

image

Describe the solution you'd like

Front end:

  • New view to edit, view the list with the conflicting licenses or add new fields for the license edit view to enter the conflicting licenses
  • Show conflicting licenses in the license detail view
  • (Optional) Upload of a CSV file with the conflicting licenses. Requires a fixed format that must certainly always be followed
  • Show conflicting licenses for libraries in the product detail view

Back end:

  • Add a new table to save license conflicts in the database. One license can have multiple license conflicts and one license conflict belongs to multiple licenses (n:m)

Describe alternatives you've considered
N/A

Additional context
This feature is partly implemented.

For every license, the license compatibility with another license is visible in Lucy. To see them you have to go to a license and click on the tab "License Conflicts (BETA)".
By editing a license the compatibility to every license can be defined:

  • Compatible
  • Incompatible
  • Unknown

Currently, the method which checks every library if it contains an incompatible license combination and creates an error log is disabled because the current implementation was not fast enough.

The solution would be to cache the license combinations and don't pull them for every check from the database.

Also, it is not necessary to cross-check every license with another but just to check every license with its next neighbour. That should also increase the performance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions