Minggu, 28 Februari 2016

TEKNOLOGI OPEN SOURCE



SEJARAH PERKEMBANGAN TEKNOLOGI OPEN SOURCE


Istilah open source sendiri baru dipopulerkan tahun 1998, sejarah peranti lunak open source sendiri bisa ditarik jauh ke belakang semenjak kultur hacker berkembang di laboratorium-laboratorium komputer di universitas-universitas Amerika seperti Stanford, Berkeley, Carnegie Mellon, and MIT pada tahun 1960-an dan 1970-an.
Awalnya tumbuh dari suatu komunitas pemrogram yang berjumlah kecil namun sangat erat dimana mereka biasa bertukar kode program, dan tiap orang bisa memodifikasi program yang dibuat orang lain sesuai dengan kepentingannya. Hasil modifikasinya juga mereka sebarkan ke komunitas tersebut.
Perkembangan di atas antara lain dipelopori oleh Richard Stallman dan kawan-kawannya yang mengembangkan banyak aplikasi di komputer DEC PDP-10. Awal tahun 1980-an komunitas hacker di MIT dan universitas-universitas lain tersebut bubar karena DEC menghentikan PDP-10. Akibatnya banyak aplikasi yang dikembangkan di PDP-10 banyak jadi kadaluarsa. Pengganti PDP-10, seperti VAX dan 68020, memiliki sistem operasi sendiri, dan tidak ada satupun piranti lunak bebas. Pengguna harus menanda-tangani nondisclosure agreement untuk bisa mendapatkan aplikasi yang bisa dijalankan di sistem-sistem operasi ini.
Karena itulah pada Januari 1984 Richard Stallman kemudian keluar dari MIT, agar MIT tidak bisa mengklaim piranti-piranti lunak yang dikembangkannya. Dan tahun 1985 dia mendirikan organisasi nirlaba Free Software Foundation. Tujuan utama organisasi ini adalah untuk mengembangkan sistem operasi. Dengan FSF Stallman telah mengembangkan berbagai piranti lunak: gcc (pengompilasi C), gdb (debugger, Emacs (editor teks) dan perkakas-perkakas lainnya, yang dikenal dengan peranti lunak GNU. Akan tetapi Stallman dan FSFnya hingga sekarang belum berhasil mengembangkan suatu kernel sistem operasi yang menjadi target utamanya. Ada beberapa penyebab kegagalannya, salah satunya yang mendasar adalah sistem operasi tersebut dikembangkan oleh sekelompok kecil pengembang, dan tidak melibatkan komunitas yang lebih luas dalam pengembangannya.
Sementara, pada tahun 1991, seorang mahasiswa S2 di Finland mulai mengembangkan suatu sistem operasi yang disebutnya Linux. Dalam pengembangannya Linus Torvalds melempar ke komunitas terbuka kode program dari Linux untuk dikembangkan bersama. Dalam perkembangannya kemudian komunitas Linux terus berkembang dimana kemudian akhirnya melahirkan distribusi-distribusi Linux yang berbeda seperti Slackware, Redhat, Debian, dan lainnya yang hingga sekarang jumlahnya mencapai lebih dari 10. Kesemua distribusi tersebut walaupun berbeda, akan tetapi mempunyai pondasi yang sama yaitu kernel Linux dan librari GNU glibc.
Selain perangkat lunak, kontribusi utama lain dari FSF adalah lisensi GPL (GNU public License), dimana lisensi ini memberi kebebasan bagi penggunanya untuk menggunakan dan melihat kode program, memodifikasi dan mendistribusi ulang peranti lunak tersebut dan juga jaminan kebebasan untuk menjadikan hasil modifikasi tersebut tetap bebas didistribusikan. Linus Torvalds juga menggunakan lisensi ini dalam pengembangan dasar Linux.
Seiring dengan semakin stabilnya rilis dari distribusi Linux, semakin meningkat juga minat terhadap peranti lunak yang bebas untuk di sharing seperti Linux dan GNU tersebut, juga meningkatkan kebutuhan untuk mendefinisikan jenis peranti lunak tersebut.
Akan tetapi teminologi “free” yang dimaksud oleh FSF tidaklah mudah dipahami oleh kebanyakan orang. Sebagian mengartikan kebebasan sebagaimana yang dimaksud dalam GPL, dan sebagian lagi mengartikan untuk arti gratis dalam ekonomi. Kata-kata “free” ini juga membuat khawatir para eksekutif di dunia bisnis yang menganggap aneh keberadaan perangkat lunak gratis.
Kondisi ini mendorong munculnya terminologi “open source” dalam tahun 1998, yang juga mendorong terbentuknya OSI (Open Source Initiative) suatu organisasi nirlaba yang mendorong pemasyarakatan dan penyatuan “Open Source”, yang diinisiasi oleh Eric Raymond dan timnya.(http://free-godlovesyou.blogspot.co.id/)


PENGERTIAN OPEN SOURCE

Open Source adalah sebuah sistem atau secara gamblangnya adalah software yang dapat dikembangkan sendiri. Dengan menggunakan opensource kita tidak akan terikat seperti jika kita menggunakan software biasa. kita tidak perlu membeli license/lisensi dari suatu software tertentu yang harganya sangat mahal untuk ukuran orang Indonesia. Seperti yang sedang marak-maraknya dilakukan saat ini di daerah jember, kota yang mengalami perkembangan teknologi yang sangat pesat ini, sekarang sudah perlahan meninggalkan windows, masyarakatnya sudah mulai membiasakan diri dengan linux. Organisasi yang mempelopori adalah Jerux, Jember Linux. (http://yosike-1706.blogspot.co.id/2009/12/pengertian-teknologi-open-source.html)

KRITERIA TEKNOLOGI OPEN SOURCE

1. Distribusi Ulang Secara Bebas
Lisensi yang digunakan tidak boleh membatasi siapa pun untuk menjual atau mendistribusikan ulang. Baik distribusi ulang secara terpisah maupun digabungkan dengan program lain. Lisensi tidak boleh men-syaratkat royalti atau semacamnya bila program tersebut akan dijual. Alasan: Dengan mensyaratkan distribusi ulang secara bebas, hilangnya manfaat jangka panjang demi hasil penjualan jangka pendek dapat dieliminasi.


2. Kode program (Source Code)

Distribusi program harus menyertakan Source Code, dan harus mengizinkan distribusi Source Code sebagaimana halnya bentuk yang sudah dikompilasi (bentuk binari/executable). Jika program tidak didistribusikan bersama Source Code, harus ada publikasi/penjelasan yang memadai bagaimana caranya mendapatkan Source Codenya. Biaya yang diperlukan untuk mendapatkan Source Code tidak boleh lebih dari biaya reproduksinya atau tersedia untuk didownload (diunduh) melalui internet. Source Code harus menjadi bentuk yang lebih disukai jika programmer ingin memodifikasi programnya. Source Code tidak boleh diubah atau dibuat mnejadi tidak jelas dengan sengaja. Bentuk intermediate juga tidak diijinkan, misalnya keluaran dari preposesor atau translator. Alasan: Akses ke source code yang jelas diperlukan untuk mengembangkan dan memodifikasi program. Agar hal tersebut dapat dilakukan dengan mudah, maka akses ke source code juga harus dimudahkan


3. Hasil Modifikasi atau Turunan
Lisensi harus mengijinkan modifikasi atau pembuatan turunan dari program tersebut, dan harus mengizinkan program yang diturukan untuk dilisensikan dengan lisensi yang sama dengan program aslinya. Alasan: Ketersediaan akses untuk membaca source code saja tidak cukup untuk mendukung peer review secara independen dan pengembangan evolusioner yang cepat. Agar hal tersebut dapat terjadi, diperlukan eksperimen pada source code dan distribusi ulang hasil modifikasinya


4. Integritas Programmer Asli
Lisensi dapat melarang Source Code untuk didistribusikan dalam bentuk yang sudah dimodifikasi bila mengijinkan distribusi patch beserta Source Codenya untuk memodifikasi program pada saat Build time. Lisensi harus secara eksplisit mengijinkan distribusi program yang dibangun dari Source Code yang telah dimodifikasi. Lisensi dapat mensyaratkan program turunan agar menggunakan nama atau vesi yang berbeda dengan program yang asli. Alasan : mendorong terjadinya banyak pengembangan dan perbaikan adalah hal yang sangat baik, namun para pengguna berhak untuk mengetahui siapa yang bertanggung jawab terhadap aplikasi yang mereka gunakan. Sebaliknya, sang pembuat program dan pemeliharanya (maintainer) juga berhak untuk mengetahui apa harus mereka dukung dan untuk menjaga reputasi mereka. Dengan demikian, sebuah lisensi Open Source harus menjamin agar Source Code tersedia, namun dapat mensyaratkan agar Source Code didistribusikan dalam bentuk pristine (masih asli dari sang pembuat, belum ada modifikasi dari pihak lain) ditambah dengan patch. Dengan cara ini, perubahan yang tidak resmi dapat dibuat dan disediakan, namun dapat dibedakan dari source aslinya

5. Tidak Ada Diskriminasi Pada Orang Atau Kelompok Orang
Lisensi tidak boleh membatasai orang atau kelompok orang untuk menggunakan atau terlibat dalam proses pengembangan program Open Source. Alasan: Untuk mendapatkan manfaat yang optimal dari proses pengembangan aplikasi Open Source, maka tingkat perbedaan orang atau kelompok orang yang terlibat dalam prosesnya  juga harus maksimal. Setiap orang harus memiliki hak yang sama untuk berkontribusi pada proyek Open Source apa pun. Dengan kata lain, tidak boleh ada larangan bagi siapapun untuk terlibat dalam proses pengembangan Open Source

6. Tidak Ada diskriminasi Dalam Bidang Penggunaannya
Lisensi tidak boleh membatasi seseorang untuk menggunakan program yang dimaksud dalam bidang tertentu. Misalnya, lisensi tidak boleh membatasi penggunaan program dalam bidang penelitian, pendidikan, atau digunakan untuk menjalankan bisnis. Alasan: Hal ini dimaksudkan agar penggunaan Open Source meluas dan tidak terjebak pada batasan untuk digunakan sebagai alat bantu dalam dunia bisnis komersial. Pengguna komersial justru diharapkan bergabung dengan komunitas Open Source dan tidak merasa dikecualikan dalam menggunakan program Open Source

7. Distribusi Lisensi
Hak-hak yang melekat pada program harus dapat diterapkan pada seluruh pengguna tanpa memerlukan tambahan lisensi. Alasan: klausa ini dimaksudkan untuk menghindari penutupan software secara tidak langsung.

8. Lisensi Tidak Boleh Spesifik pada Produk tertentu
Hak-hak yang melekat pada program tidak boleh mensyaratkan program tersebut mnejadi bagian dari distribusi software tertentu. Jika program tertentu digunakan atau didistribusikan secara terpisah dari distribusi softwarenya, namun tetap mengikuti lisensi berlaku pada program tersebut, maka seluruh pihak yang menerima atau menggunakan program tersebut harus menerima hak yang sama dengan mereka yang mendapatkannya bersama distribusi software aslinya. Alasan: klausul ini mencegah jenis jebakan lisensi yang lain.

9. Lisensi Tidak Boleh Membatasi Software Lain
Lisensi tidak boleh membatasi software lain yang didistribusikan bersama program yang dilisensi-kan. Misalnya, lisensi tidak boleh memaksa bahwa program lain yang didistribusikan dalam media yang sama harus merupakan software yang open source. Alasan: Distributor software open-source memiliki hak untuk menentukan pilihan mengenai software mereka. Lisensi GPL (GNU General Public License) juga mengadaptasi hal ini. Software yang menggunakan pustaka berlisensi GPL hanya diharuskan berlisensi GPL bila membentuk satu software yang sama, bukan pada software apa saja yang didistribusikan bersamanya


10. Lisensi Harus Netral Terhadap Teknologi
Penyediaan lisensi tidak boleh mengharuskan penggunaan teknologi atau tampilan grafis tertentu. Alasan: Penyediaan lisensi ini ditujukan secara spesifik pada lisensi yang mengharuskan adanya tindakan yang secara ekplisit menunjukkan ekspresi persetujuan dan mengadakan kontrak antara pengguna software yang dilisensikan dengan pembuat lisensinya. Penyediaan lisensi yang mengharuskan “click-wrap” dapat menimbulkan konflik dengan beberapa metode penting dalam distribusi software seperti misalnya: download melalui FTP  (File Transfer Protocol), CD-ROM berisi kumpulan aplikasi, atau mirror web; beberapa di antaranya dapat menghalangi atau mencegah penggunaan kembali kode program. Maka adaptasi penyediaan lisensi harus memungkinkan (a) distribusi software bisa dilakukan di jalur non-web yang tidak mendukung click-wrap pada proses download dan (b) kode program yang tercakup dalam lisensi (atau penggunaan kembali sebagian dari kode program yang tercakup) harus dapat dijalankan dalam lingkungan tanpa tampilan grafis yang tidak dapat mendukung dialog pop-up. (http://ilmu-opensource.blogspot.co.id/2014/09/10-kriteria-pembuatan-software-open.html)