Is the following a reasonable solution from both a usability and legal perspective? - Write a Dockerfile that has everything except the GPL jar on it (including the Druid code that talks to the jar if configured to use MySQL) - Automatically publish that Docker image to the ASF account on DockerHub - Also include a short Dockerfile in the repo that starts `FROM` our auto-built account and has a line or two of wget to download the jar (similar to the wget currently in the Dockerfile) - Tell users who want to use MySQL that they must publish that extra layered image themselves
--dave On Tue, Mar 5, 2019 at 9:59 AM Charles Allen <charles.al...@snap.com.invalid> wrote: > Honestly we're at a very strange impasse. On one hand I don't think the ASF > project can adopt an official docker image unless ASF legal says its ok. > "Official" releases are source code anyways (as my understanding goes), and > binary artifacts are convenience things. Unfortunately I do not see a path > forward unless some entity is willing to take on a stance similar as > outlined in https://issues.apache.org/jira/browse/LEGAL-437 . This is > pretty new territory from a legal perspective (the fact that docker images > are layers makes it even more interesting). > > At this point I think the safest thing to do is something that is "no more > GPL dependent than other containers in the apache repo", which would mean > not adding in GPL binaries. Which means switching to postgres. I don't > foresee an aggressive legal stance on this issue, meaning it might take a > while as people watch where the industry is going. > > > > On Tue, Mar 5, 2019 at 8:20 AM Don Bowman <d...@agilicus.com> wrote: > > > where do we stand on this? > > the PR is in and accepted, but i feel we need to have this built as part > of > > the release artifacts and on dockerhub to foster adoption. > > if the only issue is the mysql connector i can remove it in favour of the > > postgres connector. > > > > > > On Mon, 18 Feb 2019 at 13:58, Don Bowman <d...@agilicus.com> wrote: > > > > > i can just remove the mysql, the postgres works, i was just assuming > > folks > > > wanted it. > > > > > > > > > On Mon, 18 Feb 2019 at 16:58, Gian Merlino <g...@apache.org> wrote: > > > > > >> A discussion is progressing on > > >> > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_LEGAL-2D437&d=DwIFaQ&c=ncDTmphkJTvjIDPh0hpF_w&r=HrLGT1qWNhseJBMYABL0GFSZESht5gBoLejor3SqMSo&m=SDcL2cv8y5vfiK64aTakmAF8xiMVateJ6QQ3JTsegRI&s=uXRQeP8EnjcHXQmG5oJoTQN2ztfu7N0YCNLpS_aj93g&e= > . > > It doesn't seem to have > > >> got anywhere firm yet. > > >> > > >> On Fri, Feb 8, 2019 at 12:23 PM Gian Merlino <g...@apache.org> wrote: > > >> > > >> > I don't think anything is strictly needed from you at this point, > but > > >> > things happen when people drive them, and participation in that > effort > > >> > would help make sure it gets done. I think at this point the tasks > on > > >> our > > >> > end are watching LEGAL-437 for advice (or making it moot by removing > > the > > >> > MySQL jar), asking Infra to set up automated builds once that is > > sorted > > >> > out, and building some kind of consensus around how we'll label and > > >> promote > > >> > the Docker images. > > >> > > > >> > On Fri, Feb 8, 2019 at 12:13 PM Don Bowman <d...@agilicus.com> > wrote: > > >> > > > >> >> i'd be fine w/ removing the mysql, i'm using postgresql for the > > >> metadata. > > >> >> if this is the case we should consider relfecting postgres as the > > >> default > > >> >> metadata in the docs. > > >> >> however, i think this is mere aggregation under the gpl license, > and > > >> the > > >> >> docker image tends to have other (e.g. bash) gpl code. druid's > start > > >> >> scripts are all bash-specific as an example. > > >> >> > > >> >> I'm not clear if anything further is needed of me, i'm hoping to > get > > an > > >> >> automated build going into dockerhub, and tagged w/ each release. i > > >> think > > >> >> this will help adoption. > > >> >> > > >> >> > > >> >> > > >> >> On Fri, 8 Feb 2019 at 14:22, Gian Merlino <g...@apache.org> wrote: > > >> >> > > >> >> > First off thanks a lot for your work here Don!! > > >> >> > > > >> >> > I really do think, though, that we need to be careful about the > > >> >> inclusion > > >> >> > of the MySQL connector jar. ASF legal has been clear in the past > > that > > >> >> ASF > > >> >> > projects should not distribute it as part of binary convenience > > >> >> releases: > > >> >> > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_LEGAL-2D200&d=DwIFaQ&c=ncDTmphkJTvjIDPh0hpF_w&r=HrLGT1qWNhseJBMYABL0GFSZESht5gBoLejor3SqMSo&m=SDcL2cv8y5vfiK64aTakmAF8xiMVateJ6QQ3JTsegRI&s=tzsmBm2IIaa5BS9lQrTc9e0GDt09RmMiI4gfn9CoHT4&e= > . > > I think having the > > >> >> > Dockerfile in the repo is probably fine: in that case we are not > > >> >> > distributing the jar itself, just, essentially, a pointer to how > to > > >> >> > download it. But if we start offering a prebuilt Docker image, it > > is > > >> >> less > > >> >> > clear to me if that is fine or not. In the interests of resolving > > >> this > > >> >> > question one way or the other, I opened a question asking about > > this > > >> >> > specific situation: > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_LEGAL-2D437&d=DwIFaQ&c=ncDTmphkJTvjIDPh0hpF_w&r=HrLGT1qWNhseJBMYABL0GFSZESht5gBoLejor3SqMSo&m=SDcL2cv8y5vfiK64aTakmAF8xiMVateJ6QQ3JTsegRI&s=uXRQeP8EnjcHXQmG5oJoTQN2ztfu7N0YCNLpS_aj93g&e= > > . > > >> >> > > > >> >> > About Dylan's questions: my feeling is that we should go ahead > and > > >> >> enable > > >> >> > automated pushes to Docker Hub, and provide some appropriate > > language > > >> >> > around what people should expect out of it. I don't think > > >> >> 'experimental' is > > >> >> > the right word, but we should be clear around exactly what > contract > > >> we > > >> >> are > > >> >> > adhering to. Is it something people can expect to be published > with > > >> each > > >> >> > release? Is it something that we are going to build and test as > > part > > >> of > > >> >> the > > >> >> > release process, or are we going to publish it via automation > > without > > >> >> any > > >> >> > testing? Is it something we expect people to use in production, > or > > >> >> > something we only expect people to use for evaluation? If it is > > >> >> something > > >> >> > we expect people to use in production, do we expect them to use > it > > in > > >> >> any > > >> >> > particular way? Will we be guaranteeing certain things (file > > layout, > > >> >> etc) > > >> >> > that provide a stable interface for people to build derived > images > > >> from? > > >> >> > > > >> >> > The path of least resistance to answering these questions is to > say > > >> that > > >> >> > the Docker image is provided in the hopes that it is useful, but > > that > > >> >> it is > > >> >> > done via an automated build, without any pre-release testing, and > > >> >> without > > >> >> > any particular guarantees about the 'interface' it provides. If > > this > > >> is > > >> >> the > > >> >> > case then I would suggest putting it up on Docker Hub with an > > >> >> appropriate > > >> >> > disclaimer and not promoting it too much. (We might very well end > > up > > >> >> > pushing images every once in a while that don't work right, and > it > > >> would > > >> >> > reflect poorly on the project to have those be prominently > > >> linked-to.) > > >> >> It > > >> >> > becomes easier to strengthen these guarantees if we add an > > automated > > >> >> test > > >> >> > suite that we can run before releases which verifies > functionality > > >> and > > >> >> > interface adherence. > > >> >> > > > >> >> > On Fri, Feb 8, 2019 at 7:14 AM Rajiv Mordani > > >> >> <rmord...@vmware.com.invalid> > > >> >> > wrote: > > >> >> > > > >> >> > > This is purely a packaging exercise. I don't see a reason to > mark > > >> >> this as > > >> >> > > experimental. > > >> >> > > > > >> >> > > Rajiv. > > >> >> > > ________________________________ > > >> >> > > From: Dylan Wylie <dylanwy...@apache.org> > > >> >> > > Sent: Friday, February 8, 2019 6:08:47 AM > > >> >> > > To: dev@druid.apache.org > > >> >> > > Subject: Re: docker build > > >> >> > > > > >> >> > > I believe all we have to do is submit a ticket to Apache's > > >> >> Infrastructure > > >> >> > > team and then we'll have some automatic process that'll > > >> automatically > > >> >> > > update docker-hub with images relating to each release. > > >> >> > > > > >> >> > > I guess there's two open questions I think we should reach a > > >> >> consensus on > > >> >> > > (others feel free to add more!). > > >> >> > > > > >> >> > > - Are we as a community happy to "support" an additional > release > > >> >> > artefact? > > >> >> > > I'm happy to try to incorporate this into my employer's testing > > >> >> > > infrastructure to help catch any regressions on future releases > > but > > >> >> > that's > > >> >> > > just one data point on each release. > > >> >> > > > > >> >> > > - Along the same vein, do we follow the same process as we do > > with > > >> new > > >> >> > > features and mark this as experimental for some time? > > >> >> > > > > >> >> > > On Fri, 8 Feb 2019 at 13:25, Don Bowman <d...@agilicus.com> > > wrote: > > >> >> > > > > >> >> > > > Now that > > >> >> > > > > >> >> > > > >> >> > > >> > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__na01.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fgithub.com-252Fapache-252Fincubator-2Ddruid-252Fpull-252F6896-26amp-3Bdata-3D02-257C01-257Crmordani-2540vmware.com-257C942b2af1dfb740fcbed308d68dcef937-257Cb39138ca3cee4b4aa4d6cd83d9dd62f0-257C0-257C1-257C636852317419449405-26amp-3Bsdata-3DEXigZIBkKiatM0rEgyQRoxA9ER8u8amiAfPN0MghzjE-253D-26amp-3Breserved-3D0&d=DwIFaQ&c=ncDTmphkJTvjIDPh0hpF_w&r=HrLGT1qWNhseJBMYABL0GFSZESht5gBoLejor3SqMSo&m=SDcL2cv8y5vfiK64aTakmAF8xiMVateJ6QQ3JTsegRI&s=I0Jmt-SqSpozqPWg-3MxWry3mQC_oFP2v9FhGUTL5Ls&e= > > >> >> > > is merged > > >> >> > > > (thank you!) > > >> >> > > > > > >> >> > > > who can get this set to build into Dockerhub? Presumably > > >> >> automatically > > >> >> > > on a > > >> >> > > > 'tag' of the repo. > > >> >> > > > > > >> >> > > > Once that is done it is much more convenient for folks to use > > >> this > > >> >> > tool. > > >> >> > > > > > >> >> > > > --don > > >> >> > > > > > >> >> > > > > >> >> > > > >> >> > > >> > > > >> > > > > > >