-1

My team and I develop and application which uses a number of third-party libraries to fulfill certain common functions. (It's a Java application and uses a number of Apache Commons libs, Log4j, etc.)

I have been asked to justify the use of third-party libs as opposed to coding everything in-house. I have explained that it is standard practice in software development, that it reduces the need to write and test our own code, and that the libs' long history and "many eyeballs" mean that library code is likely to be more reliable than our own.

My explanation is all well and good (IMHO!) but is there a more formal explanation of why using third-party libs is generally good practice — in a book, or a web page by a respected developer, for example?

(Edit: Unlike the question marked as duplicate, I'm not after a bunch of opinions. I'm specifically after a well-respected source I can cite to back up the prevailing opinion. However, I've just been pointed at the FAQ which explains that asking for off-site resources isn't allowed, so apologies for posting this question.)

Ian Renton
  • 157
  • 4
  • 1
  • 2
    You could add "everybody does it" as a reason. Commercial products like Oracle Weblogic and IBM Websphere are full of open source libraries. Good luck with finding a reference! – kiwiron Apr 27 '15 at 09:38
  • Don't forget the time/cost of creating a whole set of libraries in-house. The cost factor may well surpass any other justifications you can produce. – Simon B Apr 27 '15 at 09:59
  • off-site resource recommendations are explicitly off-topic per [help/on-topic] (it's the same here as at Stack Overflow). See http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question-closed-or-down-voted/6487#6487 – gnat Apr 27 '15 at 10:06
  • 4
    The request "to justify the use of third-party libs as opposed to coding everything in-house" is a bogus request, and you should look for the ulterior motives behind it. Someone is either incredibly dumb, or they are trying to get you fired. – Mike Nakis Apr 27 '15 at 10:11
  • 1
    There is no "formal" explanation. The only reason of interest is "it will save a lot time & money" (at least, it should; if you choose a bad third party library, this might not be true in the long run). What else do you need? – Doc Brown Apr 27 '15 at 11:01
  • @gnat I didn't realise that, apologies. Should this question be deleted or left to prevent people asking the same in future? – Ian Renton Apr 27 '15 at 11:25
  • @IanRenton Don't worry about it, it'll get closed shortly, most likely with a link to the question Doc Brown mentioned. – Doval Apr 27 '15 at 11:26
  • 1
    @MikeNakis The people I am justifying it to are not dumb, they're just not software engineers! – Ian Renton Apr 27 '15 at 11:26
  • 3
    Why are non programmers getting involved in highly technical decisions @IanRenton? And how are they going to evaluate whatever technical source you throw at them? I think your explanation is as good as it gets for non programmers. – yannis Apr 27 '15 at 11:29
  • 2
    Ask then why they are using a 3rd party Operating System and not writing their own in-house . A library is not fundamentally different except in size. – gbjbaanb Apr 27 '15 at 15:19

1 Answers1

4

This is a very broad question which can only receive a broad answer about software reusability.

It all started back in 1968, with Douglas McIlroy's (personal website, and wikipedia) address at a NATO conference on software engineering, the content of which can be found today in a book called "Software Engineering, Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968", Scientific Affairs Division, NATO, Brussels, 1969.

The text of interest has been scanned and can be found on the professor's site, under the title "Mass Produced Software Components".

Of course, a lot more has been written on the subject since then, for example a quick search yields documents on software reusability by Microsoft Research and other notable sources, but all these documents reference McIlroy's first paper, so you can search for its title to find documents that reference it.

Mike Nakis
  • 32,193
  • 7
  • 77
  • 112
  • I'll be honest, I didn't expect such a good answer given your less-than-sensitive comment on the original question. – MetaFight Apr 27 '15 at 12:02
  • @MetaFight this is an issue I have in general with my life. I often come across as belligerent, while I do not intend to. Thanks for commenting on this. – Mike Nakis Apr 27 '15 at 12:05
  • I've been told I come across as abrasive :) Communication is a hard problem. – MetaFight Apr 27 '15 at 12:07