Definisi Free Software (Perangkat Lunak Bebas)

20 Nov 2009

Perangkat lunak bebas adalah perihal kebebasan, bukan harga. Untuk memahami konsep ini, Anda harus berpikir tentang kebebasan berbicara, bukan minuman gratis.

Perangkat lunak bebas adalah tentang kebebasan para pengguna untuk menjalankan, menyalin, mendistribusikan, mempelajari, mengubah dan meningkatkan kinerja perangkat lunak. Hal ini berarti bahwa pengguna program memiliki empat kebebasan yang mendasar:

  • Kebebasan untuk menjalankan program, untuk tujuan apa saja (kebebasan 0).

  • Kebebasan untuk mempelajari bagaimana program itu bekerja, dan mengubahnya sesuai keinginan anda (kebebasan 1). Akses ke kode sumber program merupakan suatu prasyarat untuk poin ini.

  • Kebebasan untuk mengedarkan salinan dari perangkat lunak, sehingga Anda dapat membantu sesama (kebebasan 2).

  • Kebebasan untuk memperbaiki program, dan mempublikasikan versi perbaikan Anda ke khalayak umum sehingga orang lain dapat menikmati keuntungannya (kebebasan 3). Akses pada kode program merupakan suatu prasyarat juga.

Suatu program merupakan perangkat lunak bebas, bila setiap pengguna memiliki semua dari kebebasan tersebut. Dengan demikian, Anda seharusnya bebas untuk menyebarluaskan salinan program, baik dengan atau tanpa modifikasi, secara gratis atau pun dengan memungut biaya penyebarluasan, kepada siapapun dan dimanapun. Kebebasan untuk melakukan hal-hal ini berarti (antara lain) bahwa Anda tidak harus meminta atau pun membayar untuk mendapatkan ijin guna melakukan hal hal tersebut.

Anda juga seharusnya memiliki kebebasan untuk membuat modifikasi dan menggunakannya secara pribadi dalam pekerjaan anda sendiri atau untuk sekedar bermain main, bahkan tanpa perlu mengumumkan bahwa mereka (program yang anda modifikasi) ada. Dan jika Anda menerbitkan perubahan Anda, Anda tidak perlu memberitahu orang tertentu, atau dengan cara tertentu.

Kebebasan untuk menjalankan program berarti kebebasan bagi setiap tipe orang atau organisasi untuk menggunakan program tersebut pada sistem komputer jenis apa pun, untuk setiap jenis pekerjaan secara keseluruhan dan tujuan apapun, tanpa perlu untuk mengadakan pembicaraan tentang hal itu dengan pengembang atau pun pihak lainnya secara khusus. Dalam kebebasan ini, tujuan pengguna adalah yang penting, bukan tujuan pengembang; Anda sebagai pengguna dapat bebas untuk menjalankan program untuk tujuan-tujuan Anda, dan jika kemudian Anda membagikan program itu kepada orang lain, maka dia bebas untuk menjalankannya sesuai keperluannya, dan Anda tidak berhak untuk memaksakan tujuan Anda kepadanya.

Kebebasan untuk menyebarluaskan hasil penggandaan, harus termasuk bentuk biner atau executable, serta kode sumber, baik untuk versi modifikasi maupun tidak dimodifikasi. (Mendistribusikan program dalam bentuk dapat dijalankan secara langsung diperlukan agar mudah diinstal pada sistem operasi bebas.) Tidaklah menjadi masalah jika tidak ada cara untuk memproduksi bentuk biner atau executable suatu program tertentu (karena beberapa bahasa tidak mendukung fitur itu), tetapi Anda harus memberikan kebebasan untuk mendistribusikan kembali bentuk tersebut (biner atau executable) yang seharusnya anda temukan atau mengembangkan cara untuk membuat mereka.

Agar kebebasan untuk melakukan perubahan, serta mempublikasikan versi perbaikan, menjadi bermakna, Anda harus memiliki akses ke kode sumber program. Oleh karena itu, aksesibilitas dari kode sumber adalah syarat mutlak untuk perangkat lunak bebas.

Kebebasan 1 mencakup kebebasan untuk menggunakan versi perubahan pada tempat asalnya. Jika program disampaikan dalam sebuah produk yang didesain untuk menjalankan versi perubahan milik seseorang tetapi menolak untuk menjalankan versi perubahan Anda - suatu praktek yang dikenal sebagai “tivoization” atau (melalui daftar hitam) sebagai “secure boot” - kebebasan 1 menjadi fiksi teoretis belaka daripada sebuah praktek kebebasan. Hal ini tidaklah cukup. Dengan kata lain, binari ini bukanlah perangkat lunak bebas meskipun dikompilasi dari kode sumber yang gratis.

Salah satu cara penting untuk memodifikasi sebuah program adalah dengan menggabungkan subrutin subrutin dan modul modul yang tersedia secara bebas. Jika lisensi sebuah program mengatakan bahwa Anda tidak bisa bergabung kedalam sebuah lisensi sesuai modul yang sudah ada, seperti jika lisensi itu mengharuskan anda untuk menjadi pemegang hak cipta kode apapun yang Anda tambahkan, maka lisensi tersebut terlalu ketat untuk memenuhi syarat sebagai lisensi bebas.

Agar kebebasan tersebut menjadi nyata, maka mereka harus bersifat permanen dan tidak dapat dibatalkan selama anda tidak melakukan hal apa pun yang salah, jika pengembang perangkat lunak memiliki kekuatan untuk mencabut lisensi, atau sampai merubah istilah, tanpa anda melakukan sesuatu yang salah yang memberikan sebab untuk pencabutan itu, maka perangkat lunak itu tidak bebas.

Namun demikian, aturan tertentu mengenai tata cara pendistribusian perangkat lunak bebas dapat saja diterima, jika mereka tidak bertentangan dengan hakikat inti dari kebebasan. Sebagai contoh, copyleft adalah aturan bahwa ketika mendistribusikan program, Anda tidak dapat menambahkan larangan untuk menyangkal orang lain dari hakikat inti kebebasan. Aturan ini tidak bertentangan dengan hakikat inti dari kebebasan itu sendiri, justru melindungi mereka.

Perangkat lunak bebas bukan berarti perangkat lunak non-komersial. Sebuah program bebas harus tersedia untuk penggunaan komersial, pengembangan komersial, dan distribusi komersial. Pengembangan komersial dari perangkat lunak bebas bukan lagi hal yang aneh; bebas seperti perangkat lunak komersial adalah sangat penting. Anda mungkin harus membayar untuk mendapatkan salinan perangkat lunak bebas, atau mungkin juga anda mendapatkannya secara cuma-cuma. Tetapi terlepas dari cara Anda mendapatkan salinan, Anda selalu memiliki kebebasan untuk menyalin dan mengubah perangkat lunak, bahkan untuk menjual salinan.

Apakah sebuah modifikasi merupakan suatu perbaikan adalah masalah subjektif. Jika modifikasi yang Anda lakukan terbatas-secara substansi, pada modifikasi yang orang lain menganggapnya sebagai perbaikan. Itu bukanlah kebebasan

Namun, aturan tentang bagaimana mengemas versi modifikasi dapat diterima, jika tidak secara efektif membatasi kebebasan Anda untuk mempublikasikan ulang modifikasinya, atau kebebasan untuk membuat dan menggunakan versi modifikasi pribadi. Aturan bahwa jika Anda membuat versi anda tersedia dalam cara ini, Anda harus membuatnya tersedia dalam cara itu adalah dapat diterima, pada kondisi yang sama. (Perhatikan bahwa aturan tersebut masih meninggalkan anda pilihan apakah akan menerbitkan versi Anda.) Aturan yang memerlukan pelepasan kode sumber kepada para pengguna untuk versi yang Anda masukkan ke dalam penggunaan publik juga dapat diterima. Hal ini juga dapat diterima untuk lisensi yang membutuhkan itu, jika Anda memiliki versi modifikasi yang telah didistribusikan dan pengembang sebelumnya meminta salinannya, Anda harus mengirimkannya salinan dari program itu, atau bahwa Anda mengidentifikasi diri Anda pada versi modifikasi anda.

Dalam proyek GNU, copyleft digunakan untuk melindungi kebebasan tersebut secara legal bagi semua orang. Akan tetapi perangkat lunak non-copyleft juga ada.

Terkadang pemerintah mengeluarkan aturan pembatasan ekspor dan sanksi perdagangan yang dapat membatasi kebebasan Anda untuk menyebarkan salinan program secara internasional. Pengembang perangkat lunak memang tidak memiliki kekuatan untuk meniadakan atau mengesampingkan pembatasan ini, tapi apa yang mereka dapat dan harus lakukan ialah menolak untuk menetapkan mereka (aturan pembatasan) sebagai prasyarat dari program. Dengan cara ini, pembatasan tidak akan mempengaruhi kegiatan dan orang-orang di luar wilayah hukum pemerintah tersebut. Jadi, lisensi perangkat lunak bebas tidak boleh mengharuskan mentaati peraturan ekspor sebagai salah satu syarat penting kebebasan.

Ketika berbicara tentang perangkat lunak bebas, sebaiknya jangan menggunakan istilah seperti membagi-bagikan atau gratis, karena istilah tersebut menyiratkan soal harga, dan bukannya kebebasan.

Akhirnya, perhatikan bahwa kriteria seperti yang dinyatakan dalam definisi perangkat lunak bebas ini memerlukan pemikiran yang cermat untuk interpretasi mereka. Jika sebuah lisensi perangkat lunak menetapkan pembatasan, maka ia bukanlah lisensi perangkat lunak bebas.

Teks Asli : http://www.gnu.org/philosophy/free-sw.html


TAGS


-

Author

Follow Me