Minggu, 08 April 2001

1). Apa yang dimaksud dengan software?

Software adalah perangkat lunak, merupakan kumpulan beberapa perintah yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya. Perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya.Merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengolahan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer.

2). Apa yang dimaksud software engineering?

Software engineering didefinisikan oleh Fritz Bauer sebagai: penerapan dan penggunaan prinsip-prinsip engineering yang baik dalam rangka menghasilkan software yang ekonomis, reliable, dan bekerja secara efisien pada komputer sungguhan. Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.Sementara itu IEEE mendefinisikan software engineering sebagai: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches in (1).

3). Apa saja komponen-komponen pada software ?

Software component

A software component is a system element offering a predefined service or event, and able to communicate with other components. Clemens Szyperski and David Messerschmitt give the following five criteria for what a software component shall be to fulfill the definition:

  • Multiple-use

  • Non-context-specific

  • Composable with other components

  • Encapsulated i.e., non-investigable through its interfaces

  • A unit of independent deployment and versioning

A simpler definition can be: A component is an object written to a specification. It does not matter what the specification is: COM, Java Beans, etc., as long as the object adheres to the specification. It is only by adhering to the specification that the object becomes a component and gains features like reusability and so forth.

Software components often take the form of objects or collections of objects (from object-oriented programming), in some binary or textual form, adhering to some interface description language (IDL) so that the component may exist autonomously from other components in a computer.

When a component is to be accessed or shared across execution contexts or network links, some form of serialization (also known as marshalling) is employed to turn the component or one of its interfaces into a bitstream.

Reusability is an important characteristics of a high quality software component. A software component should be designed and implemented so that it can be reused in many different programs.

In the 1960s, we built scientific subroutine libraries that were reusable in a broad array of engineering and scientific applications. Though these subroutine libraries reused well-defined algorithms in an effective manner, they had a limited domain of application. Today, modern reusable components encapsulate both data and processing that is applied to the data. This enables a software engineer to create new applications from reusable parts. For example - today’s interactive interfaces are built using reusable components, that enable the creation of graphic windows, pull down menus and a wide variety of interaction construction.

Software components are built using a programming language that has a limited vocabulary, an explicit defined grammar and well defined rules of syntax and semantics. At the lowest level, the language mirrors the instruction set of the hardware. At the mid level, a programming language such as C or smalltalk is used to create a procedural description of the program. And at the highest level, the language uses graphical icons or other symbology to represent the requirement for a solution. Here executable instructions are automatically generated.

When a good software developer produces a maintainable, well documented program, machine level language can make extremely efficient use of memory and “optimize” program execution speed. But mid level language allow software developer and the program to be machine independent. These are procedural languages. In non procedural language, a program by specifying the desired result is required to achieve the result. Support software translates the specification results into a machine executable code.

It builds on prior theories of software objects, software architectures, software frameworks and software design patterns, and the extensive theory of object-oriented programming and the object oriented design of all these. It claims that software components, like the idea of hardware components, used for example in telecommunications, can ultimately be made interchangeable and reliable.

4). Aktifitas-aktifitas pengembangan software dimulai dari apa?

Pengembangan Software Berbasiskan Open Source di Indonesia

Abstract:

Pengembangan software berbasiskan open source, saat ini telah menjadi suatu fenomena tersendiri. Model ini telah berkembang sejak awal mula perkembangan teknologi komputer, namun kini telah menjadi semakin populer terutama berkat pemakaian Internet di berbagai bidang. Banyak software-software yang mendukung Internet merupakan software open source. Gema open source pun telah sampai hingga Indonesia, terbukti dengan mulai munculnya proyek-proyek yang bersifat open source, berkisar dari proyek pengembangan software hingga pembuatan dokumentasi. Perkembangan ini tentu saja sangat membanggakan. Namun demikian pengembangan software berbasiskan open source di Indonesia masih memiliki banyak hambatan yang sewaktu-waktu dapat mengancam kelangsungannya, oleh karena itu diperlukan langkah-langkah yang dilakukan oleh berbagai pihak untuk mengatasinya.

PENDAHULUAN

