Senin, 07 September 2015

Cerita program mentor proyek open source Python Indonesia

Tidak jarang saya mengalami kesulitan ketika mempelajari pemrograman: membaca dokumentasi yang ada tidak selalu membuat saya bisa langsung mengerti. Kadang butuh buku, kadang butuh tanya sana sini. Memang, harus diakui, dasar pengetahuan dan pemahaman teori yang dimiliki seringkali belum cukup (mari kita diskusikan ini di kesempatan lain).

Kalau tidak salah ingat, saya mengenal bahasa pemrograman Python sekitar tahun 2000 sewaktu masih kuliah. Saya berusaha mempelajari lebih lanjut dan ketika menulis buku Python dan Pemrograman Linux (tahun 2002), saya juga banyak membaca dari buku dan sekaligus tanya sana sini :)

Ketika mengerjakan sesuatu, dengan tujuan yang jelas, belajar harusnya dapat menjadi lebih terfokus. Ketika ini digabungkan dengan kurangnya pengetahuan (atau pengalaman), saya berpikir, program mentor untuk proyek open source mungkin dapat berguna. Tujuannya, seseorang yang memiliki waktu, komitmen dan kemampuan pada bidang teknis tertentu, dapat berbagi pengetahuan dan pengalaman kepada yang lain. Dan, untuk mendukung tujuan tersebut, diharapkan ada yang dihasilkan selama proses mentoring (tidak hanya berupa tanya/jawab).

Saya kemudian mengusulkan ini kepada rekan-rekan di komunitas Python Indonesia melalui email, dan akhirnya diijinkan. Sebuah halaman di www.python.or.id pun dibuat dan sekaligus disampaikan di mailing list (pada tanggal 5 Mei 2014). Terima kasih atas tanggapan, usulan dan dukungan yang telah diberikan.



Awalnya, inisiatif harus selalu dari mentor (secara sukarela). Namun, kemudian disesuaikan sehingga, calon peserta pun bisa mengusulkan dan mencari mentor (idealnya lewat mailing list). Agar dapat berguna, proyek yang dikerjakan harus konkrit dan realistis, dirilis secara free/open source, dan cara komunikasi yang dipergunakan dapat diarsip dan diakses oleh anggota komunitas Python Indonesia.

Lalu apakah program ini kemudian berjalan? Seingat saya, sepertinya tidak sesuai dengan harapan (setidaknya dalam jumlah proyek open source yang dikerjakan). Harus diakui, saya tidak cukup aktif untuk mempromosikan program ini. Yang ada, saya kemudian malah pindah ke penulisan Buku OpenERP :)

Karena tidak lagi bisa membagi waktu dan prioritas, pada tanggal 11 Juni 2015, saya mengundurkan diri, sekaligus meminta tolong agar email nop@python.or.id (yang diberikan kepada saya pada 27 Februari 2014) dapat dihapus sehingga jatah email yang ada dapat diberikan kepada yang lebih berhak (saya tidak lagi login ke akun email tersebut per tanggal 11 Juni 2015).

Saya berharap agar program mentor proyek open source ini - apabila masih relevan - dapat dikelola secara lebih baik. Terus belajar dan menambah pengetahuan, semoga dapat menjadikan kita orang yang lebih baik, lebih bijaksana dan berguna untuk masyarakat.

Sabtu, 05 September 2015

Cerita penulisan Buku OpenERP

Sampai tahun lalu, saya beberapa kali sempat mencoba menggunakan OpenERP. Dalam proses mempelajari OpenERP tersebut, saya cukup mengalami kesulitan. Dalam rangka belajar lebih teratur, sekaligus mendokumentasikan apa yang dipelajari, dan berharap dapat berguna bagi yang lain, saya berpikir untuk menulis sebuah buku sederhana tentang OpenERP (versi 7).

Selama ini, saya umumnya menulis buku sendirian. Dan, khusus untuk Buku OpenERP ini, saya pikir, ada baiknya apabila penulisannya dilakukan bersama yang lain. Ide ini kemudian disampaikan ke mailing list Python Indonesia, yang kemudian memicu berbagai tanggapan (kebanyakan mendukung). Rencananya, apabila Buku OpenERP ini kemudian berhasil diterbitkan, 30 persen dari hasil penjualan akan disumbangkan ke komunitas Python Indonesia.

