Le 14/08/2018 à 19:54, Lyor Goldstein a écrit : > While going over the MINA SSHD code in order to try and break it down > further to smaller modules, I encountered quite a few utility classes that > duplicate (exactly or closely) code that already exists in other very > popular "3rd party" library - specifically Apache Commons (...so not quite > "3rd party"...) . E.g., *IOUtils*, *GenericUtils*, *ValidateUtils*, > *NumberUtils*, etc.... > > While I understand the advantages of maintaining a low dependency factor, > there is still the issue "re-inventing the wheel". I would therefore like > to float this question on the forum and get your opinions on this. > Specifically, I would suggest we add *compile* dependencies on Apache > *commons-lang3, > commons-collections4* and *commons-io* (perhaps also *commons-text, > commons-codec, commons-compress* but unlikely). At the same time, of > course, replace the duplicating utilities code with calls to these new > libraries. > > My main drive is that these are very popular libraries, well maintained and > thoroughly tested, not to mention very useful. It, therefore, feels > wasteful to replicate code that is already available out there (and for > free...). Furthermore, their license is fully compatible with ours - after > all, they are under the same umbrella as SSHD - i.e., the Apache > foundation... > > I would welcome your opinion and insight on this
On important aspect of adding external dpendencies is that it' binds ou users, unless they use OSGi. The rational behind copying the few methods from mib X or Y into the SSHD/MINA code base is to avoid having such dependencies. Of course, it's all about the size of what is copied. At some point, it would be better to go witha third party dependency instead of copying its code. > -- Emmanuel Lecharny Symas.com directory.apache.org
pEpkey.asc
Description: application/pgp-keys
