Closed juneau001 closed 6 years ago
Made all requested changes...will add those files as mentioned to the Rat report
Thank you for fixing them.
@matthiasblaesing What should we do about the external binary (https://github.com/apache/incubator-netbeans/tree/master/j2ee.persistence/external)?
@junichi11 I would say that we remove the binary and embed the XSDs directly. From my perspective packaging the XSDs into a zip just masks the license. I consider these uncritical and covered by:
For small amounts of source that is directly consumed by the ASF product at runtime in source form, and for which that source is unmodified and unlikely to be changed anyway (say, by virtue of being specified by a standard), inclusion of appropriately labeled source is also permitted. An example of this is the web-facesconfig_1_0.dtd, whose inclusion is mandated by the JSR 127: JavaServer Faces specification.
Apache Legal FAQ - How should "Weak Copyleft" Licenses be handled
The whole point of the XSD is to conform to the specification and so I see no reason to change these.
@matthiasblaesing Thank you for your answer. License header's part should be OK if rat excludes and whitespace problems are fixed. I cannot tell about the external binary's part properly. However, I think you can do it. So, could you please tell @juneau001 about it?
Thanks.
@juneau001 as Jun-ichi requested here what needs to be done to get rid of j2ee.persistence-external-resources.zip
:
That file holds XSDs which describe the structure of the XML documents used in JPA. My argument why these files can be part of the source code can be found in the previous comment. Here is what currently happens:
j2ee.persistence-external-resources.zip
is downloaded into the external directorybuild.xml
of the module declares a build-init
task, that unzips the files into the folder ./src/org/netbeans/modules/j2ee/persistence/dd/resources/
So what I would do:
.gitignore
filebuild.xml
does (make sure the XSD are in the correct location)external
folderbuild-init
task from build.xml
, the definition of persistence.resources.dir
should also be removedEh voila, you untangled a situation, that needs resolving :-)
@matthiasblaesing I will look into addressing this situation soon and I will be in touch if I run into any issues. Thanks for outlining what needs to be done to resolve the situation!
I see that external/j2ee.persistence-external-resources.zip files have the standard CDDL + GPL w/ CPE dual license. So, even if you include those as-is in the codebase you still have to preserve the license header, exclude the files from Rat and also need to add in the NOTICE file that Apache NetBeans elects CDDL.
The current license mentions:
If you don't indicate a single choice of license, a recipient has the option to distribute your version of this file under either the CDDL, the GPL Version 2 or to extend the choice of license to its licensees as provided above.
I wonder if we can have a single line for all such situations:
Apache NetBeans elects the CDDL license for all code licensed under a dual CDDL and GPL with ClassPath exception license.
@matthiasblaesing @emilianbold Thanks for the info. Please let me know how you'd like for me to proceed with the .zip file cleanup. Should I take the steps as outlined by Matthias, or should I do as mentioned by Emilian? Thanks
I would expand the zip in any case. In the worst case this exposes the licenses of the files. There are four licenses present:
orm_1_0.xsd
and persistence_1_0.xsd
are both covered by CDDL and GPLv2/wCPEorm_2_0.xsd
, persistence_2_0.xsd
, orm_2_1.xsd
and persistence_2_1.xsd
are all covered by EPL 1.0 and EDL 1.0To get this done I would extract the files and let RAT checks them. If the licenses are correctly detected I would conclude work and postpone the discussion for later, if rat does not detect license, that should be fixed.
I've expanded the zip file and committed the changes. Let me know if I need to modify the license headers after the RAT checks.
Thanks
I see about 15 files in j2ee.persistence that have problematic license headers (or none) of some kind: https://builds.apache.org/job/incubator-netbeans-linux/lastSuccessfulBuild/artifact/nbbuild/build/rat-report.txt
Thanks @geertjanw we ran into an issue with this package due to a ZIP file containing additional files requiring license updates. @matthiasblaesing Would you like me now to adjust the license headers for those files which I extracted? Thanks
I think that makes sense, yes, i.e., please adjust license headers of those files.
Please be careful. The contents of the ZIP dies not belong to the netbeans cidebase. In the ZIP XSDs are contained, that hold the XML grammar.
We should see why Rat does not detect CDDL/GPLv2CPE and EDL/EPL. From legal perspectice the file can IMHO stay. See abive für reasoning.
I'm writing from my phone, I'll have a look at this tonight.
Am 25. Oktober 2017 12:04:12 MESZ schrieb Geertjan Wielenga notifications@github.com:
I think that makes sense, yes, i.e., please adjust license headers of those files.
-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-netbeans/pull/117#issuecomment-339280397
-- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
That makes sense, yes, don't relicense these from the ZIP, we need to figure out why they're caught by Rat -- and also make sure we're talking about the same files here.
I have modified the license headers for those xsd files that were contained within the archive ZIP file. Please let me know if you need anything else. Thanks
I think we need to investigate whether this is the right approach here.
OK, I need to revert that...sorry. I read on my phone and thought you wanted me to relicense. Give me a moment to revert. Thanks
Well, potentially it's OK. Let's wait and investigate.
I've got both versions available in my local repository...if I need to relicense then let me know and I can do it. Sorry about misreading your previous message. Too early here and just drinking my first cup of Java for the day.
Ok - this still looks a bit chaotic:
.gitignore
:
/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/orm_1_0.xsd
/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/orm_2_0.xsd
/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/orm_2_1.xsd
/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/persistence_1_0.xsd
/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/persistence_2_0.xsd
/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/persistence_2_1.xsd
j2ee.persistence/build.xml
needs to be removed (lines 25-29)orm*.xsd
and persistence*.xsd
needs to placed in j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/
(see the result of a normal build, the xsds can be found in the source) <exclude name="j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/dd/resources/*.xsd" /> <!-- XSDs for usage at runtime and code generation - the XSDs are not modified, so covered by https://www.apache.org/legal/resolved.html#category-b -->
<exclude name="j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/ui/resources/*.xml" /> <!-- user visible file template -->
<exclude name="j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/wizard/jpacontroller/resources/*.txt" /> <!-- user visible file template -->
This should do it.
@matthiasblaesing How are things looking now??? I performed the recommended changes in the order you had outlined.
@juneau001 thank you. The commits still look strange (looks as if you merged master, but did neither the squash, nor the rebase). I took the changes consolidated that and pushed it as:
https://github.com/apache/incubator-netbeans/commit/7e6fdbd145e62b7e33156afa7ef2bf3524c93da7
That should take care of j2ee.persistence
Thanks @matthiasblaesing I appreciate the assistance. Not sure why the rebase and squash did not work, maybe I missed a commit in between.