I don't think there's any question that improving the extension
ecosystem is important. It's been terrible since Day 1 and only gotten
worse. The question is how we go about doing it.
I would argue that the ordering should be:
- Decide what extension points we want to support & document the rest
as deprecated - Review/design the APIs that support those extension points with a
careful eye towards long term maintainability - Put additional technical infrastructure in place to support this such as:
a. hiding internal implementation classes in private packages
b. making an API compatibility review part of the release process, etc.
c. bulletproofing extension loading - Review 1-3 with existing and potential extension developers and
revise as necessary - Implement the above
- Update sample extension, tutorials, documentation
- Release the above together with any other breaking changes which
are pending (Servlet API, etc)
These are the technical underpinnings for thriving ecosystems like:
https://chromewebstore.google.com/
Tom