An Analysis of the Advantages and Disadvantages of Open-Source Software