Kamis, 26 April 2012

Open Source (LINUX)

Sumber terbuka (Inggris: open source) adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet).
Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak.
kemudian disini saya akan menjelaskan open source Linux sebelum saya menjelaskan lebih dalam tentang Linux terlebih dahulu saya akan menjelaskan sedikit tentang Linux. Linux adalah anggota dari keluarga sistem operasi yang UNIX-like seperti System V Release 4, 4.4BSD, Digital UNIX, AIX HP-UX, dan Solaris. Pada awalnya, Linux dikembangkan oleh Linus Torvalds pada tahun 1991 sebagai sistem operasi untuk IBM compatible personal computer dengan basis Intel 80368 mikroprosesor. Kini, Linux juga tersedia untuk berbagai arsitektur lainnya seperti Alpha, SPARC, Motorola MC680x0, Power PC, dan IBM System/390. Salah satu kelebihan yang dimiliki Linux
adalah bahwa Linux bukan sistem operasi komersial. Source code-nya yang dikembangkan di bawah GNU public license terbuka untuk umum untuk dipelajari dan dikembangkan.
* Linux versus Kernel UNIX-like lainnya*
ada beberapa hal yang dimiliki Linux dibandingkan terhadap sistem UNIX-like lainnya :
• Linux kernel adalah monolitik, yaitu program besar dan kompleks yang dibangun atas komponen-komponen yang berbeda. Hampir semua sistem UNIX-like juga merupakan sistem monolitik.
• Linux mampu me-load dan unload modul (bagian dari kernel code) secara dinamis sebagaimana dalam kernel SVR4.2. Sistem UNIX-like lainnya dikompilasi dan di-link secara statis.
• Kernel threading. Kernel thread adalah execution context yang dapat dijadwalkan secara independen dan dapat diasosiasikan terhadap user program atau menjalankan beberapa fungsi kernel saja. Context switch antara kernel thread lebih murah biayanya daripada context switch antara proses biasa.
• Dukungan aplikasi multithread yaitu program yang terdiri dari beberapa execution flow independen yang berbagi application data structure. Sebuah multithread application dapat terdiri atas beberapa lightweight process (LWP)
yaitu proses yang berbagi alamat memori, page memori fisik, file yang terbuka, dan lain-lain. Varian UNIX komersil lain berdasar pada kernel thread, Linux menganggap lightweight thread sebagai execution context dasar dan
mengaturnya dengan system call clone().
• Linux adalah kernel nonpreemptive sehingga tidak dapat meninggalkan execution flow ketika sedang berada pada priviledge mode. Hanya Solaris 2.x dan Mach 3.0 yang mengadopsi kernel preemptive.
• Dukungan multiprosesor. Linux mempunyai dukungan untuk SMP (Symmetric Multiprocessing) yang berarti bahwa sistem tidak hanya dapat menggunakan beberapa prosesor tetapi juga tiap prosesor dapat digunakan untuk
menjalankan task manapun tanpa diskriminasi.
• Sistem file Linux tidak memiliki fitur yang sempurna. Namun demikian, porting sebuah sistem file lain ke Linux mudah untuk dilakukan dengan Virtual File System Technology.
• STREAMS. Linux tidak memiliki analog terhadap terhadap subsistem STREAMS I/O sebagaimana terdapat pada SVR4 walaupun sudah menjadi interface umum pada kernel UNIX untuk menulis device driver, terminal driver dan network protokol.
Sekarang ini operasi sistem linux mulai berkembang dengan pesat dan tidak mau kalah dengan operasi sistem yang lainnya seperti windows dan Mac OS dll. dengan adanya operasi sistem baru yang bermunculan Linux mempunyai cara untuk dapat bersaing dengan operasi sistem tersebut. contohnya salah satu linux yaitu  Ubuntu yang sangat gencar unutk  mensosioalisaikan operasi sistemnya, agar pengguna komputer di seluruh dunia bisa menggunakan OS ubuntu secara mudah. banyak orang berfikir bahwa menggunakan operasi sistem linux sangat sulit. Menurut saya sebaliknya linux itu mengasyikan dan tentunya ada banyak keuntungannya salahsatu yah. . . . operasi sistem linux belum bisa terkena virus yang bisa mengganggu kenyamanan anda menggunakan komputer. Lagi pula orang juga belum terbiasa dengan operasi sistem Linux.

Jumat, 13 April 2012

Apa itu Open Source..?????

Jika diartikan menurut arti kata, – Open Source- dalam bahasa Indonesia berarti Kode Terbuka. Kode yang dimaksud disini bukanlah kode morse, ataupun kode barang, tetapi yang kode yang dimaksud disini adalah Kode Program. Kode Program yang dimaksud adalah perintah – perintah yang diketikkan berdasarkan logika yang benar.

Suatu program dengan lisensi Open Source berarti program tersebut membuka Kode Programnya bagi siapa saja yang ingin mempelajarinya, caranya dengan menyertakan kode program bersama dengan distribusi paket program yang sudah jadi (hasil kompilasi). Dengan penyertaan kode program tersebut, pembeli atau pengguna program dapat membedah program tersebut, melakukan modifikasi sesuai dengan kebutuhannya, bahkan memperbaiki -Bug- atau kesalahan logika dalam program tersebut. Contoh program yang Open Source adalah Linux. Dalam setiap distribusinya vendor Linux juga menyertakan Kode Program Linux.

Satu hal yang perlu ditekankan adalah bahwa program / software yang Open Source tidak selalu tersedia secara gratis. Tetap ada biaya yang dikeluarkan untuk membeli program tersebut. Contoh, misalnya Sistem Operasi RedHat Linux, program Linuxnya tetap dibeli dengan harga yang murah. Lalu, apa bedanya Open Source dengan -Closed Source-