Jadwal penulisan buku disusun dan beberapa calon penulis pun bergabung. Sebuah repositori GitHub juga dibuat (seingat saya, waktu itu untuk dokumentasi, daftar isi dan jadwal penulisan buku). Rencananya, penulisan buku akan dilakukan selama sebulan, mulai 17 Juli 2014 sampai 17 Agustus 2014.



Ini adalah cerita setahun lalu dan saya tidak begitu ingat persis. Sepertinya, saya cukup tegang dengan jadwal yang begitu ketat dan tidak semua penulis (termasuk saya) bisa menyerahkan naskah tulisan tepat waktu. Pada akhirnya, sempat terjadi perombakan daftar isi dan tim penulis. Jadwal pelaporan pun kerap meleset.

Selama penulisan, dukungan dari rekan-rekan komunitas Python Indonesia sangatlah membantu. Seingat saya, kami juga gagal menemukan penerbit yang bersedia. Pada akhirnya, kami memilih untuk terus menulis dan menyediakan bukunya secara bebas! Buku OpenERP kemudian selesai ditulis pada tanggal 22 Agustus 2014, terlambat beberapa hari dari jadwal. Saya yakin, tim penulis yang terdiri dari saya, Whisnu Budhysantika dan Widoyo pastilah sangat lega :)



Naskah buku kemudian memasuki proses penyuntingan. Malam-malam kurang tidur saya kemudian dimulai lagi :) Buku yang selesai disunting kemudian diserahkan kepada beberapa rekan yang bersedia memberikan pujian. Sempat ada keinginan untuk me-layout buku tersebut, walau pada akhirnya tidak terwujud. Pada tanggal 27 September 2014, Buku OpenERP pun kemudian dipublikasikan, lengkap dengan pujian dari Owo Sugiana, Steven Haryanto dan Zaki Akhmad. Saya sungguh berterima kasih karena telah bersedia memberikan pujian untuk buku ini, ditengah kesibukan :)



Demikianlah, buku ini kami persembahkan, semoga dapat bermanfaat.

Terima kasih sekali lagi saya ucapkan kepada semua yang terlibat dan mendukung penulisan Buku OpenERP ini. Ini adalah pertama kalinya saya menulis buku secara kolaboratif dan sukarela, dan tanpa dukungan yang diberikan, saya pikir, buku ini tidak akan selesai ditulis.

Apakah ada yang bersedia untuk melanjutkan penulisan buku tersebut?

Selasa, 11 Agustus 2015

sqliteboy.exe tidak lagi tersedia

SQLiteBoy adalah aplikasi manajer SQLite berbasis web yang dilengkapi dengan fasilitas form dan laporan. Karena ditulis dengan Python, aplikasi ini dapat dijalankan pada berbagai sistem operasi dimana Python dapat dijalankan. Pustaka wajib hanyalah web.py, yang juga ditulis dengan Python murni (pure python).

Untuk memudahkan pengguna sistem operasi Microsoft Windows, sebuah aplikasi standalone disediakan sehingga pengguna tidak perlu menginstal Python (dan pustaka lain) untuk menggunakan SQLiteBoy. Cukup dengan klik ganda pada file sqliteboy.exe (ukuran 6 MB): tidak diperlukan instalasi apapun, dapat dijalankan oleh user biasa dan dapat pula dijalankan dari USB Flash Disk.

Walau demikian, karena kurangnya tenaga dan lisensi sistem operasi, per hari ini, sqliteboy.exe tidak lagi dapat disediakan. Untuk penggunaan SQLiteBoy, selanjutnya dapat langsung menggunakan source code yang tersedia (GPL), yang dapat didownload dari sqliteboy.com.


Senin, 10 Agustus 2015

Selamat tinggal Tedut Sys, Tedut Notes dan Tedut Menu

Menjelang akhir tahun 2010, saya mencoba menulis beberapa aplikasi untuk smartphone BlackBerry, yang kemudian didistribusikan melalui BlackBerry World (saat itu masih bernama BlackBerry AppWorld).