Saat ini open source telah menjadi suatu tren dan berita besar di berbagai media massa. Berbagai perusahaan perangkat lunak besar, seperti IBM, Oracle, Sun, pun berbondong-bondong mengumumkan bahwa produk-produk yang dihasilkannya adalah produk open source. Namun demikian apakah sebenarnya open source tersebut.

Gerakan Open Source mendefinisikan bahwa open source tidak hanya sekedar kemudahan akses pada kode sumber, namun suatu software dapat disebut open source bila distribusinya memenuhi kriteria-kriteria berikut initypeset@protect @@footnote SF@gobble@opt http://www.opensource.org :

  • Free redistribution. Lisensi software tersebut tidak boleh membatasi suatu pihak untuk menjual atau memberikan software, baik software yang berdiri sendiri maupun software yang menjadi komponen software lain.

  • Kode sumber. Program harus menyertakan kode sumber dan harus memungkinkan pendistribusian dalam bentuk kode sumber maupun terkompilasi.

  • Derived works. Lisensi harus memungkinkan modifikasi dan pekerjaan turunan, serta harus memungkinkan mereka didistribusikan berdasarkan syarat-syarat yang sama dengan yang ada pada lisensi software awal.

  • Integritas kode sumber. Lisensi dapat membatasi distribusi kode sumber dalam bentuk termodifikasi hanya jika lisensi memungkinkan distribusi patch filestypeset@protect @@footnote SF@gobble@opt Patch file adalah perbaikan-perbaikan kode sumber yang didistribusikan untuk memperbaiki software yang telah didistribusikan dahulu. Patch file ini biasanya tidak berukuran besar. Dengan adanya patch file maka seseorang tidak perlu mengambil ulang seluruh software sehingga menghemat waktu download. serta kode sumber demi pemodifikasian program pada saat kompilasi. Lisensi harus secara eksplisit mengijinkan distribusi software yang dibangun dari kode sumber termodifikasi. Derived works harus mengenakan nomor versi atau nama yang berbeda dari software aslinya.

  • Tidak ada diskriminasi terhadap orang atau kelompok.

  • Tidak ada diskriminasi terhadap fields of endeavor. Lisensi tidak boleh membatasi seseorang menggunakan program dalam bidang tertentu.

  • Distribusi lisensi. Hak-hak yang ada dalam program harus berlaku pula bagi tiap pihak yang menerima program, tanpa memerlukan lisensi tambahan.

  • Lisensi tidak boleh spesifik terhadap suatu produk.

  • Lisensi tidak boleh mempengaruhi software lain. Lisensi tidak boleh membatasi software-software yang didistribusikan beserta software terlisensi open source.

Mengapa Open Source ?

Software-software yang didistribusikan secara open source memiliki keunggulan-keunggulan utama sebagai berikut dibandingkan dengan software-software yang didistribusikan secara closed source [Ope01] :

  • Meningkatnya reliabilitas. Oleh karena kode sumber untuk program-program open source tersedia secara bebas maka program yang dibuat oleh seseorang ataupun sesuatu organisasi akan mendapatkan review dari rekan-rekannya ataupun pihak-pihak lain. Hal ini mengakibatkan program-program open source mempunyai reliabilitas yang lebih tinggi dibandingkan dengan program-program closed source (proprietary). Reliabilitas yang tinggi ini tentu saja menguntungkan bagi pihak customer karena ia dapat memperoleh program-program yang dapat diandalkan dalam melakukan tugas-tugas yang diberikan kepadanya.

  • Meningkatnya keamanan. Selain itu dengan tersedianya kode sumber maka segala kesalahan yang terdapat dalam program, misalnya kesalahan logika ataupun kesalahan pengkodean, dapat segera diperbaiki tanpa perlu menunggu waktu yang lama, karena seseorang yang menemukan kesalahan tersebut dapat saja segera memperbaikinya dan mengirimkan perbaikan tersebut ke Internet atau bila ia tidak mampu memperbaikinya ia dapat memberitahu pihak-pihak lain. Sebagai contoh, suatu kesalahan dalam Linux umumnya segera diperbaiki dalam kurun waktu kurang dari satu hari, bahkan dalam beberapa jam sejak dikeluarkan. Namun demikian, software yang didistribusikan secara open source tidak menjamin bahwa software tersebut aman.

  • Selain itu dengan tersedianya kode sumber maka customer akan merasa lebih nyaman, lebih yakin karena ia tidak membeli kucing dalam karung. Bagaimanakah perasaan Anda bila mobil yang Anda beli tidak dapat dilihat mesinnya ataupun bagian-bagian dalam lainnya ?

