I'm afraid I don't think integration in the Maven build process makes
a difference in terms of licensing. It is already clearly specified
what dependencies the web frontend uses (see README, bower.json,
package.json). It won't get any easier with something integrated in
the build process. We still have to leverage the Javascript build
systems which resolve transitive dependencies in the same way Maven
does. In the end, we just have to properly check out licenses which
takes time.

In what sense do you think it would make licensing easier?

On Thu, Jun 30, 2016 at 1:47 PM, Aljoscha Krettek <aljos...@apache.org> wrote:
> I think it's not a question of easy-of-use but one of licensing. I don't
> think anyone really knows what code ends up in vendor.js, so it is very
> hard to figure out what we have to put into our LICENSE file.
>
> On Thu, 30 Jun 2016 at 12:14 Maximilian Michels <m...@apache.org> wrote:
>
>> Hi Till,
>>
>> Thanks for checking the licenses for our web frontend.
>>
>> I think the reason why we added a big binary Javascript blob into our
>> repository was that it was easiest for most developers to deal with.
>> We don't have much Javascript expertise in the Flink community.
>> Incorporating the web frontend in the build process would require some
>> additional work and make it even more complicated. It this sense the
>> solution we have currently is quite nice because it doesn't require
>> developers to fiddle around with Javascript as long as they are not
>> working on the webfrontend. If they do, they can simply use NPM and
>> Bower which install the listed dependencies. The disadvantage is a
>> slight increase of our repository because we commit a new "vendor.js"
>> for every recompile, but that is negligible in my opinion.
>>
>> It would be cleaner to build the Javascript parts in the Maven build
>> process but it will complicate the build process further. Frankly, I
>> don't see it'll add much value. Considering the fragility of our build
>> system I might be a bit conservative here :)
>>
>> Cheers,
>> Max
>>
>> On Wed, Jun 29, 2016 at 5:17 PM, Till Rohrmann <trohrm...@apache.org>
>> wrote:
>> > Hi Flink community,
>> >
>> > while reviewing the LICENSE and NOTICE file of Apache Flink, I noticed
>> that
>> > according to the LICENSE file Flink contains many java script files.
>> > However, tracking the corresponding files back was not so easy, because
>> > they are actually all merged into
>> > flink-runtime-web/web-dashboard/web/js/vendor.js. Vendor.js is a large
>> java
>> > script file which is part of the result of the bower build process.
>> >
>> > I was wondering why we added a "binary" file which is auto-generated to
>> our
>> > code base. Was/Is there any specific reason for it?
>> >
>> > The problem is that the java script files contained in the vendor.js are
>> > not exactly the set of declared bower dependencies in
>> > flink-runtime-web/web-dashboard/bower.json. I suspect that also
>> transitive
>> > dependencies will be included. At least that is my only explanation why
>> > we're referencing lodash.js, for example, in our LICENSE file (you can
>> find
>> > it deeply hidden in the vendor.js file).
>> >
>> > Wouldn't it be easier to auto-generate the web-dashboard related files
>> > while building Flink? This would not only clean up our repository but
>> also
>> > make the traceability of contained 3rd party code in our code base much
>> > easier. Maybe this maven plugin [1] could help us.
>> >
>> > [1] https://github.com/eirslett/frontend-maven-plugin
>> >
>> > Cheers,
>> > Till
>>

Reply via email to