Cara Programmer Open Source Mendapat Uang

Pikiran pertama saya ketika dulu mengenal gerakan open source adalah bagaimana cara Programmer mendapatkan uang? Saya yakin, pikiran ini pasti juga pernah masuk ke kepala anda jika anda seorang pendukung open source.

Ternyata, setelah lebih dari 10 tahun  mengenal open source, mendapatkan uang bagi programer open source bisa didapat dengan berbagai cara. Berikut ini adalah contoh contoh bagaimana Programmer open source mendapatkan uang .

Iklan di website/ Produk

Beberapa proyek open source, dikunjungi oleh ribuan orang tiap hari, mereka biasanya memasang iklan asdsense atau iklan banner dari pengiklan. Cara ini adalah cara paling dasar yang dilakukan oleh Programmer open source, sama dengan orang yang pada mengejar dollar dengan SEO dan Adsense.

Contoh iklan yang ada di produk adalah search engine Google di Firefox. setiap pencarian yang berasal dari firefox, lalu user mengklik iklan di hasil pencarian, maka Mozilla akan mendapatkan uang dari Google.

Donasi dan Sponsor

Selain dengan iklan, biasanya programer open source mendapatkan uang dengan menerima donasi paypal, Contoh dari proyek open source yang mengandalkan donasi adalah Wikipedia, sedangkan proyek open source yang mengandalkan sponsor adalah Apache software Foundation. (http://apache.org).

Menulis Buku

Salah satu kekurangan dari proyek open source adalah dokumentasi yang sangat sedikit dan tidak tersusun dengan baik. Kebanyakan programer tidak terlalu pintar menulis dokumentasi atau malas menulisnya. maka biasanya ini menjadi lahan bisnis dengan cara menulis buku tentang proyek open source yang dibuatnya. Salah satu contohnya adalah Jhon Resig pembuat jQuery. Otomatis bukunya laris karena penulisnya sendiri adalah pembuat jQuery.

Mengadakan Pelatihan/Konsultasi

Software open source rata rata bisa didapatkan secara gratis, maka para programernya membuka bisnis pelatihan, training atau konsultasi. Ada yang sifatnya Offline atau online training. Contoh dari proyek open source yang berbisnis seperti ini adalah Sencha. Sencha adalah perusahaan dibalik Ext JS framework. Untuk konsultasi biasanya dalam bentuk bantuan coding atau memberikan solusi perkasus yang dihadapi user.

Membundle dengan Hardware

Contoh proyek open source yang menggunakan cara ini adalah Ubuntu. Ubuntu memang gratis, namun ketika sudah dibundle dengan Hardware, maka pihak ubuntu akan mendapatkan sekian persen keuntungan dari penjualan server/komputer berbasis ubuntu.

Support

support atau dukungan teknis diberikan oleh pihak programer/perusahaan open source dalam bentuk bantuan lewat telepon, email, chat atau remote . Contoh perusahaan yang mengandalkan support adalah Canonical– perusahaan dibalik ubuntu– dan Redhat. Produknya gratis, support nya bayar.

membuat Layanan Cloud

Contoh dari proyek open source yang menggunakan pola bisnis ini adalah WordPress. Jika anda bisa memasang wordpress di hosting anda sendiri, silahkan anda download software WordPress , bagi user biasa yang ingin langsung ngeblog, silahkan daftar di WordPress.com.

Tapi, bukannya wordpress.com gratis? Yup, anda benar, namun jika anda ingin mendapatkan fitur tambahan dan layanan premium, maka anda harus membayar biaya dengan sistem langganan per tahun ke Automatic, perusahaan dibalik wordpress.com.

Menerapkan konsep Dual Lisensi

Salah satu prinsip open source adalah, jika anda mendapatkan program secara free, lalu anda memodifikasinya maka harusnya modifikasi, atau program turunannya juga harus free. Nah terus bagaimana dong kalau saya ingin membuat aplikasi atau produk yang dibuat dari software open source tapi saya tidak ingin mengopensource kannya? caranya anda membeli komersial lisensi.

Komersial lisensi adalah lisensi yang dikeluarkan oleh perusahaan /programer open source yang intinya membolehkan anda membuat program komersial tanpa harus mengopensourcekan kembali. Contoh perusahaan open source yang menerapkan konsep ini adalah Sencha Inc, Highcart dan FancyBox.

Kesimpulan

Kenyataan di lapangan, perusahaan /Programmer open source mengkombinasikan cara diatas untuk mengoptimalkan pendapatannya, sebagian programer mendapatkan ratusan dollar perbulan, namun tidak sedikit yang mendapatkan jutaan dollar tiap tahunnya.

Dari sini, bisa kita ambil kesimpulan bahwa bisnis open source bukanlah bisnis kecil apalagi bisnis yang tidak menguntungkan. Kesimpulan lainnya, bahwa walaupun produk open source sendiri bisa didapatkan secara gratis, namun untuk support dan layanan tambahan nya (jasa) harus didapatkan secara berbayar.

Open source tidak identik dengan “gratisan”, open source lebih identik dengan “kebebasan dan keterbukaan”. Jadi kapan anda memulai bisnis open source?

Metode Penulisan Versi Software

Software apapun, baik yang open source maupun yang non open source, pasti mempunyai versi. Alasan utamanya, karena tidak ada software yang sempurna, software selalu di perbaiki, ditambahkan fitur dan disesuaikan dengan teknologi hardware.Makanya, sudah wajib hukumnya software menuliskan versi di belakangnya.

Sebenarnya pemberian versi  bukan hanya berlaku untuk software, namun untuk semua produk buatan manusia, contohnya buku, ada buku edisi 1, buku edisi 2 atau buku edisi revisi, semua mengacu pada buku yang sama. Software pun membutuhkan penulisan versi. Namun berbeda dengan buku, penulisan versi software tidak ada standar baku. Masing masing Programmer punya cara sendiri dalam penulisannya.

Dalam artikel ini, saya akan menjelaskan metode penulisan versi software yang paling sering dipakai oleh para Programmer.

Metode Tanggal bulan Tahun

Teknik ini dibagi lagi menjadi 3 yaitu metode penulisan tahun saja, tahun -bulan, dan tahun-bulan-tanggal.

Metode Tahun (YYYY)

Metode ini sering dipakai oleh software closed source. Contohnya adalah Tune Up Utilites atau antivirus. Cara ini sangat praktis dan mudah diingat oleh user. Contoh produk beserta versi nya.

  1. Microsoft Office 2007
  2. Visual studio 2010
  3. TuneUp Utilities 2009
  4. Microsoft Windows 98

Metode Tahun Bulan (YY.MM)

Metode ini dipakai oleh ubuntu. COntohnya adalah ubuntu 13.10. Artinya ubuntu yang dirilis pada tahun 2013 di bulan 10.

Metode Tahun bulan tanggal (yyyy-mm-dd).

Metode ini sering dipakai untuk software yang belum stabil, biasanya bisa dirilis kapan saja, bahkan bisa tiap minggu atau tiap hari. Contoh software yang memakai penamaan versi seperti ini adalah Wine di versi versi awal.  Misalkan Wine

 

Metode X.Y.Z

Metode ini adalah yang Terpopuler, namun cara ini juga punya banyak variasi. Berikut ini adalah variasinya

Metode X

Cara ini menuliskan versi software dengan versi integer. Misalkan versi pertama adalah versi 1, maka versi selanjutnya adalah versi 2. Cara ini sering dipakai oleh Game, Misalkan Game Age Of Empire I, Age Of Empire II, atau BatleField 4, Sim City 2  dan sebagainya.

Metode X.Y

Metode ini cukup populer, Alasan utama, jika setiap rilis software baru, harus naik 1 , maka versi software akan naik dengan sangat cepat. Metode ini juga punya aturan. Misalkan CandralabCMS 1.0, artinya versi tersebut adalah versi pertama. Jika ada perbaikan kecil atau penambahan fitur yang tidak terlalu signifikan, maka versi selanjutnya adalah candralabCMS1.1.

Perubahan poin X terjadi jika ada perubahan besar besaran di software yang menyebabkan tidak kompatibel dengan versi sebelumnya Contohnya adalah Windows. Secara internal, windows memakai metode pemversian seperti ini. Berikut ini adalah  daftar versi internal Windows.

  1. Windows 5.0 (Windows 2000)
  2. Windows 5.1 (Windows XP)
  3. Windows 5.2 (Windows 2003)
  4. Windows 6.0 (Windows Vista)
  5. Windows 6.1 (Windows 7)
  6. Windows 6.2 (Windows 8)
  7. Windows 6.3 (Windows 8.1)

Microsoft menggunakan dua cara pemversian. Versi internal untuk developer dan versi external seperti Windows Vista untuk user. Perhatikan pola versi internalnya. Tampak bahwa Windows vista,7 dan 8 mempunyai nilai X yang sama yang artinya mereka masih satu keluarga. bahasa mudahnya, jika sebuah driver atau software berjalan di vista, maka dijamin (secara teori) akan jalan di Windows 8.1 ). Namun jika sebuah software berjalan di Windows XP, belum tentu akan berjalan di windows vista ketas, kenapa? karena versi Mayor  (nilai X nya) sudah berbeda.

Metode X.Y.Z

Metode X.Y.Z punya aturan sbagai berikut

  • X versi Mayor (Perubahan arsitektur/fitur besar besaran)
  • Y versi Minor (Penambahan beberapa fitur )
  • Z versi perbaikan/patch/bugfix. (perbaikan /bugfix,security fix dsb).

Contoh software yang memakai teknik ini adalah Android. Contoh versi android

  1. Android 2.2.3
  2. Android 2.3.7
  3. Android 3.1.1
  4. Androdi 4.1.2

Namun, demi alasan pemasaran, versi ini hanya dipakai oleh para Programmer, Android menggunakan teknik penamaan makanan penutup untuk user untuk mempermudah pemasaran. Bagian penamaan seperti ini akan dibahas dibawah.

Metode X.Y.Z.P

Aturan dari metode ini adalah

  1. X Mayor version
  2. Y Minor Version
  3. Z Micro Version
  4. patch /build

Software yang menggunakan teknik ini adalah Linux. Mengapa linux sampai menggunakan 4 versi? karena linux adalah proyek yang sangat besar, source codenya saja sampai jutaan baris, makanya perbaikan kode atau security fix ada di point P. Walaupun sudah berumur lebih dari 14 tahun, Versi major Linux baru 3. Contoh versi linux adalah Linux 2.6.39.4. 

