On Thu, Sep 6, 2018 at 5:50 AM Sean Paul wrote: > On Thu, Sep 6, 2018 at 6:43 AM Linus Walleij > wrote: > > > > On Thu, Sep 6, 2018 at 12:25 PM Arnd Bergmann wrote: > > > > > I think in the generalized case, you also want the reverse, but > > > that may be harder: When targetting specific software products > > > that you want to integrate your code, there should be a deadline > > > for the latest point by which code needs to be posted in > > > public. > > > > This brings in the process of procurement, as in how companies > > making products source their misc hardware like sensors, > > touchscreens, displays, FPGAs or whatnot. > > > > Maybe this is obvious. > > > > It happened at one point that we were sourcing hardware from > > a third party, and it was pretty complex and I asked procurement > > to put a demand on the company to provide upstream support > > so we could just grab the latest kernel and use that driver. > > > > I heard other very FOSS-oriented companies ask the same > > and is pretty much what I've heard people like Jon Masters > > and the Chromebook people say in relation to upstream first > > (they can slam me if they disagree) - others also want an > > upstream first approach from their component suppliers and > > it is going to be part of the procurement process so having > > upstream first is going to be a competitive advantage or > > even strict requirement for the component vendor. > > Speaking really only for display, but most of this applies to other areas: > > Pretty much this. Chromebook display stack must use drm/kms, and the > patches must* go upstream before landing in our kernel. Looking at our > 4.14 branch [1], most of the commits there are > UPSTREAM/BACKPORT/FROMGIT/FROMLIST prefixed which means they've landed > upstream or have been reviewed upstream. > This firm position coming from the product directly is extremely beneficial for us and for open source in general. Thanks a lot for that! :) > > We carry downstream patches in a separate working branch shared > between developers and rebase on our 4.14 kernel regularly. Everything > in the working branch should be already sent upstream or being > polished for upstream. Reviews are done on the list. Once a patch > lands upstream, it's backported to our kernel and removed from the > working branch. > > Sean > > [1]- > https://chromium.googlesource.com/chromiumos/third_party/kernel/+log/chromeos-4.14/drivers/gpu/drm > > * There are always exceptions > > > > > As it happened in my case the vendor was very unhappy > > with this and unused to this kind of requirements. (They have > > since changed their attitude so no-one needs to be outed.) > > > > What I realized was that instead of being "hard" on vendors > > with this, I could gain more by being let's say "firm". > > > > I required that in order to procure their component, they > > should present an upstreaming strategy, and post an initial > > patch set for the specific product before we would agree > > to procurement. This was more of a gentlemen agreement > > than a hard contract clause, but it worked very well to > > transform that company, and I think it is a good way, because > > being too hard can be counter-productive, I guess it comes > > from simple diplomacy, people do not like threats. > > > > Yours, > > Linus Walleij > > _______________________________________________ > > Ksummit-discuss mailing list > > Ksummit-discuss@lists.linuxfoundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss > _______________________________________________ > Ksummit-discuss mailing list > Ksummit-discuss@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss >