List

A.    Sejarah Open Source

Software Open source dimulai dari kebiasaan kerja di Laboratorium AI, MIT pada tahun 1960-an dan 1970-an. Pada saat itu MIT memiliki banyak komputer dan hanya memiliki 1 printer. Masalah yang sering muncul adalah paper jam atau gagal mencetak karena kertas tersangkut. Masalah paper jam disebabkan karena antrian pada proses cetak. Staf MIT mengembangkan program yang memperbaiki program bawaan vendor printer. Pada komunitas kecil programmer atau Software Developer terbiasa berbagi kode program seperti halnya berbagi resep ketika memasak. Jika salah satu dari mereka melakukan perubahan, maka akan segera mengirimkan kode perubahan ke yang lain.

Laboratorium MIT pada tahun 1980 menerima sumbangan printer laser baru. Richard Stallman memerlukan driver printer yang akan dimodifikasi sehingga bisa mengatasi ketika terjadi paper jam atau kertas macet. Masalah timbul ketika permintaan Source code driver printer yang diajukan Richard Stallman ditolak. Driver printer sudah menjadi perangkat lunak Proprietary, ia menjadi hak milik vendor printer. Pada awal tahun 80-an banyak berkembang Proprietary Software atau Commercial Software. Banyak programmer yang direkrut untuk bergabung pada vendor atau pengembang perangkat lunak mengembangkan proprietary software. Programmer yang bekerja pada proyek pengembangan proprietary software atau commercial software tidak bisa lagi berbagi atau berkolaborasi untuk mengembangkan perangkat lunak.

Pada tahun 1980-an Richard Stallman, memprakarsai pembentukan pergerakan free software sehingga menghasilkan UNIX yang sering disebut dengan GNU (GNU’s not Unix). Richard Stallman menerbitkan “The GNU Manifesto,” yang merupakan seruan bagi para pengembang perangkat lunak untuk bergabung dalam upaya mengembangkan dan mendistribusikan perangkat lunak Open Source. Lisensi ini memberikan kebebasan setiap orang untuk menggunakan, mengubah dan memodifikasi program.

Meskipun belum banyak memperoleh keberhasilan, Richard Stallman dengan Free Software Foundation (FSF) menghasilkan program-program sederhana untuk membuat sebuah sistem operasi seperti : linker, assembler, C library dan lainnya. Proyek pertama kali yang diciptakan FSF adalah sistem kompiler (GCC) dan berbagai utilitas sistem operasi. FSF dengan proyek GNU belum menghasilkan sistem operasi lengkap karena masih ada kekurangan pada bagian kritis, yaitu kernel pada tahun 1991. Kernel sendiri merupakan inti atau jantung dari sistem operasi. Produk yang dikembangkan oleh Richard Stallman akhirnya digunakan oleh Linus Tolvard untuk mengembangkan Sistem operasi LINUX. Linus Torvalds merupakan mahasiswa di Universitas Helsinki membuat dan mendistribusikan kernel seperti UNIX. Kernel linux pada akhirnya juga didistribusikan secara luas, dikembangkan, dan diaplikasikan menjadi ratusan distro Linux.

Setelah perkembangan pesat kernel linux pada tahun 1990-an. Eric Raymond mempublikasikan sebuah esai yang membandingkan metodologi pengembangan proyek GNU dengan proyek pengembangan kernel Linux. Proyek Cathedral (GNU Emacs) dibuat dengan cara kode sumber dibuat oleh sekelompok kecil pengembang, didistribusikan secara bebas dengan setiap rilis perangkat lunak. Setiap rilis disertai dengan Source code dari aplikasi yang dikembangkan. Sedangkan proyek Bazaar (kernel Linux) dikembangkan kemudian didistribusikan melalui Internet. Raymond memuji Linus Torvalds, karena menggunakan cara yang unik yaitu menggunakan Internet. Belum ada pengembangan sebelumnya yang memanfaatkan Internet. (Raymond, 1997). Eric Raymond mengatakan pentingnya lisensi Open Source yang mengijinkan setiap orang untuk melihat, memodifikasi dan mendistribusikan kode. Raymond kemudian berperan dalam menciptakan istilah “Open Source” dan mendirikan Open Source Institute.

Pada tahun 1998, Netscape memutuskan untuk membuka kode sumber untuk Netscape Communicator. Tujuan dari langkah-langkah tersebut untuk menghasilkan software dengan kualitas tinggi dan terjangkau. Akses Source code secara public menghasilkan browser lain seperti Mozilla Firefox. Firefox kemudian menjadi salah satu browser paling populer di tahun 2000-an.

B.     Perkembangan Linux

Ketika berbicara perkembangan perangkat lunak Open Source, maka kita tidak akan bisa lepas dengan perkembangan kernel. Sebuah sistem operasi akan memiliki sebuah kernel. Kernel adalah level terendah dari struktur sistem operasi yang berinteraksi dengan perangkat keras. Kernel bertanggung jawab untuk menghubungkan semua aplikasi yang berjalan dengan perangkat keras (hardware). Kernel memperbolehkan proses-proses yang berjalan mendapatkan informasi dari satu sama lain menggunakan Inter-process communication (IPC). Ada beberapa jenis kernel, diantaranya kernel monolitik yang digunakan Linux dan kernel hybrid yang digunakan OS X (XNU) dan Windows 7.

Linux adalah sebuah sistem operasi yang dikembangkan Linus Torvalds. Torvalds mengembangkan kernel dari kode unix dengan menggunakan GNU C Compiler. Pada 25 Agustus 1991, Torvalds mengalami kesulitan ketika proses pengembangan sistem operasinya. Torvalds mengirimkan source code yang sedang dikembangkan dan mendapatkan respon yang baik dari pengguna MINIX. Torvalds merilis kernel yang dikembangkannya versi 1.0 pada tahun 1994.

Selanjutnya Linux berkembang menjadi beberapa Distro utama diantaranya Debian, BSD, Fedora, dan OpenSuse. Distro-distro tersebut kemudian berkembang menjadi ratusan jenis linux. Beberapa distro yang banyak digunakan antara lain Elementary OS, Linux Mint, Arch Linux, Ubuntu, Tails, CentOS 7, Ubuntu Studio dan openSUSE. Perkembangan Linux kemudian menjadi pondasi dalam pengembangan perangkat lunak berbasis sistem operasi Linux. Debian adalah salah satu distro terbesar dengan didukung lebih dari 50.000 paket perangkat lunak.

C.    Cara Pengembangan Open Source

Perkembangan FOSS memerlukan tim pengembang, dan kondisi seperti berikut ini:

  1. Scratching an itch

Scratching an itch artinya mengaruk gatal, maksudnya ketika mengembangkan perangkat lunak berbasis open source memerlukan developer-developer yang “curius” tinggi. Programmer yang tidak mudah putus asa, dan ingin mengetahui penyelesaian suatu masalah. Seperti halnya gatal, biasanya kita tidak akan berhenti ketika menggaruk gatal sekali. Penyelesaian masalah akan dilakukan secara berulang-ulang hingga selesai masalah yang muncul(Raymond, 1997).

  1. Collaborative development dan Peer Review

Pengembangan perangkat lunak dilakukan secara bersama dan kolaboratif. Pengembang dari organisasi yang berbeda bekerja bersama pada pengembangan aplikasi berbasis open source. Bekerja bersama akan membuat banyak ide, penyelesaian lebih cepat dan lebih baik. Semakin banyak orang menggunakan dan mengevaluasi kode sumber, maka kesalahan yang ada akan mudah ditemukan dan diperbaiki secara cepat. Ketersediaan kode sumber memudahkan pengembang untuk belajar bagaimana projek lain yang telah dilakukan untuk memecahkan masalah yang sama.

  1. Centralized decision-making

Proses pengembangan dalam komunitas memiliki banyak keuntungan, akan tetapi ada juga kelemahan yang mucul ketika terdapat perbedaan pendapat. Oleh karena itu dalam sebuah komunitas perlu adanya team leader yang akan berfungsi untuk memutuskan arah pengembangan perangkat lunak. Jika tidak arah pengembangan akan terhenti karena tidak ada satu pun orang yang dapat menyelesaikan kebuntuan yang muncul.

  1. Given enough eyeballs, all bugs are shallow

Ketika sebuah program dan kode programnya di unggah dan tersedia secara publik. Maka akan banyak orang akan mencoba, jika ada kekurangan akan banyak orang yang sukarela melihat, mereview dan memperbaiki. Bisa jadi ketika program dikembangkan dan dievaluasi sendiri, maka kita akan kesulitan mencari bugs atau celah kekurangan dari aplikasi yang dikembangan. Akan tetapi jika pengujian dilakukan oleh orang lain yang bisa jadi ahli, maka akan mendapatkan pengujian dari berbagai skenario.

  1. Project Fork

Beberapa lisensi Open Source mengijinkan pengguna untuk melihat, memodifikasi perangkat lunak. Sehingga pengembang boleh mengambil salinan kode sumber dari satu paket perangkat lunak dan memulai pengembangan perangkat lunak yang berbeda dan terpisah. Sebagai perbandingan, lebih baik 100 developer dari 10 perusahaan untuk melakukan pengembangan suatu produk secara bersama (membentuk kerja sama atau melakukan kolaborasi), daripada 100 pengembang dari 10 perusahaan mengembangkan aplikasi yang sama secara terpisah. (Maryanto, 2015). Pengembangan perangkat lunak baru akan membuat projek lain dengan menambah fungsionalitas yang diperlukan. Sebagai contoh, proyek server web Apache lebih memilih memanfaatkan projek OpenSSL daripada menulis sendiri kode kriptografi, sehingga menghemat jutaan jam untuk pembuatan program dan pengujiannya.

D.    Siapa yang bersedia “Shared Source”

Kebutuhan pengembangan sistem membutuhkan biaya yang besar, pengadaan infrastruktur jaringan komputer, perangkat komputer, perangkat lunak dan pelatihan sumber daya manusia. Untuk perusahaan besar mungkin dana tidak akan menjadi kendala. Sedangkan untuk perusahaan kecil dengan dana terbatas maka solusi penggunaan Sistem Operasi Open Source dan perangkat lunak Open Source akan menjadi solusi untuk mengurangi pengeluaran Investasi.

Semakin berkembangnya pengguna Open Source akan mendorong berkembangnya sistem operasi dan perangkat lunak Open Source. Perkembangan ini didukung oleh Komunitas sistem operasi dan perangkat lunak Open source. Independent Software Vendors (ISVs), Independent Hardware Vendors (IHVs), Pemerintah dalam hal ini Kementerian Komunikasi dan Informatika Republik Indonesia dan Akademisi dari Universitas-universitas.

Independent Software Vendors (ISVs) adalah istilah yang digunakan untuk sebuah perusahan pengembang dan menawarkan software khusus kepada sektor industri tertentu misalnya UMKM, rumah sakit atau perusahaan. ISVs akan mengembangkan software yang dibuat secara khusus untuk kebutuhan sektor industri tersebut. Perusahan software besar seperti Microsoft, Red Hat, Novell atau IBM umumnya menyediakan paket software yang mendukung ISV.

Indonesia Go Open Source (IGOS), gerakan meningkatkan penggunaan dan pengembangan perangkat lunak sumber terbuka yang dideklarasikan 30 Juni 2004 oleh kementerian Komunikasi dan Informatika. Selain IGOS, Instruksi Presiden nomor 6 tahun 2001 mendukung pemanfaatan sistem operasi dan perangkat lunak Open source. Surat edaran yang dikeluarkan oleh Kementerian Pendayagunaan Aparatur Negara pada tahun 2009 mewajibkan semua badan pemerintah menggunakan software legal, dan apabila dananya tidak mencukupi harus menggunakan open source.

Kementerian Komunikasi dan Informatika memiliki seksi khusus Teknologi dan Infrastruktur Aplikasi Informatika Pemerintahan mempunyai tugas melakukan penyiapan bahan pelaksanaan kebijakan, pemberian bimbingan teknis dan supervisi, serta pemantauan, evaluasi, dan pelaporan di bidang infrastruktur aplikasi informatika pemerintahan, serta penerapan teknologi aplikasi informatika pemerintahan dan free and open source software bagi pemerintah(Informatika, 2018).

Komunitas Open source juga muncul di banyak kampus di Indonesia, diantaranya Kambing di Universitas Indonesia (UI), Buaya di Institut Teknologi Sepuluh Nopember, Dinus Open Source Community dan Pusat Pendayagunaan Open Source Software ITB dan yang lain. Komunitas ini menyediakan Sistem Operasi yang bisa di download, Repository sistem operasi dan perangkat lunak yang bisa di download atau update serta pengembangan perangkat lunak Open Source.

E.     Bisnis Open Source Software

Open source tidak hanya berarti bebasnya akses terhadap kode sumber. FOSS juga dipergunakan dalam bisnis. Berikut ini beberapa model bisnis FOSS:

  1. Branded distributions dan Sell hardware, give away software

Sistem Operasi dan Perangkat lunak Open Source di jual bersama dengan perangkat keras. Misalkan penjualan Notebook dengan bundle Sistem Operasi Windows 10 dan bundle Ubuntu linux akan dijual berbeda. Notebook dengan sistem operasi Linux akan dijual lebih murah, hal ini menyesuaikan dengan kemampuan atau daya beli pengguna.

  1. Dual versions

Free and open-source software (FOSS) banyak yang diberikan secara gratis ketika digunakan sendiri atau skala kecil. Akan tetapi ketika FOSS digunakan untuk perusahaan atau enterprise, maka perusahaan membutuhkan dukungan konfigurasi, troubleshooting dan pendampingan yang cepat dan tepat yang diberikan Distributor. Perusahaan atau pengguna akan membayar sesuai dengan layanan yang dikehendaki.

  1. Sell sponsorships

Distributor atau vendor yang mengembangkan perangkat lunak seringkali menawarkan kepada perusahaan atau lembaga lain untuk menjadi sponsor pengembangan perangkat lunak. Distributor akan memberikan ruang(space) untuk produk tampil pada produk FOSS.

F.     Lisensi lain selain Opensource

Berikut ini beberapa lisensi lain perangkat lunak selain open source, diantaranya:

  1. Freeware

Freeware adalah suatu perangkat lunak yang dapat digunakan oleh semua orang atau pengguna tanpa membayar. Meskipun perangkat lunak didistribusikan secara gratis, pada dasarnya pembuatnya memiliki kebijakan tertentu yang disertakan ketika anda mendownload freeware tersebut. Contoh dari aplikasi freeware antara lain: Winamp, CCleaner, OpenOffice.org Writer, avira, dan opera.

  1. Shareware

Perangkat lunak yang dapat diunduh dan digunakan secara gratis. Namun penggunaannya atau pemakai memiliki batas waktu tertentu dalam penggunaanya.

Contoh dari aplikasi shareware antara lain: Winrar, IDM, corel draw, nero, real player mtuner, splitter movie, winzip, mirc.

  1. Copyright “first sale”

Lisensi menjadi pembeli, sehingga setelah dibeli maka hak milik dari perangkat lunak menjadi milik dari pembeli.

  1. Public domain

Aplikasi yang diunggah secara publik tanpa pemilik sehingga bebas untuk digunakan, dimodifikasi dan didistribusikan.