OpenZeppelin has the openzeppelin-solidity project, and the source for the project is on GitHub. The GitHub link for this project is https://github.com/OpenZeppelin/openzeppelin-solidity.
The OpenZeppelin library should be installed using the npm command; it should not be copy-pasted into your contracts folder. However, to discuss some of these files, we have kept them in a Chapter09 folder that's present on GitHub: https://github.com/PacktPublishing/Mastering-Blockchain-Programming-with-Solidity/tree/master/Chapter09.
In this chapter, we are going to use OpenZeppelin v2.1.1 project files. These files are compatible with the following:
- Solidity v0.5.0 or later
- Truffle v5.0.0 or later
- Node.js v8.9.4 or later