Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
Hi, I see from the PPMC vote thread that there one of your Mentors suggested going to general@incubator earlier. That might have been a good idea -- here first, then maybe legal-discuss@apache later if we couldn't come up with a definitive answer. Can certainly ask here before making a release if you need something reviewed, double checked and/or are unsure of something. Thanks, Justin - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On Sat, Mar 21, 2015 at 2:47 AM, Branko Čibej br...@apache.org wrote: On 21.03.2015 05:25, Dmitriy Setrakyan wrote: On Fri, Mar 20, 2015 at 7:33 PM, Marvin Humphrey mar...@rectangular.com wrote: On Fri, Mar 20, 2015 at 6:53 PM, Dmitriy Setrakyan dsetrak...@apache.org wrote: I think we made a mistake and imported the wrong version of the source code. The same version is provided here by Doug Lee without the GPL headers, but only with Public Domain header: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/jsr166e/ I guess we will have to resubmit the release, unless you can accept it in the current shape. Please advise. If the files don't contain any GPL IP, then what we have is a licensing documentation bug: there's public domain IP which is perfectly fine to include, but it's misleadingly labeled. Shipping a release which contains such IP does not pose any legal problems. Contrast that with a licensing error, such as GPL IP onto which someone has slapped an ALv2 header. Shipping such a release could leave users and redistributors open to a claim of copyright violation. Licensing documentation bugs can vary from inconsequential to catastrophic depending on how badly they mislead downstream consumers. It seems to me that while this one might cause alarm, it shouldn't cause anybody to do anything illegal. So long as you are *certain* that those *exact* versions of the files are available under Doug Lea's public domain dedication and contain no GPL mods, I think it's OK. Thanks for quick response. I am *certain* because these files were initially grabbed from Doug Lea's JSR 166 page. The wrong license headers were added by mistake. Do you happen to know exactly which versions of those files were imported? I looked at the ConcurrentHashMap implementation and compared the current version on that site: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/jsr166e/ConcurrentHashMapV8.java?revision=1.123 with the one in the Ignite release package, and the differences are far larger than just license header changes: https://paste.apache.org/p/3SAz The code for JSR-166 has evolved significantly since we did the initial import close to 2 years ago, before the JDK8 was officially released yet. I also tried to find the exact version we imported, but at this point I am afraid it would be almost impossible. On top of that we have removed/changed some not-needed code in the migrated classes. Sorry, I should've checked this much earlier ... I would suggest to *not* just remove the license headers in those files. Instead, delete the current files and import a fresh set directly from the repository at gee.cs.oswego.edu, then mention in NOTICE that they were imported from there, not from OpenJDK. Also please add a README file to the directory where those files are imported and note the exact versions of the imported files (maybe best to just list the ViewCVS download URLs, like the one above). Yes, absolutely agree. I have created a ticket in Ignite JIRA, IGNITE-545, to address this. Once you've imported the original files, you can, e.g., change the package name and make other minor modifications. The point is to have an audit trail of changes from the public-domain original to whatever we ship; currently, the Git log shows no such trail. Yes, agree. Unfortunately this code was moved and renamed several times since it was initially migrated. I am pretty sure that GIT origins of the code are not clearanymore. -- Brane
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
Am 21.03.2015 10:47, schrieb Branko Čibej: [...] Do you happen to know exactly which versions of those files were imported? I looked at the ConcurrentHashMap implementation and compared the current version on that site: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/jsr166e/ConcurrentHashMapV8.java?revision=1.123 with the one in the Ignite release package, and the differences are far larger than just license header changes: https://paste.apache.org/p/3SAz I suggest comparing with the history of the OpenJDK8 file: http://hg.openjdk.java.net/jdk8/jdk8/jdk/log/687fd7c7986d/src/share/classes/java/util/concurrent/ConcurrentHashMap.java There have been quite a few changes in jdk8 for this map afaik bye Jochen -- Jochen blackdrag Theodorou - Groovy Project Tech Lead blog: http://blackdragsview.blogspot.com/ german groovy discussion newsgroup: de.comp.lang.misc For Groovy programming sources visit http://groovy-lang.org - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On Fri, Mar 20, 2015 at 9:49 PM, Marvin Humphrey mar...@rectangular.com wrote: On Fri, Mar 20, 2015 at 9:25 PM, Dmitriy Setrakyan dsetrak...@apache.org wrote: In this case, can we resume the voting for the release? Sure, voting has actually never stopped. :) Even if Justin or I were to vote -1, release VOTEs are majority approval with minimum of 3 binding +1 votes. The Release Manager can technically choose to continue or not. Now if anybody finds something serious, the RM would ordinarily be expected to cancel the vote. But nevertheless, I encourage you to question IPMC voters and our reasoning. We may have some accumulated expertise, but none of us are lawyers. I see from the PPMC vote thread that there one of your Mentors suggested going to general@incubator earlier. That might have been a good idea -- here first, then maybe legal-discuss@apache later if we couldn't come up with a definitive answer. I'd suggest opening a ticket to correct the headers. Fixing them right now. Nice! The new 1.0 release with corrected headers will be submitted for PPMC vote on Monday. Hmm, I'm confused. This is 1.0-RC3. I would ordinarily expect that to become 1.0 once the release vote succeeds. While Apache isn't going to force a particular versioning scheme on you, I don't think you can put out two releases with the same version number. That would result in identically named artifacts with different content and security mechanisms going berzerk as a consequence. This was intended to be a public RC3 release. If it was to pass the vote, then the official release would also have 1.0-RC3 version. We wanted to have community to play with the RC3 release for a bit until we release the final 1.0 release in a week or two. Marvin Humphrey - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
Hi, This should be easy to fix. Will do. These are not licensing errors as such, but still nice to fix. Next release is fine. These are optional runtime dependencies (GPL code is not present in the Apache Ignite source tree). That's 100% OK then. Again, same as above. This is an optional dependency and the actual EPL code is not included in the source tree. Also OK. Thanks for taking the time to answer my questions. Justin
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
Justin, Thanks for your quick feedback. My comments are below. D. On Fri, Mar 20, 2015 at 10:10 PM, Justin Mclean jus...@classsoftware.com wrote: Hi, If the files don't contain any GPL IP, then what we have is a licensing documentation bug: That's also my opinion. There are however several other issue with LICENSE and NOTICE, most are also bugs' but I'm concerned about the other GPL licenses and the EPL license. Notice file needs some changes (mostly things removed). - No need to list Scala collection license as this is Apache licensed and has not NOTICE file. [1] - Look like JetBrains Annotations does have a NOTICE file and this text needs to go into the NOTICE file [2] - No need to list Persistent Collections library as it is MIT licensed and is already in LICENSE. [3] - No need to list snaptree as this is BSD and is already in LICENSE. [3] - No need to list org.jdk8.backport, you could out this in LICENSE (assuming it is public domain and not GPL). License file may need a few additions: - Add org.jdk8.backport (se above) - Possibly missing jcraft (BSD)? - Possibly missisng SL4j (MIT)? - Public domain books This should be easy to fix. Will do. Is this GPL software bundled or required? ./modules/core/src/main/resources/META-INF/licenses/gnu-gplv2ce-license.txt ./modules/geospatial/licenses/jts-lgpl-license.txt ./modules/hibernate/licenses/hibernate-lgpl-2.1-license.txt ./modules/schedule/licenses/cron4j-lgpl-2.1-license.txt These are optional runtime dependencies (GPL code is not present in the Apache Ignite source tree). The license text is provided on per-dependency basis to let the user know that if he/she chooses to include the dependency, then it will be under the specified license. It look like the software bundles these? ./modules/ssh/licenses/jcraft-revised-bsd.txt ./modules/visor-console/licenses/jcraft-revised-bsd.txt ./modules/slf4j/licenses/sl4j-mit-license.txt ./modules/visor-plugins/licenses/slf4j-mit-license.txt ./modules/scalar/licenses/scala-bsd-license.txt ./modules/visor-console/licenses/scala-bsd-license.txt These libraries are not part of the source code, but are optional dependencies, just like the ones described above. If so then need to be added to LICENSE. This may also be a concern as it is a weak copyleft license. [4] ./modules/aop/licenses/aspectj-epl-license.txt Again, same as above. This is an optional dependency and the actual EPL code is not included in the source tree. You may also want to mention these in LICENSE (public domain): ./modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/books/alice-in-wonderland.txt ./modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/books/art-of-war.txt ./modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/books/huckleberry-finn.txt ./modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/books/sherlock-holmes.txt ./modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/books/tom-sawyer.txt Will do. Thanks, Justin 1. http://www.apache.org/dev/licensing-howto.html#alv2-dep 2. https://github.com/JetBrains/intellij-community/blob/master/NOTICE.txt 3. http://www.apache.org/dev/licensing-howto.html#permissive-deps 4. http://www.apache.org/legal/resolved.html#category-b - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On Sat, Mar 21, 2015 at 3:14 AM, Jochen Theodorou blackd...@gmx.org wrote: Am 21.03.2015 10:47, schrieb Branko Čibej: [...] Do you happen to know exactly which versions of those files were imported? I looked at the ConcurrentHashMap implementation and compared the current version on that site: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/ jsr166e/ConcurrentHashMapV8.java?revision=1.123 with the one in the Ignite release package, and the differences are far larger than just license header changes: https://paste.apache.org/p/3SAz I suggest comparing with the history of the OpenJDK8 file: http://hg.openjdk.java.net/jdk8/jdk8/jdk/log/687fd7c7986d/src/share/ classes/java/util/concurrent/ConcurrentHashMap.java There have been quite a few changes in jdk8 for this map afaik Yes, good idea, and thanks for the link! I specifically find this comment interesting there: 20 months ago psandoz 8019484: Sync j.u.c.ConcurrentHashMap from 166 to tl bye Jochen -- Jochen blackdrag Theodorou - Groovy Project Tech Lead blog: http://blackdragsview.blogspot.com/ german groovy discussion newsgroup: de.comp.lang.misc For Groovy programming sources visit http://groovy-lang.org - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
I thought the more-up-to-date version of the backport stuff was here: http://backport-jsr166.sourceforge.net/ david jencks On Mar 21, 2015, at 6:24 AM, Dmitriy Setrakyan dsetrak...@apache.org wrote: --089e0112c408e2ec4c0511c9d829 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sat, Mar 21, 2015 at 3:14 AM, Jochen Theodorou blackd...@gmx.org wrote= : Am 21.03.2015 10:47, schrieb Branko =C4=8Cibej: [...] Do you happen to know exactly which versions of those files were imported? I looked at the ConcurrentHashMap implementation and compared the current version on that site: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/ jsr166e/ConcurrentHashMapV8.java?revision=3D1.123 with the one in the Ignite release package, and the differences are far larger than just license header changes: https://paste.apache.org/p/3SAz I suggest comparing with the history of the OpenJDK8 file: http://hg.openjdk.java.net/jdk8/jdk8/jdk/log/687fd7c7986d/src/share/ classes/java/util/concurrent/ConcurrentHashMap.java There have been quite a few changes in jdk8 for this map afaik Yes, good idea, and thanks for the link! I specifically find this comment interesting there: 20 months ago psandoz 8019484: Sync j.u.c.ConcurrentHashMap from 166 to tl bye Jochen -- Jochen blackdrag Theodorou - Groovy Project Tech Lead blog: http://blackdragsview.blogspot.com/ german groovy discussion newsgroup: de.comp.lang.misc For Groovy programming sources visit http://groovy-lang.org - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org --089e0112c4 - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On Sat, Mar 21, 2015 at 2:30 AM, Dmitriy Setrakyan dsetrak...@apache.org wrote: On Fri, Mar 20, 2015 at 10:10 PM, Justin Mclean jus...@classsoftware.com wrote: Is this GPL software bundled or required? ./modules/core/src/main/resources/META-INF/licenses/gnu-gplv2ce-license.txt ./modules/geospatial/licenses/jts-lgpl-license.txt ./modules/hibernate/licenses/hibernate-lgpl-2.1-license.txt ./modules/schedule/licenses/cron4j-lgpl-2.1-license.txt These are optional runtime dependencies (GPL code is not present in the Apache Ignite source tree). The license text is provided on per-dependency basis to let the user know that if he/she chooses to include the dependency, then it will be under the specified license. I think whether that's OK is going to depend on how the Ignite code interfaces with any GPL code. If it's going through a generalization layer a la JDBC which just happens to be implemented by GPL code, that might be OK. If Ignite is implementing against a GPL-only interface, probably not OK even though the dependency is optional. I think it would be best to pursue the matter further, either on the podling list, here, or on legal-discuss@apache. Here's some prior discussion: http://apache.markmail.org/thread/i6uzkkyibxx7bniv Marvin Humphrey - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On Sat, Mar 21, 2015 at 2:16 AM, Dmitriy Setrakyan dsetrak...@apache.org wrote: The new 1.0 release with corrected headers will be submitted for PPMC vote on Monday. Hmm, I'm confused. This is 1.0-RC3. I would ordinarily expect that to become 1.0 once the release vote succeeds. While Apache isn't going to force a particular versioning scheme on you, I don't think you can put out two releases with the same version number. That would result in identically named artifacts with different content and security mechanisms going berzerk as a consequence. This was intended to be a public RC3 release. If it was to pass the vote, then the official release would also have 1.0-RC3 version. We wanted to have community to play with the RC3 release for a bit until we release the final 1.0 release in a week or two. Because release candidate and RC are specialized terms with precise meaning at Apache and because we make a strong legal distinction between released and unreleased code, this is extremely confusing. Having something named RC which is also an official Apache release is... gah, it makes my brain hurt. Please consider adopting different terminology in the future -- alpha, beta, golden master candidate / GM candidate, etc. Marvin Humphrey - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On 22.03.2015 00:09, Marvin Humphrey wrote: On Sat, Mar 21, 2015 at 2:16 AM, Dmitriy Setrakyan dsetrak...@apache.org wrote: The new 1.0 release with corrected headers will be submitted for PPMC vote on Monday. Hmm, I'm confused. This is 1.0-RC3. I would ordinarily expect that to become 1.0 once the release vote succeeds. While Apache isn't going to force a particular versioning scheme on you, I don't think you can put out two releases with the same version number. That would result in identically named artifacts with different content and security mechanisms going berzerk as a consequence. This was intended to be a public RC3 release. If it was to pass the vote, then the official release would also have 1.0-RC3 version. We wanted to have community to play with the RC3 release for a bit until we release the final 1.0 release in a week or two. Because release candidate and RC are specialized terms with precise meaning at Apache and because we make a strong legal distinction between released and unreleased code, this is extremely confusing. Having something named RC which is also an official Apache release is... gah, it makes my brain hurt. Please consider adopting different terminology in the future -- alpha, beta, golden master candidate / GM candidate, etc. Nonsense. Subversion has been making public candidate releases for 1.x.0 for years and we've not seen any of our users' heads explode yet. It's just like a public beta but with stronger expectations wrt stability. Release candidate just means we believe it will become 1.0 but we may still have to tweak it a bit. Our users don't care if there's a recommended internal process that also mentions 'release candidate' in a different context. http://subversion.apache.org/docs/community-guide/releasing.html#release-numbering The distinction between released and unreleased lies in a) process and b) location of the bits. I think you're confusing process stages with version numbering. I see no reasonable basis for imposing some particular version numbering or release naming scheme on any project. -- Brane - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org
Re: [VOTE] Release Apache Ignite (Incubating) 1.0-RC3
On 22.03.2015 00:02, Marvin Humphrey wrote: On Sat, Mar 21, 2015 at 2:30 AM, Dmitriy Setrakyan dsetrak...@apache.org wrote: On Fri, Mar 20, 2015 at 10:10 PM, Justin Mclean jus...@classsoftware.com wrote: Is this GPL software bundled or required? ./modules/core/src/main/resources/META-INF/licenses/gnu-gplv2ce-license.txt ./modules/geospatial/licenses/jts-lgpl-license.txt ./modules/hibernate/licenses/hibernate-lgpl-2.1-license.txt ./modules/schedule/licenses/cron4j-lgpl-2.1-license.txt These are optional runtime dependencies (GPL code is not present in the Apache Ignite source tree). The license text is provided on per-dependency basis to let the user know that if he/she chooses to include the dependency, then it will be under the specified license. I think whether that's OK is going to depend on how the Ignite code interfaces with any GPL code. If it's going through a generalization layer a la JDBC which just happens to be implemented by GPL code, that might be OK. If Ignite is implementing against a GPL-only interface, probably not OK even though the dependency is optional. I think it would be best to pursue the matter further, either on the podling list, here, or on legal-discuss@apache. Here's some prior discussion: http://apache.markmail.org/thread/i6uzkkyibxx7bniv http://www.apache.org/legal/resolved.html says, on the topic of GPL and similar: Apache projects cannot distribute any such components. However, if the component is only needed for optional features, a project can provide the user with instructions on how to obtain and install the non-included work. Optional means that the component is not required for standard use of the product or for the product to achieve a desirable level of quality. Given the above, why are we still discussing this? Those are optional components. Ignite works just fine without them. When Subversion was incubating, 5 or so years ago, we went through the same discussion regarding our dependency on Neon, even though it was optional and Subversion works fine without any DAV plugin at all. Subversion graduated while still having this (optional) dependency. If you want to question Ignite's optional dependency on GPL code, you should start by changing the published policy and making all TLPs throw out such dependencies. Not gonna happen, right? -- Brane - To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org