Definisi "Perangkat Lunak Bebas" dari Yayasan Perangkat Lunak Bebas:
"Perangkat lunak bebas" adalah masalah kebebasan, bukan harga. Untuk memahami konsep ini, Anda harus berpikir "bebas" seperti dalam "kebebasan berbicara," bukan sebagai "bir gratis."
Perangkat lunak bebas adalah masalah kebebasan pengguna untuk menjalankan, menyalin, mendistribusikan, mempelajari, mengubah, dan meningkatkan perangkat lunak. Lebih tepatnya, itu berarti bahwa pengguna program memiliki empat kebebasan penting:
- Kebebasan untuk menjalankan program, untuk tujuan apa pun (kebebasan 0).
- Kebebasan untuk mempelajari cara kerja program, dan mengubahnya untuk membuatnya melakukan apa yang Anda inginkan (kebebasan 1). Akses ke kode sumber adalah prasyarat untuk ini.
- Kebebasan untuk mendistribusikan kembali salinan sehingga Anda dapat membantu tetangga Anda (kebebasan 2).
- Kebebasan untuk mendistribusikan salinan versi modifikasi Anda kepada orang lain (kebebasan 3). Dengan melakukan ini, Anda dapat memberi seluruh komunitas kesempatan untuk mendapat manfaat dari perubahan Anda. Akses ke kode sumber adalah prasyarat untuk ini.
Suatu program adalah perangkat lunak gratis jika pengguna memiliki semua kebebasan ini. Dengan demikian, Anda harus bebas untuk mendistribusikan kembali salinan, baik dengan atau tanpa modifikasi, baik gratis atau membebankan biaya untuk distribusi, kepada siapa pun di mana pun. Bebas melakukan hal-hal ini berarti (antara lain) bahwa Anda tidak perlu meminta atau membayar izin untuk melakukannya.
Definisi "Perangkat Lunak Sumber Terbuka" dari Inisiatif Sumber Terbuka:
Open source tidak hanya berarti akses ke kode sumber. Ketentuan distribusi perangkat lunak sumber terbuka harus memenuhi kriteria berikut:
Redistribusi Gratis Lisensi tidak akan membatasi pihak mana pun untuk menjual atau memberikan perangkat lunak sebagai komponen dari distribusi perangkat lunak agregat yang berisi program dari beberapa sumber yang berbeda. Lisensi tidak akan memerlukan royalti atau biaya lain untuk penjualan tersebut.
Kode Sumber Program harus menyertakan kode sumber, dan harus mengizinkan distribusi dalam kode sumber serta formulir yang dikompilasi. Jika suatu bentuk suatu produk tidak didistribusikan dengan kode sumber, harus ada cara yang dipublikasikan dengan baik untuk mendapatkan kode sumber tidak lebih dari biaya reproduksi yang masuk akal, lebih baik mengunduh melalui Internet tanpa biaya. Kode sumber harus berupa bentuk yang disukai di mana programmer akan memodifikasi program. Kode sumber yang sengaja dikaburkan tidak diizinkan. Formulir antara seperti keluaran preprocessor atau penerjemah tidak diperbolehkan.
Karya Turunan Lisensi harus mengizinkan modifikasi dan karya turunan, dan harus memungkinkannya untuk didistribusikan di bawah ketentuan yang sama dengan lisensi dari perangkat lunak asli.
Integritas Kode Sumber Penulis Lisensi dapat membatasi kode sumber tidak didistribusikan dalam bentuk yang dimodifikasi hanya jika lisensi memungkinkan distribusi "file tambalan" dengan kode sumber untuk tujuan memodifikasi program pada waktu pembangunan. Lisensi harus secara eksplisit mengizinkan distribusi perangkat lunak yang dibangun dari kode sumber yang dimodifikasi. Lisensi mungkin mengharuskan karya turunan untuk membawa nama atau nomor versi yang berbeda dari perangkat lunak asli.
Tidak Ada Diskriminasi Terhadap Orang atau Kelompok Lisensi tidak boleh mendiskriminasikan orang atau kelompok orang.
Tidak Ada Diskriminasi terhadap Bidang Usaha Lisensi tidak boleh membatasi siapa pun untuk menggunakan program ini dalam bidang usaha tertentu. Sebagai contoh, itu mungkin tidak membatasi program dari yang digunakan dalam bisnis, atau dari yang digunakan untuk penelitian genetik.
Distribusi Lisensi . Hak-hak yang terlampir pada program harus berlaku untuk semua orang yang programnya didistribusikan kembali tanpa perlu eksekusi lisensi tambahan oleh pihak-pihak tersebut.
Lisensi Tidak Harus Spesifik untuk Produk . Hak yang melekat pada program tidak boleh bergantung pada program yang menjadi bagian dari distribusi perangkat lunak tertentu. Jika program diekstraksi dari distribusi itu dan digunakan atau didistribusikan dalam ketentuan lisensi program, semua pihak yang menjadi sasaran program ini harus memiliki hak yang sama dengan yang diberikan bersamaan dengan distribusi perangkat lunak asli.
Lisensi Tidak Harus Membatasi Perangkat Lunak Lain Lisensi tidak boleh membatasi perangkat lunak lain yang didistribusikan bersama dengan perangkat lunak berlisensi. Misalnya, lisensi tidak boleh memaksa bahwa semua program lain yang didistribusikan pada media yang sama harus perangkat lunak sumber terbuka.
Lisensi Harus Teknologi-Netral Tidak ada ketentuan lisensi yang dapat didasarkan pada teknologi atau gaya antarmuka apa pun.
Definisi-definisi ini, meskipun berasal dari ideologi yang sangat berbeda, secara luas kompatibel, dan sebagian besar Perangkat Lunak Bebas juga merupakan Perangkat Lunak Sumber Terbuka dan sebaliknya. Saya percaya, bagaimanapun, bahwa hal ini dimungkinkan untuk tidak menjadi masalah: Adalah mungkin bagi perangkat lunak untuk menjadi Open Source tanpa Gratis, atau Bebas tanpa Open Source.
Pertanyaan
- Apakah kepercayaan saya benar? Apakah mungkin bagi perangkat lunak untuk jatuh ke dalam satu kamp dan bukan yang lain?
- Apakah perangkat lunak semacam itu benar-benar ada? Tolong beri contoh.
Klarifikasi
Saya sudah menerima jawaban sekarang, tetapi saya tampaknya telah membingungkan banyak orang, jadi mungkin ada klarifikasi. Saya tidak bertanya tentang perbedaan antara lisensi copyleft (atau "viral", meskipun saya tidak suka istilah itu) dan non-copyleft ("permisif"). Saya juga tidak bertanya tentang definisi istimewa pribadi Anda tentang "Gratis" dan "Terbuka". Saya bertanya tentang "Perangkat Lunak Bebas seperti yang didefinisikan oleh FSF" dan "Perangkat Lunak Open Source sebagaimana didefinisikan oleh OSI". Apakah keduanya selalu sama? Apakah mungkin menjadi satu tanpa yang lain?
Dan jawabannya, tampaknya, adalah tidak mungkin untuk Bebas tanpa Terbuka, tetapi mungkin Terbuka tanpa Bebas. Terima kasih semua orang yang benar-benar menjawab pertanyaan itu.