Vincent Massol wrote:
  Hi,
 Some time ago we agreed that component implementations should be
 located in the internal package. I now believe it's wrong if we want
 to allow users to use our modules separately from the rest of XWiki as
 standard java beans. I think it's a good property to have that users
 can integrate our modules into their own code without taking the whole
 of XWiki. This is what I'm trying to do with the rendering module.
 Thus I'm proposing to move the components out of the internal module
 *only* for the rendering module for now even though I suspect that
 we'll want to do that for all modules eventually.
 Here's my +1
      
 What's the advantage? Or, what's wrong with keeping the internal
 package? Apart from a longer package name, there's no bound semantics on
 such a package. IMO it even has the advantage that it clearly delimits
 interfaces and abstract base classes from implementations.
    
I agree to Sergiu. Keeping the implementation and the specifications
separately provides more accuracy to our api.