gBilling – A Free Software Warnet Billing System.

Ketika sedang browsing untuk mencari informasi mengenai sistem billing untuk warnet linux (sebelumnya saya mengunjungi sebuah situs aplikasi billing komersil yang ternyata sekarang bisa run di linux, yang sering saya lihat bajakannya di warnet-warnet yang OS nya juga bajakan, he) saya menemukan sebuah situs aplikasi billing warnet gratis dan open source tentunya. Dari situs tersebut saya tidak hanya melihat sebuah sistem aplikasi billing warnet yang powerfull tetapi juga sebuah tujuan yang mulia banget apalagi kalo bukan untuk bermanfaat bagi orang lain, terutama untuk bangsa ini (pengembang aplikasi ini merupakan orang Indonesia dan mengharapkan aplikasi ini dikembangkan juga oleh orang Indonesia).

Berikut ini statement yang saya kutip langsung dari situs resminya.

“Mengapa mau mengembangkan free software di negara ini?”

Kata orang, mengembangkan free software atau software bebas di negara ini tidak ada gunanya, berbeda dengan di luar sana, yang mana orang lain akan sangat tertarik untuk melakukan kontribusi seperti menjadi developer, melaporkan bug, menulis dokumentasi, donasi, dan sebagainya. Orang-orang di negara ini hanya tertarik untuk memakai saja. Kata-kata ini ada benarnya, karena saya sudah merasakannya ;p. Tapi kita tidak bisa begitu saja menyalahkan ini, ada unsur politik (i hate politics!). Di negara ini sudah biasa disuap dengan software bajakan, pendidikan yang mono-sistem (hanya tergantung pada satu sistem), dan sebagainya. Bagaimana bisa berkreasi jika pembajakan di sana-sini, bagaimana bisa berkontribusi jika di mata kuliah hanya diajarkan Windows, Visual Basic, dan Microsoft Offices. Saya sebenarnya tidak peduli dengan kata-kata di atas, saya hanya cinta menulis program dan menikmatinya, saya bisa saja mengajak teman-teman developer di luar sana untuk mengembangkan gBilling, tapi tentu saja gBilling bukan buatan orang Indonesia lagi, harapan saya adalah gBilling 100% buatan orang-orang Indonesia.

Apa itu gBilling?.

gBilling adalah aplikasi sistem pembayaran warnet (warnet billing system) yang terdiri dari server dan client, gBilling diharapkan bisa berjalan di multi-platform (Linux, BSD, MacOS, atau Microsoft Windows). gBilling di tulis dalam bahasa C, dengan GUI toolkit GTK2 (The GIMP Toolkit), dan menggunakan SQLite sebagai sistem database dan penyimpanan data. gBilling akan selalu berada di bawah lisensi GNU Public License (GPL) versi 2.

Sejarah Singkat.

Penulis membuat aplikasi ini pertama kalinya ketika sedang menulis aplikasi network untuk server FreeBSD (Maret, 2008) yang kira-kira hampir sama dengan cara kerja aplikasi billing warnet, dan pada waktu proyek aplikasi network itu selesai, penulis tertarik untuk menulis aplikasi billing warnet yang sesungguhnya. Penulis memilih porting ke GNU/Linux (Linux) karena Linux adalah sistem yang sangat ideal untuk Warnet. Walaupun dengan waktu luang yang tidak banyak (suka nongkrong dan banyak dengar lagu ;p) gBilling pun mulai ditulis dari awal. Karena socket programming pada setiap sistem kompatibel, dan library-library yang dipakai bisa berjalan di semua sistem tersebut, gBilling juga seharusnya bisa berjalan di setiap sistem dengan tanpa atau sedikit modifikasi, ini seperti Winsock di Windows yang menggunakan fungsi-fungsi khusus (tapi tetap menyediakan kompabilitas dengan socket UNIX/BSD) dan kode error yang tidak seperti UNIX. Pertama kali gBilling ditulis dengan Python, seiring perkembangan aplikasi ini seperti system call, API library-library yang digunakan, bahasa scripting dianggap tidak cocok lagi dan gBilling ditulis ulang ke C sampai saat ini dengan GLib untuk fungsi-fungsi wrapper POSIX dan API Windows.

gBilling menggunakan model concurrent TCP/IP server model, artinya server dapat malayani request client secara bersamaan (concurrent) tanpa menunggu request dari client lainnya selesai. Concurrent ini dicapai dengan menggunakan thread pada setiap request client seperti scheduling, timeout atau operasi socket (I/O). gBilling telah diprogram dengan baik untuk memenuhi kondisi thread-safe, tapi gBilling tidak dapat dijamin thread-safe, kerena untuk itu pemeriksaan program harus dilakukan dengan debugging atau menggunakan aplikasi pendeteksi thread-safety. Debugging pada aplikasi yang kompleks dan multi-thread sangat tidak mudah, kita harus punya kesabaran, skill, dan banyak waktu (ya, kita harus punya banyak waktu ;p). gBilling ditulis dalam bahasa C untuk kecepatan dan portabilitas, tidak seperti bahasa high-level seperti Java, PHP atau Python yang mengakses system call dan API melalui runtime-nya (yang juga merupakan system-level programming). C akan mengajarkan kita bagaimana mengakses system call dan API langsung dari library-library yang disediakan oleh sistem.

