Jochen Wiedmann wrote: > Hi, > > as you have probably noticed, I have created a new branch for > experimenting with RAT. The reason for creating a branch was that I > found RAT's way of emitting output plainly confusing, at least to me. > I never fully understood the system with "subject", "predicate", and > "object". In particular, it was never clear to me, how "header > sample", "license family", and so on relate. Apart from that, RAT-14 > strongly asked for a semantically richer output than basically a table > with three columns. > > I have now (partially) resolved this in a way that satisfies me (but > possibly others not as well): The output is now a series of "IClaim" > objects with a class hierarchy that provides the semantical > information. In particular (resolving RAT-14), running RAT will now > result in the creation of a "ClaimStatistic". This result can be > viewed on > > > https://svn.apache.org/repos/asf/incubator/rat/main/branches/rat-output-semantics/ > > I would now like to ask for confirmation to treat this as the base for > RAT 0.7. As I do now have a more thorough understanding, I should as > well be able to roll back most of my changes and create the > "ClaimStatistic" with comparatively minor changes. However, my feeling > is that others would share my problems in the future. > > If noone else intervenes, then I'd move the current trunk to > "branches/apache-rat-project-0.6" and my private branch to the trunk. > I'd also like to use the "ClaimStatistics" to create a set of > so-called policies. Policies would be simple plugins for the RAT Maven > Plugin, which allow to configure the required behaviour quite easily. > Typical policies might be "only ASL files", "only approved licenses", > "at most 3 unknown files", and so on. This allows projects to > integrate RAT into their standard build, refusing the build, if the > policy isn't met.
in the long run, i think that more complex inferences are going to be required for real life policies than rat can easily support programmatically. reusing semantic web stuff seems like a reasonable solution, allowing users to create their own license ontologies. hence the simple, loosely coupled triple based approach. but the design approach is too complex and confusing. it was definitely a mistake. i've merged in the branch locally and it seems like a good step forward. unless there are objections, i'll commit the merged code. - robert
