Hi Fabian, trying to answer to some of your doubts in the hope you change your vote to +1 ;-)
2013/3/20 Fabian Christ <[email protected]> > > > ################### > > Checking ./apache-marmotta-3.0.0-incubating-src.tar.gz > > NOTICE.txt > > The following notice is not required and could be removed. I think it > is okay for this release but it should be removed to keep the NOTICE > minimal. The reason for removal is that these are not legal statements > that are required by the licenses of the those bundles. > > In addition, the source distribution of this product contains: > - software based on IzPack licensed under Apache License 2.0 > - software based on D3.js licensed under New BSD License > - software based on Dracula Graph Library licensed under MIT License > - software based on strftime licensed under New BSD License > - software based on JQuery licensed under MIT License > - software based on CodeMirror licensed under Apache License 2.0 > - software based on D2R Snorql licensed under Apache License 2.0 > - software based on script.aculo.us licensed under Apache License 2.0 > - software based on Prototype licensed under Apache License 2.0 > - software based on SPARQL Flint Editor licensed under Apache License 2.0 > - software based on Sgvizler license under a MIT-style license > - software based on MigLayout licensed under New BSD License > - software based on SwingBits licensed under New BSD License > - software based on rometools licensed under the Apache License 2.0 > - software based on jsonld-java licensed under the New BSD License > > Note: "Sgvizler license under a MIT-style license" -> In LICENSE.txt > it is listed as "MIT". Homepage also just says "MIT" and not > "MIT-style". > We will remove this in the future (or put it in a different file). We thought it would be good to have somewhere a place where we list all 3rd party modules we are using. > > RAT check: mvn apache-rat:check > The apache-rat check always uses the following excludes defined in the > parent POM for all artifacts > Exclude: **/*.txt > Exclude: **/atlassian-ide-plugin.xml > Exclude: **/README.* > Exclude: **/NOTICE.* > Exclude: **/.* > Exclude: **/.*/* > Exclude: **/.*/**/* > Exclude: **/target/** > Exclude: doc/api/**/* > Exclude: .gitignore > Exclude: .git/** > Exclude: *.sh > Exclude: .git/** > Exclude: .idea/** > Exclude: .eclipse/** > Exclude: **/*.iml > Exclude: **/*.ipr > Exclude: **/*.iws > Exclude: **/*.psd > Exclude: **/*.out > Exclude: **/*.log > Exclude: **/jquery*.js > Exclude: **/jquery*.css > Exclude: **/foundation.js > Exclude: **/strftime.js > Exclude: **/customforms.js > Exclude: **/pageguide.js > Exclude: **/raphael-dracula.pack.min.js > Exclude: **/dygraph/** > Exclude: **/sgvizler/** > Exclude: **/js/lib/** > Exclude: **/src/ext/** > Exclude: **/src/main/resources/task-dialog*.properties > Exclude: > **/src/test/resources/org/apache/marmotta/commons/sesame/rio/jsonld/** > Exclude: > **/src/test/resources/org/apache/marmotta/commons/sesame/rio/vcard/*.vcf > Exclude: **/META-INF/** > Exclude: **/*.kwrl > Exclude: **/*.ldpath > Exclude: **/*.search > Exclude: **/*.ics > Exclude: **/*.json > > The problem with this configuration is that you will not be informed > about a missing license header, e.g., in some *.json file. This way > someone may use in the future a JSON file that is missing license > information (may even have another license) and the rat check will > pass. With this RAT report I can not be really sure that everything is > fine. Just too many global excludes. IMHO excludes should be > configured and documented on a per artifact level. This is at least > what we do in Stanbol. > I configured the RAT plugin to the extent that is reasonable. If file extensions are excluded in general, it is because these formats do not have guaranteed support for comments, so we cannot add a license header. This is true for - KWRL is our reasoner rule specification (.kwrl) - LDPath is our query language specification (.ldpath and .search) - ICal Calender (.ics) - JSON (.json) - TXT (.txt) Note that according to the JSON specification, there is no comment format for JSON guaranteed. In addition, we excluded "known 3rd party" modules. The remaining excluded files are those that are also in .gitignore (e.g. IntelliJ files). I was looking at how Stanbol does it and was not too happy about it, because it creates a maintenance headache with too many exclude files distributed over the source tree. I prefer having an overview over what is excluded so it is easy to fix. > > I do not know if this is a blocker. Is there another way to check that > all files have proper license headers? > > The RAT plugin alone can in any case only support in the release process. In the end, it will always be necessary to do a manual check. > ################### > > Checking ./apache-marmotta-3.0.0-incubating-installer.tar.gz > Checking ./apache-marmotta-3.0.0-incubating-ldpath.tar.gz > Checking ./apache-marmotta-3.0.0-incubating-webapp.tar.gz > > While extracting the tar.gz I realized that all the different archives > are extracted to "apache-marmotta-3.0.0-incubating". This is a bit > confusing. Why not use "apache-marmotta-3.0.0-incubating-installer", > "apache-marmotta-3.0.0-incubating-ldpath" etc? > Also thought about it. Currently, it simply takes the default value (which is the name without classifier). Should be easy to change in the future. > > LICENSE looks good for all packages > NOTICE same as above. "Additionally, it includes the following 3rd > party modules:" The list is not necessary. The NOTICE is not a file to > list dependencies or included modules. You may create an additional > file for such information. > So now I have a bit of a contradiction. First Andy and you said we need to add all the 3rd party libraries included in the distribution there that are not licensed by the Apache Software Foundation. Now remove them again? > > ################### > > Summary vote: 0 (for the moment) because I am unsure about the rat > check. At least I am not really convinced that the license headers are > fine in all cases. > I hope I could convince you that the files that are excluded are excluded because - the format does not support comments, so no license header possible OR - the files come from a 3rd party module its own license OR - the files are temporary configuration (e.g. from the IDE) or generated (e.g. target, doc) files ;-) > > Beside that, really great work guys! Really impressive how fast you > are adopting to the Apache way and learning all these details. The > issues that I raised are only minor and easy to fix. Maybe I am > nit-picking a bit but it is just to make you aware of certain details. > I think, you are on very good way. > Thanks ;-) Greetings, Sebastian
