Github user richardcloudsoft commented on the pull request:

    https://github.com/apache/incubator-brooklyn/pull/85#issuecomment-50475810
  
    @ahgittin: @aledsage's reasoning agrees with mine, with the added thought 
if it's sometimes better to be explicit rather than implicit. This change has 
resulted in one or two surprising dependencies coming to light, such as 
references to JUnit's `Assert` class and `com.beust.jcommander`'s `List` class. 
These are programming errors that detected using this practice.
    
    More specifically, for my next step I will need to be identifying the 
licenses of our dependencies, and having our dependencies explicitly listed in 
each project will help me in the event of any problematic licenses (of which I 
know there will be at least two) - I will be quickly able to determine which 
projects may require action.
    
    @aledsage - I am slightly concerned by your statement about library X and 
library Y. If the application invokes a method on library X, and that method 
uses a type for library Y, then the application will have to work with the 
library Y type and therefore its code will depend on library Y. Under this 
scheme, library Y would be explicitly declared. *However*, if the application 
uses library X but *does* *not* use the problematic method, the application 
code makes no references to library Y and therefore there is no dependency on 
library Y. Does that address your concern?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to