Open Source Compliance: How Do GPL, MIT, and Apache Licenses Work?