joewitt commented on PR #10200:
URL: https://github.com/apache/nifi/pull/10200#issuecomment-3191621445

   @tpalfy
   
   > Although I think overall it would only be to NiFi's benefit if we 
considered components extensible.
   
   I infer you are not referring to the already existing incredibly extensive 
extensibility powers within NiFI but instead you are talking about 'we need to 
ensure extensions we build are themselves extensible'.
   
   This becomes purely about how each component is written and designed.  You 
can demonstrate and model what you'd like to see done to support this with 
components.  In fact every author of a component should consider whether they 
want that thing extended by others but also the cost to the community to 
maintain such additional APIs.
   
   Notably simply removing 'final' from a method or two does not do this.  The 
extension developer has to consider whether they're going to make specific 
points of designed extensibility for a given component such that it might be 
open for extension but closed for modification.  Or a totally different 
extensibility model where the extender could in fact break the thing.  Whatever 
it is you as the author of the component get to choose that.
   
   It would also be interesting to see or consider how such APIs would get 
published.  We maintain the purity of the 'nifi-api' so you'd also then need to 
consider 'nifi-exampleprocessor-api-X.Y.Z' and so on.  The moment you declare a 
component itself extensible you are declaring whatever its API is as public.  
Now you also cannot make changes without risking breaking code written against 
them.
   
   I'll keep an eye out for a proposal or component where you share and show 
what you have in mind.


-- 
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]

Reply via email to