Informatika
Tinggalkan sebuah Komentar

Free Software itu harus bisa dipakai untuk kejahatan!

Mungkin kalian pernah dengar, ada yang namanya free software. Software gratis? Bukan cuma itu. Software bebas, bebas kita apakan saja. Bebas dipakai sekenanya, bebas, diubah-ubah kodenya, bebas dijual lagi, bebas lah pokoknya. Secara formal, ada empat pilar yang harus dipatuhi oleh sebuah program supaya bisa dianggap sebagai piranti lunak bebas [GNU/FreeSW]:

  • Kebebasan menjalankan program, untuk tujuan apapun (Freedom 0)
  • Kebebasan mempelajari detail kerja program dan mengubahnya supaya sesuai dengan keinginan (Freedom 1)
  • Kebebasan mendistribusikan kembali kopi dari piranti lunak (Freedom 2)
  • Kebebasan mendistribusikan kembali kopi dari gubahan piranti lunak (Freedom 3)

Biasanya, untuk menjamin kebebasan di atas berlangsung selamanya, penulis perangkat lunak akan mencantumkan deklarasi lisensi di source code-nya. Intinya sama kayak produk-produk komersial biasa sih, misal Copyright 2018 by Albadr Enterprise. Namun, karena copyright bertujuan untuk mengekang kebebasan, biasanya lisensi ini disebut dengan copyleft.

Deklarasi lisensi ini singkat jelas padat. Intinya cuma:

  1. ini software lu mau apain terserah
  2. kalau ada apa-apa gua nggak tanggung

Juga biasanya ada klausa untuk mencantumkan deklarasi lisensi yang sama kalau kopi atau gubahan kopi si software mau disebar ulang. Sehingga menjamin kalau sekali bebas, softare tersebut akan tetap bebas.

Lisensi yang paling banyak dipakai adalah Lisensi MIT.

Nah, ada teknologi (atau standard) yang namanya JSON, JavaScript Object Notation, yang menjadi salah satu benang penyusun internet (dibikin oleh salah satu dewa dunia IT, Douglas Crockford). JSLint, library pendukung teknologi ini adalah open source, dengan deklarasi lisensi berbasis Lisensi MIT. Hanya saja penulis menambahkan satu klausa:

The Software shall be used for Good, not Evil.

Mau berbuat jahat? Nggak boleh pakai library JSON ini!

Satu kalimat di atas bikin pusing banyak orang. Secara definisi, klausa tersebut membatasi penggunaan software pada tujuan tertentu, sehingga menyebabkan library tersebut (dan semua proyek yang menggunakannya) tidak free! Sehingga, tidak kompatibel dengan perangkat lunak lain yang berlisensi bebas.

1280px-three_wise_monkeys2ctosho-gu_shrine

Do no evil?

Ada cerita si Douglas diemaili oleh pengacara dari sebuah perusahaan. Kata Douglas, nggak etis menyebutkan nama perusahaannya, jadi dia bilang inisialnya aja: IBM. Mereka pengen make itu library, mereka yakin kegunaannya bukan buat kejahatan, tapi mereka kan nggak bisa menjamin kelakuan setiap dan masing-masing pelanggan mereka. Jadi, mereka pengen lisensi khusus, gitu. Jadi si Douglas balas deh:

Dengan ini saya memberi izin kepada IBM, serta pelanggan, kroni, dan keroconya untuk menggunakan JSLint dalam kejahatan.

Pengacaranya membalas “Terima kasih banyak, Douglas!”.


To be fair, klausa “Kebaikan, bukan Kejahatan” itu niatnya sih baik. Sayangnya susah diterapkan! Apalagi konsep baik dan jahat itu sulit ditentukan secara pasti. Relatif pada pelakunya. Jadi ya betul, kalimat di atas melanggar prinsip-prinpsi software modern, dan lebih bikin susah dibanding bikin gampang.

Karena satu kalimat ini banyak orang yang mengembangkan alternatif dari JSLint, dan sengaja menghindari segala library yang berkaitan/ mengandung JSLint di dalamnya. Beberapa harus ngecek secara utuh software yang mereka bangun dan menghapus semua bagian yang memakai JSLint. Demi menjamin free software tetap free.

Jadi ya gimana ya… Membatasi kejahatan itu tidak baik untuk kebebasan!

!??

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.