However I think only AGPL-3.0 requires build/install instructions according to the following links.[...]
[and not the LGPL-2.1]
Am I right?
These links are not the license proper. Just commentaries about it (and based on what I can see incomplete commentaries). You should rely on the license text instead.
Our legal team claims we should provide source and build/install instructions for these Open Source Libraries/Software.
They are correct.
The LGPL 2.1 text explains in Section 0 what is "Source Code":
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
You must redistribute the source code of LGPL-licensed libraries to your users and therefore this includes build scripts.
The text explains further in Section 6 (emphasis is mine):
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
The key is
must include any data and utility programs needed for reproducing the executable from it. What this means is that you would need to provide the source code alright and either the build scripts and/or alternatively build instructions if there is no such script.
In the case of a Java library, the most likely case is that the upstream library source code already comes with a Maven POM of sorts or some gradle/ivy/ant/sbt script. So if you collect the original source code for that library from upstream as you should, chances are that these will contain everything that is needed to build both in terms of scripts and instructions.
Furthermore, in the case of a Java library, you would not include the Java compiler. The end of section 6 of the LGPL 2.1 explains why:
However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
So if you used a certain version of Java to compile, you could state this in your instructions and point to where this could be fetched but in general I would not include a JDK itself in my redistribution, nor would I include major build tools such as Maven or Gradle.
Thomas Owens furthered asked in a comment:
Do you have a citation to support this? I agree that the intent is to ensure that the source code can be rebuilt, but the use of "data and utility programs needed for reproducing the executable from it" can be ambiguous - some people may not interpret "data" as also including written build instructions, if the build process is not automated.
The key point is that the recipient should be able to rebuild from sources. Without the build instructions (as doc or as a script) the user will not be able to rebuild the sources and your re-distribution would not be compliant.
As explained above the LGPL 2.1 text explains in Section 0 what is "Source Code" very explicitly and it includes build scripts.
Here are some extra references if this is not enough to get you convinced:
On FFmpeg legal FAQ. Libav does the same:
- Explain how you compiled FFmpeg, for example the configure line, in a text file added to the root directory of the source code.
On the GPL2 FAQ DistributeExtendedBinary section :
No, you must supply the source code that corresponds to the binary. Corresponding source means the source from which users can rebuild the same binary.
I consider this FAQ entry to apply equally to the LGPL. Without build instructions you would likely be unable to rebuild the binaries.
Beyond, Cisco's Suppliers guidelines state in an SEC filing that they require the provision of build instructions for L/GPL (Section2 Publication Archive):
Along with the Publication Archive, you must provide a file named “README” at the root of the Publication Archive which contains instructions (such as an ordered list of Unix shell commands) for building the source code into installable object code