List

A.    Definisi Open Source

Istilah “open source” merupakan singkatan dari Free/Open Source Software (FOSS) atau Free/Libre/Open source Software (FLOSS). FOSS adalah merupakan jenis lisensi yang memberikan kebebasan pengguna untuk menjalankan program dengan tujuan apapun, mempelajari dan memodifikasi program, dan untuk mendistribusikan Salinan program asli atau program yang dimodifikasi tanpa harus membayar royalty kepada pengembang sebelumnya(Wheeler, 2015).

Open source berasal dari dua kata, “open” dan ‘source”. Open berarti terbuka dan Source berarti sumber daya atau dalam istilah pengembangan perangkat lunak berarti kode sumber atau program. Dengan kata lain, open source adalah sebuah program yang dikembangkan dan distribusikan dengan disertai kode sumber (source code) programnya.

Software open source adalah sebuah software yang bisa didapatkan dengan cara mengunduh dari internet. Software open source selalu disertai dengan kode sumber aplikasi. Apabila terdapat sebuah kelemahan atau kekurangan, pengguna dapat memperbaiki kelemahan–kelemahan dari software tersebut atau memodifikasi tampilan atau bahasanya. Lalu menguploadnya kembali/mempublikasikan kembali software yang sudah diperbaiki tersebut ke internet dan pada saat yang sama orang lain juga akan mendownload aplikasi software open source ini dan memperbaiki kelemahan–kelemahan yang lain. Dengan adanya perbaikan kelemahan software open source dari beberapa pengguna internet maka pengembangan metode ini di harapkan dapat meningkatkan kualitas software open source.

Terdapat beberapa keuntungan dan kerugian dari open source, keuntungannya antara lain banyak tenaga (SDM) yang berperan mengerjakan proyek, kesalahan (bugs, error) lebih cepat ditemukan dan diperbaiki, kualitas hasil lebih terjamin karena komunitas melakukan evaluasi, lebih aman, hemat biaya, tidak mengulangi development. Sedangkan untuk kekurangan dari open source antara lain kurangnya SDM yang dapat memanfaatkan open source, tidak adanya proteksi terhadap HAKI, terdapat beberapa contoh Sistem operasi yang termasuk open source adalah Linux: Ubuntu, Red Hat, Mandriva, CentOS, Fedora, Blankon, OpenSUSE, Clear OS, Open BSD dan Free BSD, Open Solaris dan Solaris, Android.

Open source dikenal dengan beberapa nama, diantaranya adalah Free software, copyleft, community software dan public software atau sebagian terutama di Eropa, menyebutnya Free/Libre/Open source Software (FLOSS). Akan tetapi istilah yang paling banyak digunakan adalah open source

 Free software berarti aplikasi dan source code dari aplikasi bebas untuk didistribusikan baik dengan diberikan secara gratis atau berbayar. Aplikasi yang didistribusikan secara “free”, sebagian besar memiliki lisensi General Public License (GPL) yang menyatakan bahwa pembuat program berlisensi GPL memberikan hak kepada siapa pun untuk menggunakan dan mengubah program tersebut dengan syarat tidak mengubah lisensinya. Turunan Software GPL akan tetap bersifat GPL.

Copyleft merupakan sebuah lisensi yang memberikan kebebasan kepada publik untuk menerima program open source, menggunakan, memodifikasi kode dan mendistribusikannya. Lisensi ini mengharuskan semua versi program yang dimodifikasi dan turunkan juga bersifat bebas(Cotton, 2016) dan (Kavanagh, 2004). Selanjutnya end user juga memiliki hak dan lisensi yang sama dalam menggunakannya. Berbeda dengan Hak cipta atau copyright, sebuah hak atau lisensi yang dilindungi hukum yang diberikan kepada individu atau lembaga untuk menentukan bagaimana karya-karya itu dapat atau tidak dapat disalin, dimodifikasi, dan didistribusikan oleh orang lain. Setiap orang yang akan menggunakan, memodifikasi dan mendistribusikan harus meminta ijin kepada pemilik program yang akan digunakan(Cotton, 2016). Jika seseorang menggunakan atau mendistribusikan program tanpa ijin dari penciptanya maka pencipta bisa melaporkan secara hukum atas pelanggaran hak cipta.

Open source sering disebut dengan Community software, hal ini disebabkan karena sebagian besar aplikasi open source dikembangkan oleh komunitas. Banyak orang yang berdedikasi dan bermotivasi tinggi saling berkolaborasi untuk mengembangkan sebuah aplikasi. Semua saling berbagi pengetahuan dan berbagi resource untuk dapat mengembangkan sebuah aplikasi yang diinginkan. Tidak semua pengembang dalam komunitas dibayar layaknya dalam pengembangan aplikasi dalam sebuah perusahaan software developer.   

Open source disebut juga dengan public software. Salah satu cara menjadikan Public software adalah membagikan program ke domain publik dengan tanpa hak cipta. Setiap orang akan mengambil, menggunakan serta dapat melakukan modifikasi baik sedikit atau banyak dan mendistribusikan hasilnya. Lisensi yang diberikan tidak memerlukan royalti atau biaya lain untuk penjualan tersebut.

Hal yang sering salah adalah, Open source identik dengan “gratis” dan kurang handal. Tidak semua aplikasi Open source distribusikan secara gratis, banyak aplikasi enterprise seperti MySQL dan Redhat yang banyak digunakan dalam bidang basis data dan server. Aplikasi-aplikasi open source tersebut mendominasi segmen software dalam bidangnya. Gambar I-1 berikut ini sebagai gambaran harga lisensi MySQL.

Gambar I‑1 harga lisensi MySQL

B.     Filosofi – Share dan Collaborate

Sebagian orang memilih aplikasi open source karena mereka memiliki hak atau otoritas untuk mengatur aplikasi yang digunakan. Pengguna dapat mempelajari dan memeriksa sehingga kode program yang digunakan sehingga tidak terdapat kode program yang melakukan penyusupan atau sesuatu yang merugikan. Sebagian pengguna memilih perangkat lunak open source karena mereka menganggap lebih aman dan stabil. Karena siapa pun dapat melihat dan memperbaiki perangkat lunak open source. Seseorang mungkin spot dan memperbaiki kesalahan atau kelalaian yang penulis asli lakukan dalam sebuah program akan terselesaikan.

Banyak pengguna dan memiliki kemampuan dalam pemrograman menggunakan dan memperbaiki perangkat lunak open source. Setiap orang dapat melihat kode program yang digunakan, mengubah, atau memodifikasi, dan mendistribusikannya lagi. Mereka bersama-sama berusaha untuk menjadikan program yang digunakan menjadi lebih baik. Karena bekerja secara kelompok atau komunitas seringkali menghasilkan hal yang lebih baik dibandingkan bekerja secara terpisah. Mereka bekerja secara mandiri atau dalam komunitas. Mereka saling berbagi pekerjaan mereka dengan orang lain, saling memberikan komentar dan kritik, saling berbagi keberhasilan maupun kegagalan mereka. Semakin banyak orang bergabung dengan komunitas, ada potensi yang lebih besar untuk mempercepat penyelesaian masalah dan mengembangkan aplikasi.

Secara konsep dalam pengembangan perangkat lunak open source mendukung pengembangan kemampuan/skill abad 21 (Critical Thinking and Problem Solving, Creativity and Innovation, Communication dan Collaboration). Selain melatih untuk kritis dan inovatif dalam pengembangan perangkat lunak, pengembang juga berlatih untuk berkomunikasi dan berkolaborasi antar pengembang.

C.    Proprietary atau Software Commercial

Proprietary software merupakan perangkat lunak yang dimiliki oleh individu atau perusahaan. Penggunaan, modifikasi dan distribusi perangkat lunak dilindungi oleh undang-undang. Aturan penggunaan suatu karya diatur dalam lisensi yang disertakan pada karya tersebut. Kebanyakan negara menerapkan automatic copyright untuk setiap karya yang dibuat, dengan kata lain ketika suatu karya tidak dijelaskan lisensinya, maka hak atas kekayaan intelektual sepenuhnya pada si pembuat sesuatu itu. Termasuk di negara Indonesia, seperti dijelaskan dalam Undang-undang No.19 Tahun 2002 tentang Hak Cipta. Copyright atau dalam bahasa Indonesia dikenal dengan istilah hak cipta, adalah hak eksklusif bagi pencipta atau penerima hak untuk mengumumkan atau memperbanyak ciptaannya atau memberikan izin untuk itu dengan tidak mengurangi pembatasan-pembatasan menurut peraturan perundang-undangan yang berlaku (Hayanto, 2016).

Untuk menggunakan software komersial, pengguna diharuskan untuk membeli lisensi dari pemilik hak cipta. Lisensi dijual dengan harga bervariasi tergantung dengan fitur yang dapat digunakan oleh pengguna. Gambar 1. Menujukkan variasi harga lisensi dari MySQL tergantung dengan fitur yang diinginkan oleh pengguna. Pengguna perangkat lunak hanya bisa menggunakan, pada akhirnya perangkat lunak tetap menjadi milik pemilik/penciptanya.

Proprietary atau Software Commercial dipublikasikan dalam bentuk executable atau binary tanpa diberikan kode sumbernya. Pengguna hanya bisa menggunakan tanpa bisa melakukun modifikasi. Sering kali distribusi perangkat lunak seperti diatas disebut dengan perangkat lunak sumber tertutup atau software closed source. Secara umum, software closed source memiliki lisensi atau hak cipta yang bertujuan untuk melindungi software tersebut dari penggunaan yang dapat merugikan pembuat atau pemilik software dan menguntungkan pihak ketiga.

Bagi seseorang atau perusahaan yang bermaksud ingin mengakses kode sumber maka dibutuhkan perjanjian khusus yang dinamakan perjanjian non-disclosure. Seperti yang dilakukan google pada tahun 2006 yang membeli youtube. YouTube merupakan website yang digunakan untuk video sharing, yang memungkinkan pemilik untuk mengupload, membagi dan melihat video. Google kemudian mengembangkan YouTube dan menggabungkannya dalam aplikasi yang Google Video. YouTube juga ditambahkan dalam aplikasi android, sebuah sistem operasi yang dikembangkan oleh google untuk ponsel pintar(smartphone). Pada tahun 2007, Google membeli Postini yang mengembangkan keamanan email dan web, serta pengarsipan onlinne. Aplikasi Postini digunakan oleh Google untuk memperkuat pengamanan dan pengarsipan di Gmail.

D.    Open source dan Closed Source

Ada beberapa perbedaan perangkat lunak Open source dan Closed Source, diantaranya:

  1. Ketersediaan kode sumber

Perangkat lunak sumber tertutup (closed source) didistribusikan dalam bentuk executable atau binary. Pengguna tidak bisa mengetahui kode sumber penyusun aplikasi yang digunakan. Sehingga pengguna tidak bisa melakukan modifikasi jika ada bagian dari aplikasi yang tidak sesuai atau terdapat bug. Sedangkan kerugian Closed Source, yaitu adanya lisensi yang mengharuskan pengguna menyediakan dana, pengembangan terbatas, diperlukan anti virus, aplikasi umumnya berbayar. Salah satu contoh sistem operasi Closed Source yaitu Microsoft Windows (Nashrullah, 2017). Sedangkan perangkat lunak Open Source didistribusikan beserta kode sumbernya. Pengguna bisa melakukan modifikasi jika terdapat bug atau kekurangan dari aplikasi yang digunakan.

  • Biaya

Ketika kita ingin mengembangkan sebuah sistem maka sebaiknya kita mempertimbangkan kemampuan internal baik SDM dan infrastruktur. Kebutuhan biaya tidak hanya untuk membeli perangkat lunak, akan tetapi juga pengadaan infrastruktur dan pelatihan SDM. Kita perlu mempertimbangkan sumber daya untuk mengimplementasikan, melatih dan support system jika terdapat ganguan.

Pengguna perangkat lunak Closed Source atau komersial diharuskan membeli lisensi untuk menggunakan aplikasi. Harga lisensi sesuai dengan fitur dan kompleksitas perangkat lunak yang digunakan seperti sudah dijelaskan diatas. Walaupun harga Proprietary atau Software Commercial bisa lebih tinggi, kita bisa mendapatkan adalah produk yang lebih baik, dukungan penuh, fungsionalitas, dan inovasi.

Sedangkan perangkat lunak Open Source tidak semuanya ‘free’ atau gratis. Untuk penggunaan pribadi banyak yang diberikan secara ‘free’. Akan tetapi untuk kebutuhan skala perusahaan, pengguna perangkat lunak Open source diharuskan membeli. Besarnya biaya bervariasi antara beberapa ribu hingga beberapa ratus ribu dolar tergantung pada kompleksitas sistem. Biaya digunakan untuk dukungan dalam konfigurasi perangkat lunak, integrasi dan layanan, serta biaya lisensi / dukungan tahunan.

  • Layanan

Dukungan perangkat lunak open source bergantung pada dukungan dari komunitas pengguna online. Dukungan bisa kita dapatkan melalui forum dan blog. Akan tetapi dukungan ini sering gagal memberikan respons yang cepat seperti yang diharapkan oleh konsumen. Lambatnya respon dari pengguna bisa jadi tidak adanya insentif bagi anggota komunitas yang membantu mengatasi masalah pengguna. Berbeda dengan perangkat lunak Proprietary atau Software Commercial yang memberikan layanan yang cepat tergantuk dengan jenis servis yang dibeli oleh pengguna. Layanan dan dukungan merupakan bagian dari bisnis dari menggunakan perangkat lunak Proprietary. Salah satu alasan dari pengguna perangkat lunak Proprietary atau Software Commercial adalah cepatnya respon atas masalah yang dihadapi ketika ada keluhan. Dan bisa jadi rendahnya SDM untuk menyelesaikan masalah yang muncul karena kesalahan perangkat lunak.

  • Inovasi

Perangkat lunak open source memberikan fleksibilitas dan kebebasan untuk mengubah perangkat lunak tanpa batasan. Akan tetapi tidak semua inovasi yang dikembangkan akan dapat diterima oleh anggota komunitas. Perubahan dan inovasi akan diperdebatkan apakah perubahan yang dilakukan akan mendapatkan support di masa mendatang. Tidak semua pengembang perangkat lunak open source sukses dalam pengembangan berskala besar.

Sedangkan perangkat lunak Proprietary atau Software Commercial dapat bebas mengembangkan sesuai dengan road map yang dimiliki vendor. Tentu saja pengembangan akan melihat kebutuhan atau segmen pasar. Kesalahan dalam menentukan arah pengembangan atau inovasi maka aplikasi akan ditinggalkan oleh pengguna. Sedangkan keberhasilan dalam inovasi maka akan menguntungkan perusahaan.

  • Usability

Usability atau kemudahan penggunaan aplikasi. Salah satu kelemahan dari perangkat lunak Open source adalah rendahnya usability dari sistem yang dikembangkan. Banyak aplikasi Open source yang di publish dengan minim masukan dari usability experts. Minimnya panduan untuk pengguna sering diabaikan atau tidak lengkap. Sehingga pengguna sering kali mengalami kesulitan dalam menggunakan perangkat lunak yang dikembangkan.

Bisnis perangkat lunak komersial sangat tergantung pada fungsi, performa, kehandalan perangkat lunak. Perangkat lunak Proprietary atau Software Commercial berusaha untuk mempertimbangkan aspek Usability. Karena kemudahan dan kenyamanan pengguna menjadi bagian dari keberhasilan pengembangan aplikasi. Setiap sistem yang dikembangkan akan melalui uji usability secara bertingkat. Selain usability, pemilik atau vendor berusaha untuk menjamin kestabilan sistem. Vendor juga memberikan jaminan adanya dukungan customer servise, dan layanan perbaikan. Vendor juga berusaha menyediakan tutorial yang lengkap baik dalam versi cetak dan video serta link referensi atau pelatihan cepat.

  • Keamanan

Keamanan sistem baik sistem operasi maupun aplikasi menjadi perhatian penting bagi pengguna perangkat lunak. Pemilihan perangkat lunak tergantung pada keahlian IT dan sumber daya yang tersedia untuk memelihara dan memperbarui perangkat lunak. Pemilihan penggunaan perangkat lunak Open vs Closed Source menjadi perdebatan. Sebagian berpendapat bahwa kode perangkat lunak Open Source dapat dilihat, dibagikan, dan dimodifikasi oleh komunitas, yang berarti siapa pun dapat memperbaiki, meningkatkan, dan menguji kode yang rusak. Bug diperbaiki dengan cepat, dan kode diperiksa secara menyeluruh setelah setiap rilis. Namun, karena tersedia secara publik, maka kode sumber bisa digunakan oleh peretas untuk merusak, atau mengambil data sistem yang digunakan. Seseorang programmer dapat menanamkan Trojan backdoor ke dalam perangkat lunak tanpa ditinjau atau divalidasi oleh komunitas.

Sebaliknya, perangkat lunak sumber tertutup (proprietary) kode program dimiliki oleh vendor dan hanya dapat diperbaiki oleh vendor. Perangkat lunak proprietary umumnya dianggap lebih aman karena dikembangkan oleh pengembang vendor. Tim ini adalah satu-satunya grup yang dapat melihat atau mengedit kode sumber, divalidasi secara berulang untuk mencegah risiko Trojan atau bug backdoor.

E.     Open source Not Free

Dalam Istilah FOSS atau Free Open source Software yang mana istilah free diartikan dengan gratis atau tidak berbayar. Banyak aplikasi yang didistribusikan secara gratis, akan tetapi banyak perangkat lunak Open source yang digunakan secara enterprise atau untuk skala besar. Aplikasi untuk sekala besar membutuhkan sistem yang komplek, penyesuaian sistem sesuai dengan perusahaan, dukungan teknis dan keberlanjutan sistem. Untuk itu, pengembang perangkat lunak Open Source akan membebankan biaya.

Red hat Enterprise adalah sistem operasi Open source yang dikembangkan oleh Redhat, Inc. Redhat, Inc mengembangkan banyak varian sistem operasi dengan fitur yang berbeda sesuai dengan kebutuhan pengguna. Beberapa produk redhat bisa dilihat pada Gambar I-2.

Gambar I‑2 Produk Redhat, Inc

F.     Jenis Lisensi Open source

Meskipun kode sumbernya terbuka dan memungkinkan untuk dimodifikasi, tetap ada batasan-batasan yang ditentukan oleh si pemilik/pembuat sesuai dengan lisensi yang digunakan. Pada dasarnya di dalam lisensi diatur apa saja yang boleh dilakukan, yang tidak boleh dilakukan dan yang harus dilakukan oleh pengguna pada perangkat lunak. Oleh karena itu ada baiknya mengetahui beberapa jenis lisensi untuk Open source software yang umum digunakan

Ada beberapa jenis lisensi yang digunakan oleh perangkat lunak Open source, diantaranya:

  1. Lisensi MIT

Lisensi MIT menduduki peringkat 1 dalam penggunaan lisensi perangkat lunak Open Source atau sekitar 38%(Anonymous, 2015). Lisensi MIT memberikan ijin kepada siapa pun yang mendapatkan salinan perangkat lunak dan dokumentasi perangkat lunak, untuk menggunakan, menyalin, memodifikasi, menggabungkan, mempublikasikan, mendistribusikan, dan / atau menjual salinan perangkat lunak.

Lisensi MIT mengharuskan seseorang atau institusi yang melakukan modifikasi, perubahan aplikasi Open source untuk mencantumkan kode bahwa aplikasi yang disalin menggunakan lisensi MIT. Lisensi MIT tidak mengharuskan turunan produk yang dikembangkan harus Open source. Oleh karena itu, sebagian berpendapat bahwa penggunaan lisensi MIT dapat mengarah pada privatisasi perangkat lunak.

  • Lisensi GPL

GNU General Public License atau sering disebut dengan GPL adalah sebuah lisensi yang menyatakan bahwa sebuah karya intelektual bebas dipakai, disalin, diedarkan, bahkan dikembangkan oleh siapapun tanpa harus membayar atau ijin terlebih dulu. Lisensi GPL memastikan bahwa aplikasi, program atau sistem operasi yang dikembangkan dengan lisensi GPL akan memiliki lisensi yang sama yaitu GPL.

Lisensi GPL pertama kali dibuat oleh Richard Stallman untuk pengembangan proyek-proyek di bawah bendera GNU. Menurut survey yang dilakukan oleh (Anonymous, 2015), lisensi GPL versi 2 menduduki peringkat 2 dan digunakan oleh 14% perangkat Open source. Sedangkan GPL versi 3 dirilis pada tanggal 27 Juni 2007, digunakan oleh 6% perangkat lunak Open source.

  • Apache License 2.0

Lisensi Apache versi 2 digunakan oleh 13% perangkat lunak Open source(Anonymous, 2015). Lisensi Apache memiliki filosofi yang mirip dengan Lisensi yang dibuat MIT, akan tetapi Lisensi MIT lebih detail antara lain membahas tentang kewajiban kontributor hingga dapat membantu dalam sengketa. Lisensi MIT baik digunakan untuk organisasi atau proyek yang lebih besar dan mengelola lebih banyak kontributor. Lisensi MIT lebih peduli tentang paten perangkat lunak.

  • Lisensi Berkeley Software Distribution (BSD)

Lisensi Berkeley Software Distribution (BSD) digunakan hampir 5% perangkat lunak Open source(Anonymous, 2015). Lisensi BSD mengharuskan semua turunan produk yang dilisensikan di bawah lisensi BSD jika didistribusikan ulang harus menyertakan salinan dari lisensi. Lisensi ini memberikan kebebasan sebebas-bebasnya pada pengguna untuk melakukan apapun pada kode selama tetap menyertakan lisensi dan copyright.