GitHub allows developers to change, adapt and improve software from its public repositories for free, but it charges for private repositories, offering various paid plans . Each public or private repository contains all of a project’s files, as well as each file’s revision history.