Re: Proposal for vendoring/bundling golang packages by default

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

 



Mikel Olasagasti venit, vidit, dixit 2025-01-20 08:02:18:
> Hi,
> 
> Go-SIG has raised a ticket with FESCo [1] to propose a significant
> shift in Fedora's packaging approach for Go dependencies: moving to
> vendoring/bundling by default. This would represent a major departure
> from our current guidelines [2].
> 
> Given the potential impact, it was suggested that we bring this topic
> to the devel-list for broader input and an open discussion.
> 
> The rationale for this proposal stems from the increasing challenges
> in maintaining Go dependencies under the current model, including
> issues with timely reviews, dependency management, and the impact of
> some "core" orphaned packages. Allowing vendoring by default could
> help alleviate these bottlenecks and improve the stability of Go-based
> packages in Fedora.

I understand that these are challenges, and they are increasing because
there are so many upcoming ecosystems which build their own distribution
channels and tools, be it Go, Rust, Julia, even Python to some degree
(think pip, conda and the like).

And indeed, as Jan's reply shows, once we allow bundling in general for
one language people will want it for other language ecosystems, and
"rightly" so, at least as long as the same reasoning applies.

Following the Go-SIG proposal would be the can-opener to deviate from
our distribution model in general. I mean, if I can pull in a myriad of
Go or Rust modules for my package to build (without individual review or
re-review in case of changed dependencies), then why should I bother
unbundling a library such as zlib, regex, openssl, ... ?

There is a second point to that, and that is Fedora as a development
platform (not just as an "app" platform). If we expect developers to
install dependencies of their project via the ecosystem tools (pip, ...)
locally (envs, containers) and "app packages" do the same during build
then it is time to change the fundamental approach to our distribution
and view it "merely" as a platform.

I don't mean to connotate "merely" negatively - but the proposed change
has impact overall, and we should *really want it* as a direction to go
in generally.

> If this proposal gains consensus, we could aim to implement the change
> as part of Fedora 43, with the development phase used for migration
> and retiring packages that may no longer fit within the updated
> framework.

How would packages "not fit"? By not bundling, i.e. by following our
packaging guidelines so far? To put it differently: Do you intend to
discourage/disallow "not bundling", or packaging dependencies?

> On a related note, I recently highlighted how the introduction of
> Golang 1.24 has caused significant breakage in over 200 packages [3],
> an issue that underscores the urgency of addressing these challenges.

How would bundling alleviate this issue? By assuming that all upstreams
have adjusted to Golang 1.24 already so that you don't have to wait for
package updates but just pull in with your package?

Cheers
Michael
-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux