Seems like an odd question, but I've been questioning this myself for some time now. I've been told that, if you're working on a open source library/project, you should avoid adding dependencies for other external, open sourced, libraries because that'll make the software, that uses your libraries, become heavier with all the dependencies, inside dependencies, etc... But sometimes I'm a little on the fence about that. Do I really need to reinvent the wheel just to keep my library away from external dependencies? For example, I'm currently building an Objective-C project that will be open sourced on Github and I need to use a XML parser to get data from  you guessed it  XML files. Apple's OS X already has a built-in API for XML parsing, but I'm not very fond of the way it works, it needs a lot of background processing and workarounds to get the data I really need, so I was thinking about using another XML parser to do a much cleaner job in terms of making my life easier, as the developer, but also by making the code a lot more legible for other developers.What are your thoughts on this? Thank you.
Is it okay to user other open source libraries when building your own or should that be avoided?
programming practices;open source;libraries;dependencies
Xml Parsers are not something you should be building yourself, unless you want to for learning purposes or to make something specific for your needs.  XML parsers are complicated enough that other folks already know how to write one better than you or I could (within a reasonable time frame).One of the reasons for using XML is that libraries to read and write it are readily available.  So, in the case of XML, I'd say go ahead and take the dependency.  The library writer has already done the hard work for you, and it doesn't make sense to spend weeks or months writing something that's already readily available.