open source tutorial