Selasa, 24 September 2013

Open Source

Sejarah Open Source

                    Open source adalah istilah untuk software yang kode programnya disediakan oleh pengembangnya untuk umum agar dapat dipelajari cara kerjanya, diubah atau dikembangkan lebih lanjut, dan disebarluaskan. Jika pembuat program melarang orang lain untuk mengubah dan atau menyebarluaskan program buatannya, maka program itu bukan open source, meskipun tersedia kode programnya.
                
                 Open source merupakan salah satu syarat free software. Free software pasti open source software, namun Open source software belum tentu free software. Contoh free software adalah Linux. Contoh open source software adalah FreeBSD. Linux yang berlisensi free software tidak dapat diubah menjadi berlisensi tidak free software, sedangkan FreeBSD yang berlisensi open source software dapat diubah menjadi tidak open source. FreeBSD (open source) merupakan salah satu dasar untuk membuat Mac OSX (tidak open source). http://www.opensource.org/licenses memuat jenis-jenis lisensi open source.

                Istilah open source (kode program terbuka) sendiri baru dipopulerkan tahun 1998. Namun, 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 menjadi banyak yang 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 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.

            Pada tahun 1991, seorang mahasiswa S2 di Finland mulai mengembangkan suatu sistem operasi yang disebutnya Linux. Dalam pengembangannya Linus Torvalds melempar kode program dari Linux ke komunitas terbuka untuk dikembangkan bersama. Komunitas Linux terus berkembang dimana kemudian akhirnya melahirkan distribusi-distribusi Linux yang berbeda tetapi mempunyai pondasi yang sama yaitu kernel Linux dan librari GNU glibc seperti RedHat, SuSE, Mandrake, Slackware, dan Debian dan lainnya. Beberapa dari distribusi di atas ada yang bertahan dan besar, bahkan sampai menghasilkan distro turunan, contohnya adalah Distro Debian GNU/Linux. Distro ini telah menghasilkan puluhan distro anak, antara lain Ubuntu, Knoppix, Xandros, dan lainnya.

           Kontribusi utama lain dari FSF selain perangkat lunak 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 menimbulkan banyak persepsi dari tiap orang. Sebagian mengartikan kebebasan sebagaimana yang dimaksud dalam GPL, dan sebagian lagi mengartikan untuk arti gratis dalam ekonomi. Para eksekutif di dunia bisnis juga merasa khawatir karena keberadaan perangkat lunak gratis dianggap aneh.

           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.


Alasan Menggunakan Software Open Source 
(+Kelebihan dan Kekurangan)  

              Isu-isu keamanan yang dihadapi sistem open source, mencakup beberapa filosofi keamanan umum dan bagaimana membuat lebih aman sistem tersebut dari para penyusup. Beberapa pengguna komputer yang merupakan anggota dari komunitas pengguna Open Source Software (OSS) dan free software berpendapat bahwa kode program mereka lebih aman karena kelemahan kode program mereka lebih mudah ditemukan dan diperbaiki oleh pemakai program tersebut. Sementara itu, komunitas hak-hak kepemilikan berpendapat bahwa pembukaan akses ke kode program pada OSS akan memudahkan bagi beberapa kelompok tertentu untuk menyerang program tersebut.

Fitur-fitur utama dari karakteristik open source adalah kebebasan user untuk:
  • Menggunakan software sesuai keinginannya.
  • Memiliki software yang tersedia sesuai kebutuhan.
  • Mendistribusikan software kepada user lainnya.
             Kebebasan yang tak terbatas bagi tiap orang untuk mengakses kode program merupakan pedang bermata dua bagi software itu sendiri. Hal ini disebabkan karena kebebasan ini memberikan informasi tentang kelemahan software. Kemudian, yang terjadi adalah eksploitasi kelemahannya. Parahacker akan menggunakan kelemahan ini untuk melakukan hal-hal yang dapat merugikan penggunasoftware tersebut. Akibatnya akan lebih buruk jika software tersebut merupakan software yang vital bagi pengguna karena akan memungkinkan terjadinya penipuan, pencurian identitas, pencurian informasi, dan sebagainya.

Beberapa keuntungan dari software open source, yaitu:
  1. Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada kode.
  2. Ketersediaan source code dan hak untuk memodifikasi.
  3. Tidak disandera vendor, open source menggunakan format data terbuka, sehingga data menjadi transparan dan bisa dengan bebas diproses di sistem komputer yang berbeda-beda, sambil tetap menjaga keamananya. Dengan demikian, konsumen tidak lagi terikat pada kemauan vendor untuk dapat menggunakan data-datanya.
  4. Banyaknya tenaga (SDM) untuk mengerjakan proyek, proyek open source biasanya menarik banyak developer, misalnya pengembangan web server Apache menarik ribuan orang untuk ikut mengembangkan dan memantau.
  5. Kesalahan (bugs, error) lebih cepat ditemukan dan diperbaiki, hal ini dikarenakan jumlahdeveloper-nya sangat banyak dan tidak dibatasi. Visual inspection (eye-balling) merupakan salah satu metodologi pencarian bugs yang paling efektif. Selain itu, source code yang tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
  6. Kualitas produk lebih terjamin, hal ini dikarenakan evaluasi dapat dilakukan oleh banyak orang sehingga kualitas produk dapat lebih baik. Namun, hal ini hanya berlaku untuk produk open source yang ramai dikembangkan orang. Tidak selamanya open source dikembangkan oleh banyak orang, karena bisa juga dilakukan oleh individual.
  7. Hemat biaya, sebagian besar developer ini tidak dibayar. Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
  8. Tidak mengulangi development, pengulangan (re-inventing the wheel) merupakan pemborosan. Adanya source code yang terbuka membuka jalan bagi seorang programmeruntuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
  9. User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
  10. Mencegah software privacy yang melanggar hukum.

Beberapa kerugiannya adalah :
  1. Kurangnya SDM yang dapat memanfaatkan open source, ketersediaan source code yang diberikan dapat menjadi sia-sia, jika SDM yang ada tidak dapat menggunakannya. SDM yang ada ternyata hanya mampu menggunakan produk saja, Jika demikian, maka tidak ada bedanya produk open source dan yang propriertary dan tertutup.
  2. Tidak adanya proteksi terhadap HaKI, kebanyakan orang masih menganggap bahwa open source merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.
  3. Kesulitan dalam mengetahui status project.
  4. Tidak ada garansi dari pengembangan.
  5. Limitasi modifikasi oleh orang – orang tertentu yang membuat atau memodifikasi sebelumnya.
  6. Untuk beberapa platform, contohnya JAVA yang memiliki prinsip satu tulis dan bisa dijalankan dimana saja, akan tetapi ada beberapa hal dari JAVA yang tidak competible dengan platform lainnya. Contohnya J2SE yang SWT – AWT bridge-nya belum bisa dijalankan di platform Mac OS.
  7. Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa open Source yang sama.







Sumber :
http://wiki.linux.or.id/Linux
http://purbaya.ac.id/index.php/artikel/35-artikel/54-sejarah-oss
http://osc.ugm.ac.id/ossdata/index.php?title=Distribusi_Linux
http://opensource.telkomspeedy.com/wiki/index.php/Sejarah_Internet_Indonesia:Open_Source_Software
http://image.google.com