Mengapa Membuat Software Open Source ?

Berikut ini adalah beberapa alasan orang membuat software open source :

  • Kebutuhan. Software-software open source biasanya dikembangkan karena kebutuhan si pembuatnya. Dalam papernya yang berjudul “The Cathedral and the Bazaar” [Eri00], Eric S. Raymond, menjelaskan secara rinci bagaimana ia mengembangkan software fetchmail, yang disebabkan oleh tiadanya software yang sesuai dengan kebutuhannya. Pengembangan fetchmail juga dimaksudkan untuk menguji beberapa buah teori dalam rekayasa perangkat lunak yang didasarkan pada pengamatannya terhadap Linux.

  • Kepuasan. Banyak programer mengembangkan software karena mereka mencintainya dan hal tersebut merupakan pengungkapan intelektualitas mereka. Tanpa melakukan pengkodean, programer merasa dirinya tidak lengkap sebagai manusia.

  • Popularitas. Tidak dapat dipungkiri lagi bahwa beberapa orang membuat software open source demi popularitas. Dengan makin banyaknya software yang ditulisnya maka seseorang akan merasa lebih dihargai oleh sejawatnya.

  • Uang. Dengan menulis software-software open source maka seseorang dapat meningkatkan nilai dirinya bila nanti direkrut oleh perusahaan-perusahaan. Selain itu, bila software yang dikembangkannya banyak dibutuhkan oleh perusahaan-perusahaan, pembuat software tersebut dapat saja mendirikan sebuah perusahaan untuk memberikan pelayanan bagi perusahaan. Contoh hal ini adalah Eric Allman yang mendirikan perusahaan Sendmail Inc. untuk memberikan pelayanan tambahan bagi mereka yang menggunakan Sendmail.

Contoh Perangkat Lunak Berbasiskan Open Source

Secara langsung maupun tidak, setiap orang yang menggunakan Internet sebenarnya telah menggunakan program-program open source. Hampir seluruh fungsi-fungsi utama Internet menggunakan program-program open source.

Berikut ini adalah beberapa contoh software open source :

  • Sendmail. Sejumlah dua juta salinan sendmail telah diinstalasi di seluruh dunia yang merupakan lebih dari 75 % seluruh Internet mail servertypeset@protect @@footnote SF@gobble@opt http://www.sendmail.com .

  • DNS dan BIND, tools Domain Name Server, yang menerjemahkan permintaan request berupa domain name menjadi alamat IP, menguasai 100% pangsa pasar menurut Gartner Grouptypeset@protect @@footnote SF@gobble@opt http://www.zdnet.com/zdnn/stories/news/0,4586,2560523,00.html .

  • Software-software GNU. Sebagian besar program-program open source berasal dari proyek GNU, contohnya kompiler GCC, editor Emacs, dan masih banyak lagi.

  • Linux. Web server berbasiskan Linux merupakan pemimpin pasar untuk web server bagi web site publik dengan pangsa pasar 31% menurut studi Netcraft. Apache merupakan program webserver untuk menangani lalu lintas web pada suatu server. Sebuah survei Netcraft pada bulan April 2001 memperkirakan bahwa lebih dari 62% web server merupakan Apache servertypeset@protect @@footnote SF@gobble@opt http://www.netcraft.com/survey/ .

  • Perl dan PHP. Keduanya adalah bahasa pemrograman yang sangat berguna dalam administrasi sistem, pembuatan program serta dapat pula digunakan dalam pembuatan web site yang dinamis.

Permasalahan Open Source

