Wednesday, January 18, 2012

Software for Dummies : Open Source, Closed Source, dan Lisensi Software

Apakah Program Komputer ?

Setiap program komputer (Microsoft Word, Power Point, Game), atau sistem operasi (seperti Microsoft Windows) , sebenarnya merupakan sekumpulan instruksi komputer yang tersimpan di dalam hard disk dalam bentuk kode-kode biner yang bisa dimengerti dan dijalankan oleh komputer yang anda punya. Jika anda menggunakan sistem operasi Microsoft Windows, maka semua program-program tadi biasanya tersimpan di hard disk C: , dan bisa terlihat melalui File Explorer seperti di bawah ini :

image

Kalau kita lihat salah satu komponennya melalui suatu text editor, maka akan terlihat seperti ini :

image

Terlihat di situ bahwa komponen program ini berisi karakter ASCII yang kita tidak mengerti isinya. File ini berisi kode-kode biner hasil dari kompilasi kode asal (atau disebut juga sebagai SOURCE CODE).

Mengapa menggunakan kode biner ? Ya supaya aplikasi berjalan dengan cepat, karena sebelumnya sudah diolah/kompilasi sehingga akan berjalan dengan sangat optimum dan kencang di komputer anda.

Ada juga komponen yang bisa dibaca langsung oleh manusia, misalnya sebuah file seperti ini :

image

Nah kalau file seperti diatas, itu biasanya merupakan suatu file yang bisa diubah-ubah oleh pengguna langsung. Contohnya adalah file hosts yang ada di setiap mesin yang terhubung ke Internet. Kita bisa mengubah-ubah isinya misalnya untuk memblokir situs-situs terlarang dan sebagainya.

Kode-kode biner tersebut hanya mesin ( baca “komputer”) yang paham. Kode-kode biner itu dibuat oleh manusia (yang berprofesi sebagai programmer), melalui bahasa-bahasa pemrograman yang mudah dimengerti (oleh si pemrogram tentu saja, kalau orang awam sih tetap saja tidak mengerti).

Nah sebelum dikompilasi, maka kode biner tersebut disebut sebagai Source Code, dan bentuknya kira-kira seperti ini :

image

Source Code di atas merupakan penjelasan sebuah fungsi yang tertulis menggunakan Bahasa C, dan besarnya dihitung dengan jumlah baris. Tanpa baris komentar (/*), maka fungsi di atas besarnya adalah 10 baris kode.

Untuk membuat suatu aplikasi, programmer bisa bekerja sendirian atau bekerjasama dalam satu team, dan satu aplikasi bisa terdiri dari ribuan sampai jutaan baris kode. Jadi bisa dibayangkan betapa sulitnya menulis suatu aplikasi.

Model Pengembangan Aplikasi

Aplikasi komputer merupakan suatu hasil karya intelektual yang patut dilindungi. Di dunia piranti lunak, ada 2 macam pengembangan aplikasi : Open Source, dan Closed Source.

Open Source

Open Source mengandalkan pengembangan software melalui kerjasama banyak orang yang punya kepentingan yang sama dengan cara membuka akses ke source code kepada setiap orang. Setiap orang bisa mengkompilasi dan memanfaatkan hasilnya. Namun jika ada orang yang menemukan kelemahan source code itu, maka orang itu diharapkan untuk turut memperbaikinya dan kemudian mengembalikannya ke penulis aslinya dengan tujuan supaya kualitas source codenya semakin baik.

Orang-orang ini berupa amatir yang memang hobi membuat program, atau bisa juga pegawai dari perusahaan-perusahaan IT (seperti IBM, Oracle, dsb yang memiliki bisnis services dan juga menjual piranti keras). Model bisnis dari perusahaan-perusahaan ini adalah mendapat keuntungan dari penjualan services dan hardware dengan cara bundling solusi dengan software yang gratis).

Aplikasi Open Source didistribusikan ke dalam bentuk hasil kompilasi yang disertai sumbernya (source code). Sehingga pengguna akhir bisa menggunakan aplikasi yang sudah dikompilasi tersebut, atau bisa juga turut berkontribusi memperbaiki source code.

Pada prakteknya, karena source code begitu sulit dipahami (apalagi jika dibuat oleh programmer lain, dan tanpa dokumentasi yang jelas), maka kebanyakan orang hanya sebagai pemakai dan tidak berkontribusi sama sekali.

Contoh aplikasi Open Source yang populer adalah :

  • Sistem Operasi : Linux, Android
  • Office Productivity : OpenOffice, LibreOffice
  • Image Editor : GIMP

Closed Source

Closed Source mengandalkan pengembangan software melalui programmer-programmer professional di dalam perusahaan yang terikat perjanjian bahwa source code merupakan hak intelektual perusahaan, dan tidak boleh disebarluaskan ke publik. Aplikasi-aplikasi closed source nantinya akan dikompilasi, dan didistribusikan (dijual) dalam bentuk biner yang langsung diinstall dan jalan.

Contoh aplikasi closed source yang populer adalah :

  • Sistem Operasi : Microsoft Windows, Apple OS X
  • Office Productivity : Microsoft Office, Apple iWork
  • Image Editor : Photoshop

Lisensi Software

Baik Open Source maupun Closed Source, keduanya dilindungi oleh Lisensi. Di bawah ini adalah beberapa lisensi Open Source :

  • GNU GPL (General Public License) – merupakan lisensi yang sangat populer, dan mengandung konsep “copyleft”, di mana pengguna diharapkan untuk berkontribusi kembali misalnya dengan memperbaiki source code dsb
  • GNU LGPL (Lesser General Public License) – sama dengan GNU GPL tapi kewajiban “copyleft” lebih sedikit
  • BSD (Berkeley Software Distribution License) – open source yang bebas dipakai, tanpa kewajiban kontribusi kembali
  • MS-PL (Microsoft Public License) – lisensi Open Source dari Microsoft. Mengatur kebebasan royalti
  • MS-RL (Microsoft Reciprocal License) – lisensi Open Source yang memberikan timbal balik, programmer yang menggunakan aplikasi yang dilindungi MS-RL punya kewajiban mendistribusikan source code ke user

Sedangkan lisensi Closed Source biasanya bentuknya End User License Agreement seperti di bawah ini :

ABC adalah nama software yang dilindungi hak cipta. Software ini tidak boleh disalin, direproduksi, dikirimkan, diterjemahkan, diubah, direverse-engineering, sebagian atau keseluruhan, tanpa persetujuan secara tertulis dari ABC.COM

1 comment:

Open Source Lover said...

kalo saya dukung open source