indirect open source vs direct open source