[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mapbox GL plugin in QtLocation package



Hi Dmitry,

In my previous mail I mentioned the JSON license which is not allowed in
Debian. It looks like things got a bit better since then — it is still
mentioned in LICENSE.md [1] but I cannot find the actual code.

Which is good, I presume.

> In this respect, it looks like arguments against packaging Mapbox GL module
> of QtLocation are not linked anymore to the license nor inclusion of
> third-party code. Instead, it is mainly related to the size of it, right?

Maybe there are no more license problems, but the problems with inclusion of
third-party code persist. Most of the deps/ directory [2] is third-party code,
and the Qt build is using all of them [3].

Sorry, I missed those. 
 
The best practice in Debian is to package each of dependencies separately.
It is obviously not achievable in this case. However, the situation when Qt
bundles Mapbox and Mapbox bundles 17 other pieces of software is far from
ideal. This is a dependency hell and hard to maintain.

That is why I would prefer if at least Mapbox (together with its bundled
stuff, maybe) was packaged separately from Qt Location. This way it would be
much easier to adopt to its build system, track upstream bugs, backport
patches, etc.

I tried to find the difference between upstream version and Qt version. The
latter claims to be based on upstream commit 377a6e42d687c419 [1]. However,
the diff between that commit and qt-staging branch is:

6195 files changed, 730722 insertions(+), 645574 deletions(-)

This is a huge diff and it would be a pain to maintain this branch. For some
reason Qt does not use merges or rebases on master branch, so it is even
harder to track what they changed. If a bug is fixed on upstream branch, how
will be cherry-pick the fix?

As far as I understood from following these Qt releases - they have Qt team which manually syncs the source of the master branch to the one in Qt. I don't know why they selected to do so, I presume there was some important reason why the didn't synced the branches on commit level. As a result, you have issues with comparison.
 
> When using Qt, I would expect that all its parts (or open-source parts) are
> available on the platforms that package it. So, when I want to run a code
> that is calling Mapbox GL plugin, it should be possible if QtLocation >=
> 5.9 is packaged. Took some time to dig out why its not there on
> Debian-based distros and it seems now that the reason which holds is just a
> size, not license. I don't think it is a valid point to drop a part of it
> just due to the size. In this respect, it looks like a bug in packaging.

This is a valid expectation. In an ideal world we would provide this plugin
in our packaging. However, as I explained above it would be difficult to
maintain it as is, and both Lisandro and I have very little time to do it
properly.

Some time ago people convinced us to package Qt WebEngine that bundles
Chromium, and I now have to spend a lot of time trying to figure out build
failures, copyright issues, etc. with each new release of it. I do not have
time for another monster like that.

Well, compared to WebEngine probably anything is teeny-tiny. But I understand the reservations regarding it.
 
[...]

Can you please file a bug against qtlocation-opensource-src source, explaining
your situation? This way if things change in future (e.g. the code becomes
cleaner, we suddenly have more time, we find another volunteer to do the work,
…) it would be easier to remember about it.


Yes, will do. 

Thank you very much for detailed replies and constructive discussion!

Rinigus

Reply to: