MODUL PERKULIAHAN Aplikasi Komputer Open Source Fakultas Program Studi FASILKOM Sistem Informasi Tatap Muka 11 Kode MK Disusun Oleh MK10230 Wawan Kurniawan S.Kom. Abstract Kompetensi Modul Ini membahas seputar dunia software open source Mahsiswa mengetahui informasi seputar software berbasis open source Open Source Source code adalah kode sumber dari sebuah software (perangkat lunak), baik itu berupa kode-kode bahasa pemrograman maupun dokumentasi dari software tersebut. Gagasan source code dimulai dengan adanya pemikiran dari para programmer untuk mempublikasikan kode-kode sumber dari program yang dibuat. Tetapi pada prakteknya open source itu bukan hanya berarti memberikan akses pada pihak luar terhadap source code sebuah software secara cuma-cuma, melainkan lebih dari itu. Ada banyak hal yang perlu dipenuhi agar sebuah software dapat disebut didistribusikan secara open source atau dengan kata lain bersifat open source. Sebuah organisasi yang bernama Open Source Organization, mendefinisikan pendistribusian software yang bersifat open source dalam The Open Source Definition. The Open Source Definition ini bukanlah sebuah lisensi, melainkan suatu set kondisi-kondisi yang harus dipenuhi, agar sebuah lisensi dapat disebut bersifat open source. Kondisi-kondisi yang harus dipenuhi agar suatu program dapat berlisensi open source : 1. Pendistribusian ulang secara cuma-Cuma. Contohnya Linux yang dapat diperoleh secara cuma-cuma 2. Source code dari software tersebut harus disertakan atau diletakkan di tempat yang dapat diakses dengan biaya yang rasional dengan catatan tidak ada source code yang menyesatkan. 3. Software hasil modifikasi atau yang diturunkan dari software berlisensi source code, harus diijinkan untuk didistribusikan dengan lisensi yang sama seperti software asalnya 4. Untuk menjaga integritas source code milik penulis software asal, lisensi software tersebut dapat melarang pendistribusian source code yang termodifikasi, dengan syarat, lisensi itu mengijinkan pendistribusian file-file patch (potongan file untuk memodifikasi sebuah source code) yang bertujuan memodifikasi program tersebut dengan source code asal tersebut. 5. Lisensi itu secara eksplisit harus memperbolehkan pendistribusian software yang dibuat dari source code yang telah dimodifikasi. Lisensi source code mengijinkan versi yang berbeda dari software asal. 6. Lisensi tersebut tidak diperbolehkan menciptakan diskriminasi terhadap orang secara individu atau kelompok. ‘13 2 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id 7. Lisensi tersebut tidak boleh membatasi seseorang dari menggunakan program itu dalam suatu bidang pemberdayaan tertentu. Sebagai contoh, tidak ada pembatasan untuk penggunaan program tersebut pada bidang bisnis, ataupun untuk pemanfaatan dalam bidang riset genetik. 8. Hak-hak yang dicantumkan pada program tersebut harus dapat diterapkan pada semua yang menerima tanpa perlu dikeluarkannya lisensi tambahan oleh pihak-pihak tersebut. Lisensi tersebut tidak diperbolehkan bersifat spesifik terhadap suatu produk. Hak-hak yang tercantum pada suatu program harus memiliki hak yang sama seperti yang diberikan pada pendistribusian software asal. 9. Lisensi tersebut tidak diperbolehkan membatasi software lain. Sebagai contoh, lisensi itu tidak boleh memaksakan bahwa program lain yang didistribusikan pada media yang sama harus bersifat open source atau sebuah software compiler yang bersifat open source tidak boleh melarang produk software yang dihasilkan dengan compiler tersebut untuk didistribusikan kembali. Lisensi-lisensi yang telah disertifikasi oleh Open Source Organization ini antara lain GNU General Public License (GPL) (juga dikenal sebagai “Copyleft”), GNU Library General Public License (LGPL), dan Sun Public License. GNU GPL dan GNU LGPL adalah lisensi yang dibuat oleh The Free Software Foundation. Lisensi ini pula yang digunakan oleh software Linux pada umumnya. Kata “free” dalam lisensi ini merujuk pada hal "kebebasan", bukan pada hal “uang”. Dengan kata lain, “free” dalam hal ini berarti “bebas” bukan “gratis”, seperti yang tertulis dalam pembukaan lisensi tersebut diatas. Berikut adalah cuplikan dari pembukaan GNU GPL yang dapat dikatakan merupakan rangkuman dari keseluruhan lisensi tersebut. “ Ketika kita berbicara tentang perangkat lunak bebas, kita mengacu kepada kebebasan, bukan harga. Lisensi Publik Umum kami dirancang untuk menjamin bahwa Anda memiliki kebebasan untuk mendistribusikan salinan dari perangkat lunak bebas (dan memberi harga untuk jasa tersebut jika Anda mau), mendapatkan source code atau bisa mendapatkannya jika Anda mau, mengubah suatu perangkat lunak atau menggunakan bagian dari perangkat lunak tersebut dalam suatu program baru yang juga bebas, dan mengetahui bahwa Anda dapat melakukan semua hal ini.” ‘13 3 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id KEHEBATAN OPEN SOURCE Ketika suatu program memiliki lisensi open source, maka para programmer dari penjuru dunia dapat berpartisipasi dalam pembuatan software tersebut. Oleh karenanya pengembang software asal memperoleh engineer-engineer yang berkualitas untuk membangun software tersebut secara gratis. Perkembangan teknis dari versi software dengan open source dan pengguna software dengan lisensi open source bergantung pada keberhasilan pengembang awal untuk menarik minat para programmer dan pengguna di seluruh dunia untuk menggunakan software tersebut dan mengembangkan pasarnya. Nilai bisnis software dengan open source diciptakan oleh para pengguna software tersebut lewat perkembangan versi-versinya dan pangsa pasarnya. Contoh proyek-proyek open source yang sukses saat ini adalah Apache, Tomcat, Java, Sylpheed, dll. Software-software yang berlisensi open source ini sukses merajai dunia aplikasi web. OPEN SOURCE BUSINESS MODEL Perusahaan yang menjual program dengan lisensi open source ini tidak menjual software-software yang dicopyright secara biasa, pendapatan perusahaan tersebut diperoleh dari penjualan versi yang lebih mudah diinstall dan digunakan (versi ini juga bisa diperoleh secara gratis), dan menyertakan support terhadap pembeli. Sebagi contoh vendor Linux seperti RedHat, Caldera, SuSe atau Corel. Karena menggunakan source code yang gratis, vendor-vendor ini tidak memerlukan biaya besar untuk pembuatan software. Mereka hanya mencurahkan perhatiannya untuk menjual jasa support. Mulai dari support terhadap instalasi, manual penggunaan, hingga paket-paket pelayanan terhadap customer agar pelanggan yang berupa individu atau pun perusahaan dapat memperoleh support yang sesuai dengan kebutuhan mereka 24/7 (24 jam 7 hari seminggu). Ada pula beberapa vendor yang juga menawarkan customization terhadap pelayanannya. Selain itu ada vendor seperti RedHat dan Sun (vendor dari Java) yang mengembangkan bisnisnya dengan mengadakan pelatihan-pelatihan dan ujian-ujian untuk memperoleh sertifikat yang mensertifikasikan bahwa seseorang mempunyai skill (kemampuan) yang memenuhi standar untuk menggunakan teknologi mereka. ‘13 4 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id MASA DEPAN DARI BISNIS OPEN SOURCE Bisnis open source bertopang pada asumsi bahwa skill pengguna software mereka tidak akan pernah mencapai level yang membuat mereka mampu menginstalasi dan menggunakan software mereka tanpa ada support sama sekali dari pengembang. Kendati demikian, beberapa perusahaan telah mengantisipasi jika pengguna mampu mencapai skill tersebut dengan strategi menggabungkan open dan closed source (konvensional) software dalam satu paket software yang didistribusikannya. Contohnya adalah Corel, selain mendistribusikan paket Linux yang gratis, Corel juga mendistribusikan paket yang telah diberi penambahan berupa softwaresoftware yang tidak bersifat open source. Pelanggan-pelanggan diharapkan akan membeli paket software yang telah ditingkatkan ini dan diharapkan akan datang kembali untuk memperoleh upgrade dan feature-feature terbaru. Hal lain yang perlu diperhatikan dalam bisnis model open source adalah, meskipun berdasarkan lisensi open source, perusahaan tidak memberikan garansi pada softwarenya. Hal ini tidak berarti perusahaan tersebut terlepas dari ikatan apapun terhadap konsumen, perusahaan tetap memiliki hubungan pelanggannya lewat support yangdiberikan, sehingga secara hukum perdata tetap terjadi suatu kontrak perjanjian antara perusahaan dengan konsumen. Sejarah Linux Operating System dengan open source yang terkenal adalah linux. Linux adalah sistem operasi gratis bertipe Unix yang awalnya dibuat oleh Linuz Torvalds sebagai proyek hobi oleh pelajar universitas Finland yang belajar di Universitas Helsinki untuk membuat kernel Minix yang gratis dan dapat diedit (Minix adalah projek pelajaran menyerupai UNIX dibuat untuk mudah digunakan dan bukannya untuk digunakan secara komersial). Sejarah sistem operasi Linux berkaitan erat dengan proyek GNU, proyek program bebas ”freeware” terkenal diketuai oleh Richard Stallman. Proyek GNU diawali pada tahun 1983 untuk membuat sistem operasi seperti Unix lengkap kompiler, utiliti aplikasi, utiliti pembuatan dan seterusnya diciptakan sepenuhnya dengan perangkat lunak bebas. Pada tahun 1991, pada saat versi pertama kerangka Linux ditulis, proyek GNU telah menghasilkan hampir semua komponen sistem ini kecuali kernel. Torvalds dan pembuat kernel seperti Linux menyesuaikan kernel mereka supaya dapat ‘13 5 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem operasi yang cukup berfungsi. Oleh karena itu, Linux melengkapi ruang terakhir dalam rancangan GNU. Seiring perkembangannya, LINUX mengandalkan bantuan dari pengembang software sedunia. Linux adalah implementasi POSIX secara mandiri dan termasuk multitasking secara nyata, virtual memori, shared library, demand loading, dan penanganan memori yang baik, jaringan TCP/IP, dan penampilan lain yang konsisten dengan system Unix. Dibangun dengan lisensi GNU General Public License, sehingga kode sumber untuk Linux tersedia secara bebas untuk semua orang. Simbol LINUX adalah pinguin Tux yang merupakan hasil karya seniman Larry Ewing pada waktu para pengembang merasa bahwa Linux sudah memerlukan sebuah logo (1996), dan nama yang terpilih adalah dari usulan James Hughes yaitu "(T)orvalds (U)ni(X) -- TUX". Komponen Sistem Linux Sistem Linux terdiri dari tiga bagian kode penting: 1. Kernel: Bertanggung jawab memelihara semua abstraksi penting dari sistem operasi, termasuk hal seperti proses- proses dan memori virtual. 2. Perpustakaan sistem: menentukan kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan kernel, dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel. 3. Utilitas Sistem: adalah program yang melakukan pekerjaan manajemen secara individu dan khusus. 10 ALASAN LINUX ADALAH SISTEM OPERASI TERBAIK 1. Linux gratis. Linux 100% gratis. Pengkopian dan penggunaan aplikasi linux legal. Linux bahkan dapat diambil lewat internet secara gratis. 2. Linux siap pakai. Sistem operasi lain memberikan aplikasi awal yang sangat sedikit, mungkin editor teks, aplikasi grafis sederhana dan beberapa permainan dan pengguna harus membeli aplikasi-aplikasi tambahan lainnya. Linux memberikan hampir semua yang pengguna butuhkan dan inginkan, antara lain: variasi editor teks, aplikasi grafis kompleks, browser, permainan, aplikasi kantor, aplikasi network, kompiler, video, audio dan masih banyak lagi dalam satu paket distribusi. ‘13 6 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id 3. Linux mudah diinstal. Instalasi LINUX saat ini sudah mudah, sesuaikan spesifikasi hardware yang diperlukan. 4. Linux multitasking. Linux dapat menjalankan beberapa aplikasi dalam waktu yang sama dan masing-masing aplikasi juga dapat melakukan beberapa pekerjaan dalam waktu yang sama (multithreading). 5. Linux multiuser. Lebih dari satu pengguna dapat memakai Linux pada saat yang bersamaan dan hal ini tentunya dilakukan dalam lingkungan jaringan komputer. 6. Linux handal. Linux dapat menangani situs web yang mendapat akses jutaan per hari. Dengan tambahan peralatan Linux dapat berkompetisi dengan superkomputer berharga jutaan dolar. 7. Linux fleksibel. Linux dapat dioerasikan pada computer dengan spesifikasi minimal. LINUX mampu mendukung pengguna dengan komputer 486 dan memori 16MB, Linux juga dapat berjalan dengan harddisk 50 MB tanpa grafis bahkan untuk sekedar perawatan Linux dapat berjalan dengan hanya satu disket saja. 8. Linux kompatibel. Linux dapat dijalankan di berbagai jenis komputer seperti 386/486/Pentium PC, Macintosh dan PowerPC bahkan komputer Alpha dan SPARC. Linux juga mampu menangani multi prosesor dan mampu menangangi hampir semua kartu audio dan video. Linux dapat diinstalasi di harddisk berisi Windows/DOS selama masih ada ruang sisa) dan tidak mempengaruhi kinerja keduanya. Linux punya tampilan grafis. 9. Linux aman. Selain fakta keuntungan keamanan jaringannya, Linux juga aman untuk pengunaan rumahan. Hanya dengan beberapa persiapan sekuriti dan sistem rumahan akan aman terhadap virus, lagipula virus tidak dapat mengganggu banyak pada komputer Linux. 10. Linux bebas. Tidak seperti sistem operasi pada umumnya, Linux adalah aplikasi gratis yang disebarkan dengan kode pembuatannya. Kelebihan linux Beberapa kelebihan menggunakan program dengan basis Linux/UNIX : Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket. Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses. ‘13 7 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file. Linux/UNIX mendukung struktur file yang bersifat hirarki. Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan. Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem. Linux bisa berinteraksi dengan operating system lain dengan cara : kompabilitas file system, (NFS untuk file system turunan Unix) kompabilitas network, (samba untuk koneksi ke file system windows) dan emulasi (simulasi) operating system. Virtual memory membuat linux mempunyai kemampuan untuk menjalankan program - program yang lebih dari seharusnya karena penggunaan swap memori. Kekurangan Linux di masa lalu Awalnya OS Linux yang agak sulit untuk dipelajari. Aplikasi yang tersedia belum sebanyak windows. OS Linux versi lama tidak sepenuhnya GUI (Graphical User Interface) meskipun sudah menggunakan X-windows seperti GNOME dan KDE. Nama-nama paket program antara distro satu dengan distro lainnya berbeda beda. Seperti paket Yaz.tar.gz.rpm.krpm.deb dan lain -lain. Perangkat Lunak Berpemilik Perangkat lunak berpemilik ialah perangkat lunak yang tidak bebas atau pun semi-bebas. Seseorang dapat dilarang, atau harus meminta izin, atau akan dikenakan pembatasan lainnya sehingga menyulitkan jika menggunakan, mengedarkan, atau memodifikasinya. Free Software Foundation mengikuti aturan bahwa seseorang tidak dapat memasang programprogram berpemilik di komputernya kecuali untuk sementara waktu dengan maksud menulis ‘13 8 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id pengganti bebas untuk program tersebut. Disamping itu, pihak perangkat lunak bebas merasa tidak ada alasan untuk memasang sebuah program berpemilik. Freeware Istilah ``freeware'' tidak terdefinisi dengan jelas, tapi biasanya digunakan untuk paket-paket yang mengizinkan redistribusi tetapi bukan pemodifikasian (dan kode programnya tidak tersedia). Shareware Shareware ialah perangkat lunak yang mengizinkan orang-orang untuk meredistribusikan salinannya, tetapi mereka yang terus menggunakannya diminta untuk membayar biaya lisensi. Shareware bukan perangkat lunak bebas atau pun semi-bebas. Ada dua alasan untuk hal ini, yakni: Sebagian besar shareware, kode programnya tidak tersedia, oleh karenanya pengguna tidak dapat memodifikasi program tersebut sama sekali. Shareware tidak mengizinkan seseorang untuk membuat salinan dan memasangnya tanpa membayar biaya lisensi, tidak juga untuk orang-orang yang terlibat dalam kegiatan nirlaba (Dalam prakteknya, orang-orang sering tidak mempedulikan perjanjian distribusi dan tetap melakukan hal tersebut, tapi sebenarnya perjanjian tidak mengizinkannya). ‘13 9 Aplikasi Komputer Wawan Kurniawan S.Kom Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id