Pada pertengahan Desember 2010, lahirlah Tedut Sys, yang merupakan aplikasi gratis yang dapat digunakan untuk melihat informasi sistem smartphone BlackBerry (mulai versi software 4.2.1). Ini adalah aplikasi pertama yang diluncurkan dan untungnya mendapatkan tanggapan yang cukup bagus. Per hari ini, Tedut Sys telah didownload sebanyak 25.494 kali dan telah direview sebanyak 31 kali (28 diantaranya adalah lima bintang).

Walaupun gratis, pada awalnya Tedut Sys direncanakan untuk dibiayai oleh iklan: sebuah tombol, yang kalau diklik, dapat menampilkan iklan dari sponsor (sesuai pengaturan dari server). Sayangnya, tidak ada satu pun pemasang iklan yang bersedia, sehingga aplikasi dirilis ulang sepenuhnya gratis, tanpa embel-embel apapun :)

Karena dukungan semangat dari pengguna program ini, beberapa versi sempat diluncurkan, sampai versi terakhir adalah 2.0.4 (ukuran kurang dari 20 KB). 

Selanjutnya, karena ada kebutuhan untuk menulis catatan, dalam bentuk kolom dan baris, maka Tedut Notes pun dikembangkan dan dirilis pada Januari 2011. Awalnya, aplikasi ini adalah aplikasi berbayar (saya lupa harganya), namun karena sedikit sekali yang membeli, maka Tedut Notes pun dirilis ulang sebagai aplikasi gratis.

Tedut Notes adalah aplikasi yang paling serius dikembangkan, diperbahahui paling sering sampai versi terakhir adalah 1.5.6 (ukuran kurang dari 42 KB), yang dapat dijalankan pada software versi 4.2.1 atau lebih baru. Per hari ini, Tedut Notes telah didownload sebanyak 24.452 kali dan telah direview sebanyak 26 kali (14 diantaranya adalah lima bintang).

Berikutnya, seingat saya, ada sedikit kebutuhan untuk melihat informasi tertentu ketika tombol menu ditekan (ketika berada di aplikasi apapun). Setelah belajar lebih lanjut, Tedut Menu pun dikembangkan dan dirilis pada Maret 2011. Berbeda dengan dua aplikasi sebelumnya, aplikasi ini hanya diperbaharui sebanyak dua kali sampai versi terakhir adalah 1.0.1 (ukuran kurang dari 10 KB), yang dapat dijalankan pada software versi 4.2.1 atau lebih baru.

Walaupun ada pengguna yang mempertanyakan fungsi Tedut Sys, atau bingung menggunakan Tedut Notes, bagi sebagian pengguna, Tedut Menu adalah yang paling membingungkan. Hal ini disebabkan karena aplikasi akan berjalan otomatis pada saat sistem dijalankan dan aplikasi, ketika dijalankan lewat icon, hanya akan menampilkan preferensi program (untuk mengatur informasi apa saja yang ingin ditampilkan). Ketika tombol menu BlackBerry ditekan, barulah Tedut Menu kelihatan berfungsi :) 

Per hari ini, Tedut Menu telah didownload sebanyak 15.210 kali dan telah direview sebanyak 30 kali (20 diantaranya adalah lima bintang).

Hari ini, hampir lima tahun ketika aplikasi pertama dirilis, jumlah yang mendownload semakin jauh berkurang. Lagi pula, aplikasi-aplikasi tersebut ditujukan untuk pengguna smartphone BlackBerry sebelum versi BlackBerry 10. Mempertimbangkan hal tersebut dan semakin berkurangnya tenaga untuk me-maintain sejumlah aplikasi tersebut (walau hanya ketika ada bug kritis), maka dengan sangat terpaksa, Tedut Sys, Tedut Notes dan Tedut Menu telah ditarik dari BlackBerry World.

Saya mengucapkan terima kasih banyak telah bersedia menggunakan atau memberikan review, baik untuk Tedut Sys, Tedut Notes atau Tedut Menu. Senang apabila aplikasi-aplikasi kecil tersebut dapat berguna bagi Anda :)