Pengembangan software berbasiskan open source selain memberikan beberapa buah keuntungan sebagaimana yang telah disebutkan di bagian terdahulu artikel juga memiliki beberapa permasalahan sebagai berikut :

  • Dengan banyaknya orang yang terlibat dalam pembuatan proyek software tidak menjamin bahwa proyek akan selesai dengan lebih cepat. Ada kemungkinan proyek bahkan tidak dapat terlaksana. Hal ini disebabkan dengan semakin banyaknya orang maka perbedaan akan sering terjadi, oleh karena itu diperlukan seorang pemimpin yang mampu bekerja sama dengan rekan-rekannya yang lain untuk membuat suatu arahan yang jelas tentang proyek.

  • Menurut Alan Cox dalam papernya “Cathedrals, Bazaars and the Town Council” [Ala98], permasalahan akan muncul ketika tibanya banyak orang yang tidak paham dan mereka mulai mengemukakan opininya, bukan memberikan kodenya. Mereka berdebat tentang hal-hal yang tidak berguna. Hal ini tentu saja akan sangat merugikan karena perdebatan tersebut tidak akan menghasilkan apa-apa.

  • Konflik di antara para pengembang. Terkadang dalam model open source sebagaimana juga terjadi dalam model pengembangan ilmiah, terjadi konflik antara para pengembang. Hal ini dapat terjadi bila satu atau beberapa pengembang merasa tidak puas dengan pengembang lainnya, baik dalam hal pencapaian ataupun masalah-masalah teknis dalam proyek yang sedang mereka kerjakan. Bilamana hal ini telah terjadi dapat mengakibatkan tertundanya proyek yang sedang mereka kerjakan, bahkan tidak tertutup kemungkinan proyek tersebut menjadi gagal.

  • Pemilihan software. Umumnya software-software yang dikembangkan disebabkan karena menarik minat pengembang baik secara langsung maupun tidak langsung. Dengan adanya kecendrungan model open source yang dimulai oleh seorang individu maka pengembangannya akan lebih bersifat developer oriented, yang berarti software yang lebih kompleks, namun belum tentu lebih bermanfaat. Pengembang akan membuat software-software yang terlihat menyenangkan, seperti membuat themes untuk GNOME, KDE maupun editor, dibandingkan dengan membuat aplikasi-aplikasi yang dianggap membosankan seperti Office Suites. Tanpa adanya insentif lain maka akan banyak proyek mati karena pengembang awal telah kehilangan minat dan tidak ada yang meneruskan.

  • Fragmentasi. Dengan tersedianya kode sumber untuk setiap aplikasi, maka seseorang dapat saja merubah sebagian kode sumber asli dan mengeluarkan aplikasi yang sama dengan nama baru atau mengeluarkan aplikasi sama dengan versi baru. Jika seorang pengembang merasa tidak puas dengan para pengembang lain dalam membuat suatu proyek, maka ia dapat berpisah dan mengeluarkan proyek baru, lihatlah yang terjadi pada NetBSD dan OpenBSD. Selain itu jika lisensi yang melingkupi suatu aplikasi dirasakan tidak memuaskan maka akan terbentuk pula suatu aplikasi baru, lihat KDE dengan GNOME. GNOME dikembangkan karena ketidakpuasan beberapa orang dalam masyarakat free software terhadap lisensi library Qt dari Troll Tech yang digunakan dalam KDEtypeset@protect @@footnote SF@gobble@opt Qt toolkit tersedia secara free dalam bentuk kode sumber bagi pengembangan free software dan dapat didistribusikan secara bebas.Berdasarkan informasi yang ada di homepage KDE, ada dua hal yang perlu diingat dalam menggunakan Qt yaitu jika anda ingin menjual aplikasi Anda yang dibuat dengan menggunakan Qt dan tidak bersedia menyediakan kode sumber maka Anda perlu membeli lisensi Qt, jika anda memperbaiki Qt maka perbaikan harus dikirimkan pada Troll Tech dan jika bagus maka dapat disertakan dalam versi Qt berikutnya.(http://www.kde.org/whatiskde/qt.html) .

  • Ketergantungan pada satu orang pemimpin. Proyek-proyek open source biasanya dimulai oleh satu atau beberapa orang, sehingga ketergantungan menjadi sangat tinggi. Dengan berlalunya waktu, para pemimpin tersebut mungkin menjadi bosan, burn-out, dipekerjakan oleh organisasi lain. Akibatnya proyek-proyek yang mereka tangani dapat menjadi tertunda atau bahkan mungkin hilang. Sebagai contoh dua orang pembuat aplikasi GIMP, aplikasi open source untuk image editing seperti Adobe Photoshop, setelah mereka lulus dari Universitas California di Berkeley dan bekerja di organisasi lain, maka aplikasi GIMP yang mereka tulis sewaktu masih menjadi mahasiswa tertunda selama dua tahun pada saat versi 0.9, sebelum akhirnya diteruskan oleh para pengembang baru lain.

  • Penjiplakan. Dengan tersedianya kode sumber bagi setiap software, tidak tertutup kemungkinan ada pihak-pihak yang memanfaatkan hal tersebut demi kepentingan dirinya, misalnya saja seorang mahasiswa ilmu komputer mendapat tugas untuk membuat suatu program, ia kemudian mencarinya di Internet dan mendapatkan versi open sourcenya. Lalu ia memodifikasi sedikit program tersebut dan menyerahkan pada dosennya untuk dinilai. Bila dosen tidak waspada maka program tersebut akan lolos dan si mahasiswa akan mendapat nilai dengan mudah dan tidak adil bagi mahasiswa yang membuatnya sendiri.

MANFAAT OPEN SOURCE BAGI INDONESIA

Open source tidak hanya bermanfaat bagi negara-negara maju namun justru ia dapat memberikan manfaat yang jauh lebih besar bagi negara-negara berkembang seperti Indonesia, karena umumnya program-program open source tersedia dengan biaya yang relatif jauh lebih murah dibandingkan program-program closed source dan lebih handal, sehingga akan mampu menghemat devisa yang ke luar.

Secara khusus, open source pun memberikan manfaat bagi dunia pendidikan, bisnis dan pemerintahan.

Bagi Dunia Pendidikan

Dengan adanya open source maka pelajar, mahasiswa ataupun pendidik tidak lagi mempelajari sesuatu secara teoritis namun mereka pun dapat mempraktikkannya. Sebagai contoh dalam bidang ilmu komputer, pada saat mempelajari mata kuliah Sistem Operasi, maka mahasiswa dan dosen dapat secara bersama-sama mempelajarinya dengan cara mengupas secara tuntas Sistem Operasi GNU/Linux ataupun sistem operasi open source lainnya, sehingga mahasiswa dan dosen tidak hanya tahu teori, namun juga tahu penerapannya dalam dunia nyata. Kemudian dengan menginstalasi sistem operasi open source, misalnya GNU/Linux, seseorang umumnya telah memperoleh aplikasi-aplikasi yang cukup lengkap, sehingga ia tidak perlu lagi mengeluarkan uang untuk membelinya.

Bagi Dunia Bisnis

Dengan memanfaatkan program-program open source, dunia bisnis akan memperoleh manfaat yaitu rendahnya biaya instalasi program, reliabilitas yang tinggi, keamanan yang tinggi, sehingga total cost of ownership-nya menjadi rendah. Dunia bisnis sangat memerlukan program yang bereliabilitas tinggi, karena kegiatan-kegiatan dunia bisnis telah amat tergantung pada komputer dan kesalahan kecil akan mengakibatkan kerugian yang sangat besar. Bagaimana jadinya jika server yang digunakan untuk menangani web page harus di-reboot satu minggu sekali ?

Selain itu dengan menggunakan program-program open source maka perusahaan tidak perlu terikat pada satu vendor, baik vendor hardware maupun software. Jika perusahaan menemui permasalahan, ia dapat menghubungi pembuat program ataupun mencari perusahaan-perusahaan jasa untuk menangani masalah tersebut.

Bagi Pemerintah

Seiring dengan makin berkibarnya tuntutan akan otonomi daerah, maka penggunaan program-program open source patut menjadi pertimbangan dalam perencanaan sistem informasi pemerintahan. Dengan menggunakan program-program open source, anggaran yang dibutuhkan relatif lebih rendah dibandingkan dengan program-program closed source dengan tingkat reliabilitas dan keamanan yang lebih tinggi. Selain itu dengan memanfaatkan program-program open source pemerintah dapat mendukung perkembangan teknologi informasi di daerahnya dan juga dapat memberikan kesempatan kerja pada masyarakat. Dengan tersedianya kode sumber maka pemerintah dapat memastikan bahwa program yang digunakannya tidak memiliki suatu backdoor ataupun trojan horse yang dapat membahayakan pemanfaatannya dalam bidang yang sensitif, seperti bidang pertahanan keamanan.

PENGEMBANGAN SOFTWARE BERBASIS OPEN SOURCE DI INDONESIA

Gerakan Open Source ini perlu dicermati oleh masyarakat Indonesia, utamanya masyarakat Teknologi Informasi (TI). Bahkan bila perlu, masyarakat TI Indonesia ikut serta dalam gerakan open source ini, karena gerakan ini akan semakin berkembang di masa mendatang. Dengan ikut serta dalam gerakan open source ini, akan diperoleh beberapa manfaat sebagai berikut :

  • Menghemat devisa negara yang dikeluarkan untuk membeli software. Dengan adanya software yang berbasiskan open source, maka organisasi yang memerlukan software tertentu dapat memperoleh software tersebut secara murah, dan bila belum tersedia maka dapat meminta para programer baik yang ada di dalam negeri maupun luar negeri untuk mengembangkannya dengan biaya yang jauh lebih murah dibandingkan dengan membeli software proprietary.

  • Menciptakan lapangan kerja. Dengan memanfaatkan software-software berbasiskan open source, oleh karena biaya untuk memperolehnya relatif murah, maka akan berkembang para penyedia jasa pelayanan customer support untuk software-software tertentu ataupun jasa pelayanan pengintegrasian software open source ke dalam organisasi, dan masih banyak lagi kemungkinan pekerjaan yang akan tercipta. Terciptanya peluang-peluang ini akan sangat membantu dalam mengatasi masalah pengangguran di Indonesia saat ini dan masa mendatang.

Proyek-proyek Open Source Di Indonesia

Berikut ini adalah beberapa buah proyek open source yang ada di Indonesia. Proyek-proyek tersebut ada yang sudah berjalan lama dan terbilang sukses dan ada pula yang baru berjalan.

Proyek Penerjemahan Linux-SuSEtypeset@protect @@footnote SF@gobble@opt http://nakula.rvs.uni-bielefeld.de/made/tranlin.html

Proyek ini bertujuan untuk menerjemahkan distribusi Linux SUSE, mulai dari layar bantuan instalasi hingga buku manualnya. Proyek ini dikoordinir oleh I Made Wiryana, dan sudah selesai.

Proyek Penerjemahan man/info pagetypeset@protect @@footnote SF@gobble@opt http://nakula.rvs.uni-bielefeld.de/made/ManPage/

Proyek ini bertujuan untuk menerjemahkan manual program-program UNIX. Berdasarkan informasi dari homepagenya, 90% terjemahan telah diserahkan dan sedang dalam proses pengeditan. Proyek ini dikoordinir oleh I Made Wiryana.

Proyek Penerjemahan KDEtypeset@protect @@footnote SF@gobble@opt http://nakula.rvs.uni-bielefeld.de/made/KDE/kde-indo.html

Proyek ini bertujuan untuk menerjemahkan perintah-perintah atau menu-menu yang ada dalam program-program KDE ke dalam bahasa Indonesia. Proyek ini dimulai pada April 1999, dan saat ini belum selesai karena kurangnya tenaga sukarelawan/ti yang turut serta.

Perpustakaan Onlinetypeset@protect @@footnote SF@gobble@opt http://pandu.dhs.org

Proyek ini dikoordinir oleh Owo Sugiana. Software-software yang digunakan adalah GNU/Linux, Apache, PHP, dan PostgreSQL. Saat ini telah berhasil dibuat fasilitas pencarian buku-buku berdasarkan lima macam kriteria, yaitu judul, pengarang, subyek, penerbit, nomor katalog. Dan dengan fasilitas tersebut dapat pula diketahui status buku apakah sedang dipinjam atau tidak.



HAL-HAL YANG DAPAT MENJADI PENGHAMBAT

Hukum dan keamanan

Saat ini situasi keamanan di Indonesia sangat tidak dapat diduga. Hal ini tentu saja akan mengganggu tidak saja pengembangan proyek-proyek open source, namun kegiatan-kegiatan lainnya. Keadaan ini semakin diperparah dengan aturan-aturan hukum yang tidak berjalan serta tidak dihargainya para aparat penegak hukum, misalnya belum ditegakkannya hukum bagi Hak atas Kekayaan Intelektual (HaKI). Kesemuanya ini akan menghambat perkembangan open source, karena dengan mudah dan murahnya orang memperoleh software-software proprietary maka software-software open source tidak akan diterima oleh masyarakat umum.

Kurangnya pengetahuan masyarakat mengenai open source

Software-software open source umumnya hanya dikenal oleh kalangan tertentu saja, hal ini disebabkan belum gencarnya media Indonesia memberitakan mengenai gerakan open source ini. Akibatnya masyarakat secara umum belum mengetahui gerakan ini. Ketidaktahuan ini menyebabkan masyarakat lebih memilih software-software proprietary yang umumnya lebih dikenal, mudah didapat, dan murah harganya karena merupakan produk bajakan.

Kemudahan bagi masyarakat awam

Umumnya software-software open source tidak dilengkapi dengan dokumentasi yang sesuai untuk dibaca oleh masyarakat awam karena bersifat teknis dan umumnya ditulis dalam bahasa Inggris, sehingga tentu saja akan menyulitkan mereka. Oleh karena software-software open source lebih bersifat developer oriented, seringkali aspek user kurang diperhatikan, akibatnya pemakai kesulitan dalam menggunakan software-software tersebut. Selain itu informasi-informasi untuk software-software tertentu tersebar di banyak tempat, sehingga seorang pemakai bila ingin mengetahui informasi-informasi tersebut, ia harus mencari di Internet dan pencarian ini relatif menyulitkan bagi masyarakat awam.

Sulitnya memperoleh software-software open source

Distribusi software-software open source umumnya dilakukan melalui Internet. Akan tetapi karena koneksi Internet yang ada di Indonesia masih sangat memprihatinkan, maka tidak semua orang memiliki akses terhadap Internet dan bila pun memiliki akses, reliabilitas-nya sangat rendah, sehingga akan sangat sulit untuk mengambil (men-download), software-software yang berukuran besar, misalnya aplikasi StarOffice 5.1 berukuran kurang lebih 50MB. Bila software-software tersebut tersedia di para pedagang, umumnya merupakan software-software distribusi Sistem Operasi yang terkenal, misalnya RedHat Linux, SuSe Linux, sehingga untuk mereka yang memiliki kebutuhan yang berbeda akan timbul masalah.

Belum adanya dukungan dari dunia pendidikan

Berkat kemudahan memperoleh software-software proprietary bajakan, para mahasiswa dan dosen tidak merasa perlu menggunakan software-software open source, karena tidak ada paksaan. Akibatnya mereka tidak menghargai software-software open source, meskipun software-software tersebut sangat baik. Selain itu, di dalam diri mereka tidak ada niat untuk memberikan sesuatu kepada masyarakat, yang mereka utamakan adalah bagaimana cara memperoleh uang. Bila hal ini terus terjadi, maka di masa mendatang, dunia pendidikan Indonesia akan sangat tertinggal dari negara-negara yang menghargai HaKI dan menggunakan software-software open source. Karena dengan menggunakan software-software open source dunia pendidikan akan memperoleh manfaat.

Belum adanya dukungan dari pihak pemerintah.

Saat ini dukungan pemerintah secara nyata belumlah terlihat. Untuk mendapatkan dukungan pemerintah sebagaimana yang ada di Amerika Serikat dan beberapa negara Eropa Barat seperti Jerman dan Perancis, hampir tidak mungkin, karena adanya keterbatasan dana dan permasalahan lain yang harus dihadapi pemerintah.

SARAN-SARAN

Meningkatkan mutu SDM

Agar mampu ikut serta dalam gerakan open source ini, maka sumber daya manusia (SDM) yang ada perlu ditingkatkan mutunya. Hal ini dapat dilaksanakan melalui jalur pendidikan formal sebagaimana yang ada di sekolah-sekolah ataupun perguruan tinggi, ataupun melalui jalur pendidikan informal, seperti kursus-kursus, seminar-seminar, pelatihan-pelatihan. Yang dapat diharapkan berperan besar dalam proses peningkatan mutu SDM ini adalah dunia pendidikan, dunia bisnis.

Dunia pendidikan dapat memulai dengan mengenalkan peserta didik pada software-software open source, mengajarkan pemakaian beberapa software yang dirasakan bermanfaat, serta akhirnya mengajarkan pemrograman dengan menggunakan software-software bahasa pemrograman open source, seperti C/C++, Perl, Python, PHP.

Dunia bisnis dapat membantu dunia pendidikan dengan memberikan hardware mereka yang sudah tidak dipakai lagi namun masih berfungsi, agar dapat digunakan dalam proses mengajarkan software-software open source pada peserta didik. Hal ini akan memberikan manfaat bagi kedua belah pihak, bagi dunia bisnis, akan menghemat biaya penyimpanan maupun pemeliharaan, sementara dunia pendidikan mendapatkan hardware yang dibutuhkannya. Kemudian dunia bisnis dapat pula menyelenggarakan pelatihan-pelatihan, seminar-seminar yang berkaitan dengan open source, bekerja sama dengan dunia pendidikan untuk membuat software-software open source, misalnya suatu perusahaan software dapat bekerja sama dengan dunia pendidikan untuk membuat suatu software yang memanfaatkan riset yang ada di dunia pendidikan.

Memperbaiki infrastruktur

Proyek-proyek open source umumnya dikerjakan oleh beberapa orang yang belum tentu berada pada lokasi dan waktu yang sama. Oleh karena itu dibutuhkan suatu mekanisme yang memungkinkan mereka agar dapat bekerja sama, mekanisme tersebut antara lain adalah Internet.

Keadaan koneksi Internet di Indonesia sangat buruk, bandwidth jaringan yang ada sempit dengan tingkat reliabilitas yang buruk serta biaya yang tinggi. Hal ini tentu saja akan menyulitkan pengembangan proyek-proyek open source. Biaya yang terdiri dari biaya pulsa telpon serta tarif pelayanan ISP yang tinggi merupakan alasan utama mengapa jumlah pemakai Internet di Indonesia masih rendah. Untuk dapat memperbaiki keadaan ini, maka peran pemerintah sangat dibutuhkan, utamanya untuk menurunkan biaya yang tinggi tersebut, misalnya dengan menetapkan bahwa tarif telpon lokal bersifat permanen (flat rate) tanpa peduli dengan seberapa lama telpon dipakai, atau pemerintah dapat menghapus monopoli telekomunikasi yang selama ini dimiliki oleh suatu perusahaan sehingga akan bermunculan para pesaing yang dapat menurunkan biaya. Dengan rendahnya tarif telpon maka akan semakin banyak masyarakat yang terkoneksi dengan Internet, Internet Service Provider (ISP) semakin banyak, akibatnya ISP berlomba-lomba untuk memperbaiki pelayanan mereka, misalnya dengan memperbaiki jaringan mereka agar dapat memberikan koneksi yang cepat, reliable dan murah, karena bila tidak customer dapat berpindah ke ISP lain yang lebih baik.

Mendukung gerakan open source

Dukungan terhadap gerakan open source dapat diwujudkan dengan cara membeli hardware ataupun software yang mendukung open source. Pembeli sebaiknya berusaha tidak membeli produk-produk yang tidak mendukung open source, misalnya jika driver2 suatu modem hanya dapat berjalan di sistem operasi proprietary, sebaiknya customer beralih membeli modem lain yang mendukung open source.

PENUTUP

Pengembangan software berbasiskan open source merupakan suatu hal yang mungkin dilakukan oleh Indonesia. Dengan mengembangkan software secara open source akan memberikan banyak manfaat bagi Indonesia, antara lain adalah penghematan devisa yang digunakan untuk membeli produk closed-source software, selain itu akan menciptakan pula lapangan kerja.

Akan tetapi agar berhasil mewujudkan hal ini ada beberapa hal yang perlu terlebih dulu diatasi yaitu masalah hukum, keamanan, infrastruktur, ketersediaan sumber daya manusia, lingkungan yang mendukung. Bila masalah-masalah tersebut telah teratasi, bukan tidak mungkin suatu hari nanti Indonesia menjadi negara pendukung utama gerakan open source dengan banyak menghasilkan software-software open source.