I have read your proposal, and it seems that you intend to make cuts to the
existing Dubbo modules. This is certainly a good idea, but they are tightly
coupled, and I don't think this will be an easy task. Perhaps it would be
better if we completely refactor a new lightweight RPC core module?

RAGIRI Naga sunoj <[email protected]> 于2026年3月30日周一 16:44写道:

> Dear Dubbo Developers and Mentors,
>
> My name is Sunoj Ragiri, and I am a Computer Science student writing to
> formally submit my proposal for GSoC 2026: *Apache Dubbo — Lightweight
> Refactoring*.
>
> After conducting an in-depth study of the Dubbo 3.3 codebase, I have
> identified a critical "core tension" where the framework's organic growth
> into 99+ Maven modules has led to significant dependency bloat. Currently,
> even a simple RPC consumer pulls in approximately 15 MB of shaded JARs and
> over 100 transitive artifacts, including 6 metrics modules and Prometheus
> integrations as hard compile-scope dependencies.
> *Project Overview*
>
> My project aims to transform Dubbo into a truly lightweight, cloud-native
> framework through a systematic refactoring of the dependency graph. Key
> objectives include:
>
>    -
>
>    *Decoupling Observability*: Moving metrics and tracing from
>    compile-scope to optional dependencies using a new MetricsBridge SPI in
>    dubbo-common.
>    -
>
>    *Lazy Initialization*: Deferring non-critical startup work, such as
>    TypeDefinitionBuilder and MetricsReporterFactory, from eager bootstrap
>    to first-use loading.
>    -
>
>    *dubbo-minimal Profile*: Creating a new distribution module that
>    delivers core RPC functionality in under 5 MB with fewer than 30
>    dependencies.
>    -
>
>    *Performance Benchmarking*: Providing quantitative proof of improvements
>    in JAR size, startup time, and memory footprint.
>
> *Technical Strategy*
>
> I plan to leverage Dubbo’s existing ExtensionLoader and the
> @Activate(onClass
> = "...") annotation. This allows us to move coupling from compile-time hard
> dependencies to runtime SPI discovery, ensuring that observability features
> only activate if the relevant JARs are present on the classpath.
> *Timeline & Availability*
>
> I have outlined a detailed 13-week execution plan, starting with a
> comprehensive dependency graph analysis and ending with the final
> dubbo-minimal artifact and architecture documentation. I am available to
> contribute approximately 29 hours per week throughout the coding period.
>
> You can review my full proposal here:
>
> https://drive.google.com/file/d/1_SKEgxDNwmFYgwt7JJbMaOSeuKm14hPR/view?usp=sharing
>
> I would greatly appreciate any feedback or guidance from the community
> regarding this proposal.
>
> Best regards,
>
> Sunoj Ragiri GitHub: sun-9545sunoj <https://github.com/sun-9545sunoj>
>

Reply via email to