Untuk deskripsi dan fitur terakhir ketiga aplikasi tersebut (dalam bahasa Inggris, sebagaimana dipublikasikan pada BlackBerry World), kunjungilah halaman berikut.

Senin, 14 Juli 2014

Mengembangkan program open source dan mendapatkan penghasilan

Seorang teman bertanya. Apa sesungguhnya yang dimaksud dengan software open source? Kenapa seorang pengembang program bersedia untuk repot-repot membuat program, kemudian membagikan source codenya kepada publik? Lalu bagaimana ia mendapatkan penghasilan?

Saya pikir, ini adalah pertanyaan yang sangat wajar. Bagi sebagian pengembang program, source code harus selalu dijaga dan tidak mungkin dibagikan. Dengan source code tersedia bebas, maka siapapun bisa menggunakan program yang dibuatnya. Lebih lanjut lagi, siapapun kemudian bisa mempelajari cara program dibuat. Padahal, sebuah program mungkin telah dikembangkan selama berbulan-bulan, atau bahkan bertahun-tahun, dengan pengorbanan yang tidak sedikit. Ukuran source code mungkin mencapai puluhan ribu atau ratusan ribu baris atau bahkan lebih.

Di sini, saya mengerti akan hal tersebut dan menghargainya. Saya juga tidak ingin dan tidak berhak dalam posisi menilai.

Hanya, karena kebetulan saya mengembangkan program dan menyediakan source codenya secara bebas, saya ingin sedikit berpendapat.

Istilah yang ada juga bermacam-macam. Ada free software, open source, free/open source software (FOSS), free/libre open source software (FLOSS) ataupun software libre. Masing-masing memiliki penekanan tertentu atau berusaha untuk mengkombinasikan. Tulisan ini tidak akan masuk ke filosofi di balik istilah-istilah tersebut.

Sebagai gantinya, saya akan bercerita berdasarkan apa yang saya alami dan lakukan. Ketika saya menulis sebuah program dan menyediakan source codenya untuk diakses secara bebas oleh publik, pertama-tama saya berharap program tersebut bisa digunakan oleh siapa saja, semudah mungkin, tanpa batasan apapun.

Kemudian, apabila ada yang bersedia untuk mempelajari source codenya, dan menemukan ada yang kurang, mungkin bisa menginformasikan atau bahkan ikut mengembangkan. Tidak ada program yang benar-benar sempurna dan lengkap, kecuali program tersebut sangatlah sederhana. Dengan kontribusi yang ada, saya berharap program yang saya kembangkan awalnya bisa lebih baik/berguna lagi.

Saya kadang-kadang mendapatkan ucapan terima kasih, pujian, ataupun bahkan relasi baru, kadang dari berbagai tempat yang tidak pernah saya bayangkan sebelumnya.

Lalu, bagaimana saya mendapatkan penghasilan? Berikut adalah beberapa yang pernah saya lakukan, untuk software yang dikembangkan:
  • Menjual kustomisasi
  • Menjual jasa dukungan komersial
  • Menjual training
  • Mengembangkan solusi yang lebih kompleks berbasiskan software yang dikembangkan tersebut (bentuknya bisa bermacam-macam)
  • Mendapatkan pekerjaan berdasarkan skill yang saya miliki

Tentu saja, semua ini butuh proses dan kesungguhan hati. Software yang kita kembangkan tentu saja harus ada penggunanya dulu. Sebagai contoh, untuk SQLiteBoy, saya bahkan menulis bukunya (dan softcopy buku tersebut bisa didapatkan secara bebas). 


Apakah Anda memiliki pendapat lain atau sekedar komentar? Mari kita diskusikan!

Menulis lagi, belajar lagi

Bagi saya, menulis adalah kegiatan yang menyenangkan, walaupun tidak mudah :)

Karena itulah, setelah tidak lagi di Majalah InfoLINUX (2002-2011), saya praktis berhenti menulis.

Tapi, dalam menulis, saya pikir, kita selalu belajar. Dan, belajar, selalu menyenangkan ketika tidak ada beban.

Jadi, saya mencoba menulis lagi.