Metode Alpha, Beta, RC , Final

Metode ini tidak bisa berdiri sendiri, biasanya di kombinasikan dengan teknik X.Y.Z atau YY-MM seperti ubuntu. 4 nama diatas adalah  fase dalam pengembangan software. penjelasannya adalah sebagai berikut :

  1. Alpha Versi awal dari software, baru dicoba di lingkungan internal developer atau perusahaan.
  2. Beta versi awal dari software, sudah diperkenalkan untuk umum,namun tidak disarankan dipakai untuk keperluan Produksi karena belum stabil (gampang crash).
  3. RC (release candidate) adalah tahapan sebelum rilis, biasanya ditujukan untuk memastikan bahwa software memang sudah stabil, biasanya versi RC tidak jauh berbeda dengan versi finalnya.
  4. Final release, Software sudah stabil dan siap dipasarkan atau di rilis untuk pemakai umum.

Metode versi  dengan pola nama tertentu

Teknik ini biasanya dipakai untuk pemasaran, tujuan utamanya, orang awam non IT mudah mengucapkan dan mengingatnya, 3 Software populer yang menggunakan nama ini adalah Mac OS X, Ubuntu dan Android. Ubuntu menggunakan nama hewan khas Afrika, Mac OS menggunakan nama keluarga kucing dan android menggunakan nama makanan penutup yang manis.

  1. Ubuntu Saucy Salamander (Ubuntu 13.10)
  2. Ubuntu Raring Ringtail (Ubuntu 13.04)
  3. Android Kitkat (Android 4.4)
  4. Android Jelly Bean (Android
  5. Mac OS X Tiger ( Mac OS X 10.4)
  6. Mac OS X Lion  (Mac OS X 10.7)

Dari semua contoh diatas, ternyata kebanyakan Programmer menggunakan kombinasi pemversian software. Tujuan utamanya adalah memudahkan mengingat versi baik untuk developer atau user/Consumer. Sekarang giliran anda, Mau pakai  metode yang mana? Semoga artikel ini bermanfaat bagi anda, Pembahasan selanjutnya akan menjelaskan tentang Bagaimana Programmer open source mendapatkan uang.