mistercrunch commented on issue #33441:
URL: https://github.com/apache/superset/issues/33441#issuecomment-2895806117

   Did a quick review of how other extensible platforms structure this kind of 
thing:
   
   ### How it's handled in other ecosystems:
   
   - **iOS (Apple frameworks):**
     - Tons of shared internal APIs and components, but only a curated set is 
made public.
     - SDKs are self-contained. Public APIs are documented, versioned, and 
stable.
     - Internal code evolves freely without exposing churn to SDK users.
   
   - **Android (Jetpack/AOSP):**
     - Separates `*.internal` packages from public APIs.
     - Public surface is curated and follows strict API review processes.
     - Individual SDKs/libraries are self-contained and versioned independently.
   
   - **VS Code (extension platform):**
     - Core uses shared primitives internally, but only exposes a controlled 
API via the `vscode` module.
     - Extensions rely only on that documented interface — no access to 
internals.
     - Public API surface is semver-managed and backward compatible.
   
   ### Takeaway:
   
   > Internal reuse is common. Public exposure is deliberate and minimal.  
   > Each SDK should curate its own public API, and shared primitives should 
remain internal unless there's a strong reason to promote them.
   
   This strengthens the case that **shared ≠ public**, and that **SDKs should 
act as intentional gatekeepers**, just like in mature platforms.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to