Open Source mengacu pada setidaknya dua hal. Pertama, ini adalah merek dagang dari Open Source Initiative®, dan lisensi yang diberikan Open Source Initiative® kepada Open Source Software (OSS) yang memenuhi kriteria tertentu, yang disebut Definisi Open Source. Namun, ada ide lain tentang perangkat lunak sumber terbuka yang tidak memiliki standar yang sama dan menawarkan perangkat lunak sumber terbuka di bawah jenis lisensi yang berbeda. Satu kesamaan yang dimiliki oleh semua perangkat lunak open source adalah ketersediaan kode sumber bagi pengguna, yang berarti bahwa pengguna dapat melihat dengan tepat bagaimana aplikasi atau program dikodekan dan sering kali diizinkan untuk memodifikasinya. Tergantung pada jenis lisensi yang dimilikinya, pengguna mungkin dapat memodifikasi dan mendistribusikan ulang perangkat lunak sumber terbuka.
Apa pun jenis lisensinya, perangkat lunak sumber terbuka adalah mitra dari perangkat lunak komersial berpemilik. Perangkat lunak komersial berpemilik didasarkan pada satu perusahaan yang mengembangkan dan memiliki kode sumber. Lisensi produk memungkinkan pengguna untuk menggunakan produk yang dibuat oleh perusahaan komersial. Dalam beberapa kasus, pengguna diizinkan dan/atau didorong untuk membuat plug-in atau add-on untuk meningkatkan perangkat lunak komersial berpemilik, tetapi ada batasan pada apa yang boleh mereka lakukan. Ini untuk melindungi investasi pengembang perangkat lunak.
Ada beberapa tujuan di balik pergerakan perangkat lunak open source. Satu pemikiran adalah bahwa pemisahan pengembangan perangkat lunak dari motif keuntungan akan mendorong pengembang untuk melakukan yang terbaik bagi perangkat lunak dan pengguna, yang mengarah ke produk yang telah meningkatkan kegunaan dan lebih sedikit bug. Juga diyakini bahwa tinjauan sejawat tanpa batasan tanggal rilis komersial, akan berkontribusi pada perangkat lunak yang terus ditingkatkan secara konstan, daripada memiliki waktu rilis besar yang tidak terlalu sering terjadi, meninggalkan pengguna dengan perangkat lunak buggy di antaranya. Pertimbangan lain adalah bahwa dengan membuka kode, sejumlah besar pengembang, yang masing-masing mungkin memiliki pemikiran untuk meningkatkan perangkat lunak akan membawa keterampilan dan wawasan khusus mereka, serta waktu mereka, untuk berkontribusi pada proses, mempercepat pengembangan. dan membawanya ke banyak arah, memperluas cakupan perangkat lunak.