Pada program yang -Closed Source-, paket program tidak dapat didistribusikan lagi selain oleh pembuat / vendor program tersebut. Jika ada distribusi yang bukan oleh vendor program tersebut, maka itu dianggap sebagai pembajakan software. Atau dengan kata lain program yang -Closed Source- tidak dapat didistribusikan secara bebas, kecuali oleh vendor program tersebut. Sedangkan software yang Open Source, dapat didistribusikan secara bebas oleh siapapun. Paket program juga dapat digandakan secara bebas.

Tujuan Open Source sebenarnya adalah ingin menghilangkan ketergantungan terhadap vendor program, dimana vendor bisa saja bertindak seenaknya. Dalam program yang -Closed Source- vendor bisa saja menyisipkan kode – kode yang mungkin dapat membahayakan pengguna program, dan menghilangkan privasi pengguna.

Selain itu, Open Source juga bertujuan menyediakan software yang mudah dijangkau oleh masyarakat luas, dan menghindari pengerukan keuntungan yang berlebihan oleh vendor.

Bagi kalangan IT khususnya di Indonesia, dengan adanya software yang Open Source dapat mendorong semangat untuk mengembangkan program bagi tenaga – tenaga TI di Indonesia. Sebab dengan mempelajari kode program, dapat dianalisa dimana kelemahan program, apa sesungguhnya proses yang berlangsung dalam kerja program, dan sekaligus mencari solusi terhadap kelemahan program yang ditemui. Atau yang lebih extreem adalah memodifikasi program sedemikian rupa agar lebih ergonomis / pas digunakan sesuai dengan keperluan.

Sebagai tenaga yang bergerak di bidang TI, tentunya kita tidak boleh hanya menjadi End User yang hanya mampu memanfaatkan hasil kerja orang lain. Sebab dengan demikian sampai selama – lamanya bidang TI kita akan tertinggal dari negara – negara lain. Kalau hanya ingin menjadi End User, untuk apa kita susah – susah membuang waktu dan biaya yang tidak sedikit untuk menjadi S.Kom ???? Kalau memang hanya ingin menjadi End User lebih efektif dan efisien mengikuti kursus.

Hal inilah yang masih belum disadari oleh kebanyakan Pengajar maupun mahasiswa bidang Teknologi Informasi di Indonesia. Seorang S.Kom bukan dipersiapkan untuk menjadi pengguna, melainkan dipersiapkan untuk menjadi Analis Sistem yang dapat merancang baik software maupun hardware. Dengan menggunakan program yang Open Source bukankah telah terbuka jalan yang sangat lebar untuk menuju ke arah tersebut ?????

Dengan mempelajari kode program yang Open Source kita dapat menganalisa teknik yang digunakan dalam pembuatan software tersebut, yang nantinya pengetahuan tersebut dapat dimanfaatkan untuk merancang aplikasi yang berguna ?????

Harus diakui bahwa jika kita bekerja sebagai Software Developer yang Open Source, akan mengurangi jumlah pendapatan yang akan diterima jika dibandingkan dengan Software Developer yang -Closed Source-, sebab software yang kita buat dapat di distribusikan secara bebas oleh orang lain tanpa membayar lisensi kepada kita.

Namun, ada yang jauh lebih berarti dibandingkan dengan uang tersebut. Yaitu Perbuatan Amal. Dengan mengeluarkan program yang Open Source, dimana pengguna dapat melihat, mempelajari, dan memodifikasi Kode Program, dapat dibayangkan berapa banyak orang yang memperoleh pengetahuan dari program kita, berapa banyak mahasiswa yang dapat meningkatkan kemampuannya dengan mempelajari software yang kita buat. Belum lagi umpan balik yang diberikan oleh pengguna
yang mengetahui kelemahan program kita dan memberikan solusinya, yang dapat meningkatkan kemampuan dan pengetahuan kita.

Lagipula, vendor seperti RedHat yang selama ini bergerak sebagai Software Developer yang Open Source tidak menjadi bangkrut malahan semakin maju. Mengapa ????? Sebab, pengguna yang awam dengan sistem komputer tetap akan menghubungi vendor program jika terjadi masalah dengan program. Karena mereka menganggap bahwa vendor tentu lebih memahami programnya dibandingkan dengan teknisi yang lain.

Namun, pilihan untuk mengikuti Open Source atau tidak tetap bergantung pada diri kita masing – masing. Seandainya anda berkeinginan menjadi Software Developer yang kaya raya seperti Bill Gates, mungkin anda memilih menjadi Software Developer yang -Closed Source-.

Sebaliknya, jika anda adalah seorang yang senang berbagi ilmu dan pengalaman tentunya anda lebih senang menjadi Software Developer yang Open Source, namun itu tentunya kemungkinan kecil dapat menjadikan anda sekaya Bill Gates. Well, pilihan tetap berada pada diri kita masing – masing.

Senin, 09 April 2012

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). www.opensource.org/licenses memuat jenis-jenis lisensi open source.
Mulai tahun 1994-1995, server-server di ITB mulai menggunakan FreeBSD sebagai sistem operasinya. FreeBSD merupakan sistem operasi open source dan tangguh untuk keamanan jaringan maupun server. Tetapi kemudian para administrator jaringan di Computer Network Research Group (CNRG) ITB lebih menyukai laptop Mac dengan sistem operasi Mac OS X yang berbasis BSD daripada sistem operasi lain.
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.