Takut merilis proyek hobi - bagaimana cara mengatasinya? [Tutup]

37

Saya tidak tahu apakah pertanyaan ini benar-benar terkait dengan pengembangan perangkat lunak, tetapi saya tetap akan mencobanya:

Seperti banyak programmer, saya suka bekerja pada proyek hobi. Terkadang, ide yang tampaknya bagus ternyata tidak terlalu bagus, jadi saya membatalkan proyek. Namun terkadang, sesuatu yang bermanfaat keluar dari proyek. Jadi, saya bisa melepaskannya, menyajikannya kepada dunia, bukan?

Salah. Entah bagaimana, saya sepertinya tidak bisa melakukan langkah ini. Saya khawatir kode saya tidak cukup baik, saya selalu bisa memikirkan hal-hal yang kurang optimal, fitur yang bisa ditambahkan. Jadi, saya tidak merilis apa pun, saya kehilangan minat, dan pada satu titik meninggalkan proyek.

Apakah ini normal? Bagaimana Anda mengatasi situasi seperti itu?

Oliver Weiler
sumber
11
Yah, itu cukup baik untuk Anda dan "mereka" mendapatkannya secara gratis, jadi mengapa mereka harus mengeluh?
Joachim Sauer
42
"Saya khawatir kode saya tidak cukup baik" - jika Anda melihat kembali apa yang Anda lakukan kemarin, dan Anda senang dengan itu, maka Anda tidak membaik.
Roger Lipscombe
9
Jika berhasil dan bukan kekacauan lengkap rilis spaghetti itu. Dalam pengalaman saya, semua kode akan dikritik, terbiasa dengannya. Microsoft merilis seluruh kode untuk dimasukkan ke dalam Linux. Sepertinya saya ingat itu dikirim kembali untuk dirapikan dan berakhir dengan setengah baris. Saya melihat kode saya setiap hari dan berpikir "Ya Tuhan. Apakah saya menulis itu? Doh!
Jaydee
4
Itu tidak akan pernah menjadi lebih baik tanpa orang menggedornya. Lakukan itu!
Scott C Wilson
4
Kamu berharap! Anda harus menganggap diri Anda beruntung jika ada yang tahu Anda telah merilis beberapa kode :)
Benjol

Jawaban:

51

Pertama-tama, ingat: pengiriman adalah fitur . Lebih baik melepaskan sesuatu yang tidak sempurna daripada tidak melepaskan sama sekali.

Hal lain yang perlu diperhatikan adalah bahwa ini adalah proyek Hobby. Jika Anda tidak memenuhi tenggat waktu atau kehilangan minat, itu bukan masalah besar. Lagipula, kamu melakukan proyek itu untuk bersenang-senang.

Tom Squires
sumber
23

Taruh di sana.

Ini tidak sulit untuk melakukan ini dengan situs pengkodean sosial seperti GitHub atau Bitbucket . Sebagian besar barang yang akan Anda keluarkan mungkin tidak akan banyak digunakan, tapi itu tidak masalah. Itu cukup normal di situs pengkodean sosial ini, dan banyak proyek ditinggalkan (bahkan beberapa yang berguna). Tetapi hal terbesar adalah bahwa orang lain dapat mengambil apa yang tersisa (mengingat Anda memiliki lisensi permisif).

Meskipun barang-barang Anda mungkin tidak akan digunakan oleh orang lain, ada beberapa manfaat mengapa Anda masih harus memadamkannya:

  • Anda belajar menggunakan kontrol versi yang merupakan sesuatu yang tidak diketahui oleh banyak programmer, membuat Anda lebih bisa diandalkan
  • Orang-orang mungkin menunjukkan masalah untuk Anda; semua peluang bagi Anda untuk belajar melakukan berbagai hal secara berbeda
  • Anda akan memiliki portofolio barang yang telah Anda lakukan secara online, sangat bagus untuk melengkapi resume Anda
Spoike
sumber
3
+1 untuk "Orang-orang mungkin menunjukkan masalah untuk Anda" - itu adalah salah satu manfaat besar yang bisa didapat dari menawarkan kode sebagai sumber terbuka.
Andrew Thompson
14