Mengapa gBilling?.

Karena gBilling adalah software bebas (free software), anda dapat mengambil keuntungan dari aplikasi ini. Anda bisa memodifikasi sesuai keperluan anda, anda bisa mempelajari cara kerja gBilling dan membuat aplikasi billing anda sendiri, anda bisa berpartisipasi mengembangkan program ini, dan lain-lain. gBilling akan selalu ditulis dengan mangacu pada portabilitas, gBilling tidak akan mengacu hanya pada satu sistem yang mana akan membuang-buang waktu saja.

gBilling tidak dibuat untuk mendapat keuntungan atau penghargaan, gBilling dibuat untuk mendukung sistem operasi yang bebas seperti Linux agar bisa digunakan dengan baik untuk warnet. Sekali lagi gBilling adalah software bebas yang berada di bawah lisensi GNU General Public License versi 2, bukan OSI Open Source, lisensi BSD dan sebagainya.

Fitur-fitur gBilling:

  • Multiplatform (UNIX: Linux, MacOS, BSD, dan Microsoft Windows) untuk arsitektur 32 bit dan 64 bit
  • Concurrent TCP/IP server model (IPv4)
  • Multithread (per-client thread, dengan GLib Thread)
  • Orientasi penyimpanan database (SQLite embedding)
  • Kontrol penuh dari server (logout, shutdown, restart, tutup/buka login client)
  • Mendeteksi client yang tidak aktif (program client yang tidak aktif atau komputer client)
  • Sistem logging dan export log ke format CSV
  • Recovery (recovery data server/client untuk power loss, system crash)
  • Autentikasi user (GLib data hashing)
  • Chatting
  • Sistem paket
  • Sistem Item (Item-item yang dijual di warnet ditampilkan di client)
  • Kostumisasi sesuai dengan warnet anda (nama warnet, slogan, alamat)
  • Free software ;p

Fitur-fitur lainnya seperti sistem member (anggota), voucher, screen capture dan lain-lain akan dikembangkan pada versi selanjutnya.

Apa yang harus Saya & Anda Lakukan? ๐Ÿ™‚.

Silahkan baca lisensi di situs resminya sebelum penggunaan, distribusi dan modifikasi gBilling. Dukung pengembangan gBilling dengan ikut serta dalam penulisan kode program, menulis dokumentasi, laporan bug atau melakukan donasi. Donasi yang masuk akan sangat membantu pengembangan gBilling seperti untuk membeli distro-distro Linux, membeli sistem operasi yang belum di uji coba seperti Windows Vista (jangan pernah pikir bajakan ;p), dan keperluan lainnya. Untuk melakukan donasi, silahkan hubungi penulis.

Perhatian: Anda tetap selalu bisa mendapatkan gBilling dengan bebas dan tanpa melakukan donasi terlebih dahulu, jika ada pihak yang menjual atau meminta donasi untuk mendapatkan gBilling, silahkan hubungi penulis.

Menjadi Developer? Why Not? :-). Ini tantangan sekaligus untuk diri saya pribadi dan aktifis open source lainnya :-).

Anda bisa berkontribusi menjadi developer dengan merubah gBilling (coding) menjadi lebih baik lagi, anda bisa membuat artwork (logo, wallpaper, dll.), anda bisa membuat dokumentasi gBilling (dokumentasi adalah hal yang tidak kalah penting dari program itu sendiri), gBilling telah ditulis sejelas mungkin untuk memudahkan programmer untuk mengerti cara kerjanya, dengan syarat programmer telah terbiasa dengan pemrograman multiplatform baik UNIX atau Microsoft Windows, dan mengenal API library-library yang digunakan gBilling, kami tentunya akan membantu jika anda mempunyai pertanyaan tentang programming di gBilling, tapi kami tidak bisa membantu anda bagaimana menulis kode C, menggunakan compiler, IDE, GNU Build Tools (make, automake, autoconf, libtool) karena hal ini sangat mendasar. Kunjungi forum gBilling untuk informasi selanjutnya.

Berikut ini beberapa screenshoot yang saya dokumentasikan dari situs resminya. Untuk info selengkapnya silahkan teman – teman mengunjungi situs resminya ๐Ÿ™‚ http://gbilling.sourceforge.net.

Advertisements

One response

  1. Dukungan penuh untuk Open Source…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: