Michael states his desired benefit of the original proposal as:

>>> ...so we can keep track of it. Not knowing about bundled sources causes 
>>> various problems, e.g. we've previously shipped unused libavif and dav1d 
>>> sources in WebCore due to not knowing about them.

I see an additional benefit that it makes searching the code more 
straightforward. I currently have to exclude a bunch of directories when doing 
search and replace, for instance, and having a single consistent rule would 
make that easier.

From the additional proposals I provide below, #1 just extends that convenience 
even further, making the rule dead simple. For #2, I see a hopeful benefit in 
reducing checkout size and build times (One could argue that these third party 
drops change infrequently, so I shouldn’t effect really effect build time in 
the aggregate, but I have found despite our best intentions, I trash my build 
repo for one reason or another more often than I would like).

- Sam

> On Oct 2, 2024, at 6:58 PM, Yusuke Suzuki <ysuz...@apple.com> wrote:
> 
> The question I have is, what is the benefit from this policy change?
> 
> -Yusuke
> 
>> On Oct 1, 2024, at 7:41 AM, Sam Weinig via webkit-dev 
>> <webkit-dev@lists.webkit.org> wrote:
>> 
>> I think this makes a lot of sense and we should adopt this into the style 
>> guidelines. 
>> 
>> Two additional steps I am curious if we can take are:
>> 
>> 1. Moving all, including source currently in WTF and PAL to 
>> Sources/ThirdParty. 
>> 
>> Having a single place seems more straightforward than multiple. Are there 
>> technical reasons this can’t be done? Are there non-technical reasons it 
>> shouldn’t be done?
>> 
>> 2. Moving to an out-of-tree model for third party code. 
>> 
>> Ideally, we wouldn’t need to have copies of the third party code in the 
>> WebKit repository at all, and instead embed a dependency that can be 
>> resolved before building (downloading the appropriate remote repository 
>> versions, applying any additional changes, etc.)
>> 
>> This would obviously be a bigger lift, but has potentially nice properties 
>> like being able to use pre-built binaries for infrequently changing third 
>> party code where available. 
>> 
>> Are there technical / non-technical reasons (other than the obvious effort 
>> it would require) why this would be a problem?
>> 
>> - Sam
>> 
>>> On Sep 25, 2024, at 11:41 AM, Michael Catanzaro via webkit-dev 
>>> <webkit-dev@lists.webkit.org> wrote:
>>> 
>>> Hi developers,
>>> 
>>> I request that bundled or "vendored" sources copied from other upstream 
>>> projects should live under a directory named "ThirdParty" so we can keep 
>>> track of it. Not knowing about bundled sources causes various problems, 
>>> e.g. we've previously shipped unused libavif and dav1d sources in WebCore 
>>> due to not knowing about them.
>>> 
>>> Ideally third-party code should be placed in Source/ThirdParty. If the 
>>> requirements of Apple's internal build system do not allow for putting the 
>>> code in Source/ThirdParty, then you can create a new ThirdParty directory 
>>> wherever needed, e.g. Source/WebCore/PAL/ThirdParty.
>>> 
>>> Currently we have at least wtf/simde and wtf/simdutf violating these 
>>> guidelines. If somebody with XCode could please create a wtf/ThirdParty and 
>>> move the directories to there, that would be helpful. Unfortunately it's 
>>> not easy to move sources without XCode. If you know of other bundled 
>>> sources elsewhere in WebKit, let's do the similar moves for those as well.
>>> 
>>> (This rule doesn't need to apply for minimal one-time copying, like taking 
>>> just a useful file or two from an upstream project and incorporating it 
>>> into WebKit. Of course that is fine. We just shouldn't have entire upstream 
>>> projects hidden in WebKit.)
>>> 
>>> Thanks,
>>> 
>>> Michael
>>> 
>>> 
>>> _______________________________________________
>>> webkit-dev mailing list
>>> webkit-dev@lists.webkit.org
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>> 
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to