Mendapatkan kontributor ke proyek open source yang sudah bebas bug mungkin lebih sulit daripada yang memiliki banyak bug mudah untuk dipecahkan, karena bug ini merupakan insentif bagi pengguna awal untuk membuat mereka terbiasa dengan kode.

Ketika Linus pertama kali memperkenalkan kernel Linux, itu bukan kode yang lengkap, stabil, bebas bug, dan bersih; itu adalah keyboard Finlandia yang tidak lengkap, jelek, tidak bisa dibawa, dan bawaan .

Lie Ryan
sumber
3
Saya suka perspektif ini.
TehShrike
+1 untuk contoh Linux.
Calmarius
6

Pada dasarnya, saya tidak akan khawatir tentang apakah orang menyukai kode saya atau tidak. Rilis di bawah lisensi gratis, jika berguna bagi orang-orang, tetapi mereka menemukan bug, solusi yang kurang optimal dan membutuhkan lebih banyak fitur, mereka bebas untuk memperbaikinya sendiri. Menggunakan GPL atau LGPL juga akan memungkinkan Anda untuk menemukan perbaikan ini, dan Anda dapat menerapkannya sendiri jika Anda merasa bermanfaat / pas.

martiert
sumber
5

Maaf, tetapi Anda melakukan kebalikan dari apa yang seharusnya Anda lakukan!

Lepaskan sesegera mungkin, dengarkan umpan balik orang, dan kemudian terapkan fungsi baru berdasarkan itu. Bukan sebaliknya!

Thomas Bonini
sumber
Itu hanya benar ketika Anda mencoba untuk mengoptimalkan kegunaan. OP jelas berusaha untuk memaksimalkan kredibilitas jalanan, atau setidaknya meminimalkan rasa malu.
Caleb
2
@ Caleb: itu selalu benar. Tujuannya adalah selalu mengirimkan produk dan tidak pernah menulis kode!
Thomas Bonini
Jangan lupa, kontrol versi memungkinkan orang melihat PERBAIKAN dalam kode. Melihat seseorang mulai dengan kode yang buruk tetapi dapat membentuknya menjadi contoh yang terlihat bagus menunjukkan a) Mereka dapat belajar, b) mereka bersedia untuk memperbaiki kode lama alih-alih mengabaikannya
Aren
4

Apa yang harus kamu kehilangan?

Anda juga dapat merasa nyaman mengetahui bahwa itu mungkin tidak akan diperhatikan, kecuali kalau itu benar-benar bagus atau mengisi ceruk baru.

Dan, jika Anda mendapatkan umpan balik negatif - ini adalah kesempatan untuk belajar .. Jangan sia-siakan.

Evgeni
sumber
"Mungkin juga tidak akan diperhatikan". Sayangnya, sangat benar.
user16764
3

Benar-benar normal, di domain apa pun di luar perangkat lunak juga. Pastikan ia membangun di beberapa lingkungan yang berbeda, menulis README, dan melemparkannya ke github / codeplex / etc. Melewati ini pertama kali adalah satu-satunya cara untuk mengatasi kecemasan.

Kali kedua, ketiga, dan ke-n adalah tempat kesenangan itu berada!

Matt Stephenson
sumber
1

Inilah satu alasan untuk merilis perangkat lunak yang belum selesai: untuk mulai membangun komunitas. Jika Anda ingin proyek Anda menjadi alat open source yang berguna, Anda perlu pengembang lain. Salah satu cara untuk menarik mereka adalah dengan merilisnya lebih awal, dan kemudian terus (secara publik) melakukan perbaikan. Jangan menambahkan fitur-fitur itu secara rahasia - lakukan secara publik, di halaman Github, atau di mana pun. Itu menghasilkan aktivitas dalam sejarah.

Pengembang lain tidak ingin bekerja pada proyek yang tampaknya ditinggalkan. Jadi melakukan pekerjaan pengembangan Anda di depan umum menunjukkan minat aktif dan berkelanjutan. Sebaiknya simpan beberapa fitur di lengan Anda agar Anda dapat menambahkannya di depan umum.

Steve Bennett
sumber