How Can Software Be Protected