Bagaimana Anda harus berurusan dengan proyek populer yang tidak lagi ingin Anda pertahankan?

75

Saya adalah pengelola proyek yang memiliki basis pengguna non-teknis yang besar. Saya telah memeliharanya selama sekitar 4 tahun sekarang dan menambahkan fitur baru seperti yang diminta.

Saya ingin pindah ke proyek lain sekarang dan berhenti mengembangkan aplikasi ini. Karena sifat non-teknis dari pengguna, ada kontribusi kode sangat sedikit di masa lalu. Saya tidak percaya saya akan dapat menemukan orang lain untuk mengambil alih proyek menggantikan saya.

Bug, masalah, permintaan fitur - ini masih masuk. Saya masih menanggapi email untuk bantuan, karena saya tidak yakin apakah saya harus mengabaikannya, memberi tahu mereka bahwa saya tidak bekerja pada aplikasi, atau jika saya harus merespons ke email hanya dalam kasus tertentu.

Apa cara terbaik untuk 'mengabaikan' proyek ini, tetapi masih membiarkan pengguna menggunakan aplikasi ini?


Pembaruan (Juli 2016) - Tidak berjalan sesuai rencana. Saya membuat pengumuman di README dan segera setelah itu, saya mulai menerima kontribusi yang lebih substansial. Tarik permintaan dengan perbaikan bug, fitur, dokumentasi, aktivitas masalah. Sejak itu, proyek ini terasa 'dihidupkan kembali' dan saya sekarang dengan senang hati mempertahankannya bersama dengan proyek-proyek baru. Saya memiliki kolaborator juga. Pada tebakan, itu mungkin jenis kontribusi yang mempengaruhi pandangan saya tentang proyek dan dengan kualitas kontribusi meningkat, itu tidak terasa seperti tugas lagi.

Mendhak
sumber
1
Bisakah Anda porting ke platform baru atau teknologi baru? Dengan cara itu akan menarik bagi Anda untuk bekerja dan Anda bisa menjelaskan untuk mendukung panggilan bahwa perbaikan bug dan peningkatan tidak lagi dilakukan pada kode lama dan menyarankan mereka meng-upgrade ketika sudah siap dll?
Stefan
5
Karena penasaran, apa proyeknya? Tautan? (dengan asumsi itu open source)
Andres F.
70
Ini Pustaka Google, bukan?
Kyralessa
3
Periksa ulang asumsi Anda: Apakah basis pengguna Anda terlalu non-teknis untuk mempertahankan proyek atau apakah proyek Anda terlalu tertutup untuk memungkinkan partisipasi di luar masalah dan permintaan fitur?
Bengt
Sekarang kita semua ingin melihat proyek ... Anda harus menambahkan tautan.
daviewales

Jawaban:

40

Saya kira ini bukan proyek di tempat kerja di mana Anda adalah karyawan yang dibayar dan sesuatu yang Anda lakukan di waktu luang Anda secara gratis?

Jika Anda tidak menghasilkan uang dari ini, maka jelas tidak ada insentif untuk Anda, dan tidak ada insentif bagi orang lain untuk datang segar untuk menghadapinya. (Kecuali mungkin untuk amal atau organisasi sukarela serupa)

Sebagai alternatif, mengapa tidak melihat kemungkinan menambahkan fitur berbayar.

Dengan cara ini Anda mungkin memiliki beberapa insentif untuk melanjutkan. Anda mungkin menemukan orang yang bersedia membayar, terutama ketika alternatifnya adalah agar sistem berhenti dikembangkan secara aktif. (tentu saja orang mungkin meninggalkan sistem Anda, tetapi apa yang Anda pedulikan, Anda sudah tidak dibayar).

Pilihan lain bisa menggunakan proyek untuk mempelajari teknologi baru? Apakah ini situs web? Tingkatkan ke teknologi terbaru? Konversi dari Asp.Net ke MVC4 misalnya? membangun versi seluler, menjadikannya berbasis layanan dan membuat ujung depan aplikasi iOS untuk itu?

ozz
sumber
23
Kemungkinan yang berbeda adalah menjual (atau menyumbangkan) proyek ke perusahaan. Anda memiliki pengguna, perusahaan dapat melihat keuntungan.
Sulthan
@Sulthan benar-benar!
ozz
1
Jika Anda tidak menghasilkan uang dari kenaikan tarif ini atau mulai mengenakan biaya untuk layanan ini.
Bill Leeper
9
Dia menandainya "open source". Itu agak seperti amal atau kerja sukarela. Motifnya sangat berbeda. Biasanya Anda tidak dapat menjual proyek sumber terbuka. Tapi dia selalu bisa meminta bayaran untuk pekerjaan tambahan. Dapatkan sumbangan donasi untuk apa yang diperbaiki / ditambahkan selanjutnya.
Philip
@Sulthan - sangat menarik, tidak mempertimbangkan itu. Saya akan melihat perusahaan mana yang akan tertarik pada ini.
Mendhak
25

Umumkan pengabaian produk Anda kepada komunitas pengguna Anda. Mungkin Anda akan menemukan pengganti untuk peran Anda sebagai pemelihara. Cobalah untuk mengatur waktu penyerahan, seperti yang Anda lakukan dengan proyek dalam pekerjaan harian Anda.

Seperti yang dikatakan esr di The Cathedral And The Bazaar :

Ketika Anda kehilangan minat pada suatu program, tugas terakhir Anda untuk itu adalah untuk menyerahkannya kepada penerus yang kompeten.

Residuum
sumber
2
Untuk menambah ini, komentari situs pemrograman dan lihat apakah ada yang mau mengambil alih. Beberapa orang tidak yakin proyek apa yang ingin mereka lakukan tetapi menginginkan pengalaman pengkodean dan terbuka untuk ide. Periode serah terima mungkin melibatkan lebih banyak pekerjaan dalam jangka pendek tetapi mudah-mudahan akan membuahkan hasil dalam jangka panjang.
James
11

Saran lain untuk Anda, yang sedikit berlawanan dengan apa yang Anda minta tetapi saya pikir harus ada dalam daftar Anda untuk dipertimbangkan. Sudahkah Anda mempertimbangkan untuk tidak meninggalkannya? Jika Anda memiliki proyek yang ada orang-orang yang secara aktif menggunakan dan memiliki persyaratan yang meningkat, tetapi tidak dapat memodifikasinya sendiri dan Anda adalah satu-satunya ahli dalam perangkat lunak ... maka Anda berada dalam posisi untuk menagih mereka uang untuk itu.

Jika sumber terbuka, Anda dapat mempertimbangkan untuk menutupnya (pilihan Anda jika Anda ingin menghentikan kompetisi dalam mengembangkan proyek lebih lanjut). Ketika permintaan fitur berikutnya masuk, katakan ya untuk biaya $ xyz.

Hanya opsi untuk dipertimbangkan.

Ian
sumber
11
Mengambil aplikasi sumber terbuka sebelumnya dan menjadikannya sumber tertutup akan sangat mengganggu banyak pengguna dan bahkan tidak mungkin secara hukum jika pengguna lain telah berkontribusi kode di bawah lisensi sumber terbuka tertentu, tergantung pada perjanjian kontributor yang mereka atau tidak tandatangani. Ada perbedaan yang sangat besar antara pengisian daya untuk pekerjaan Anda pada proyek sumber terbuka dan tiba-tiba menutup apa yang sebelumnya terbuka.
James
3
@James Mengisi daya untuk pekerjaan yang dilakukan tidak selalu berarti sumber tertutup. Itu hanya berarti bahwa seseorang menginginkan perangkat lunak untuk memiliki fitur baru, dan dia ingin insentif untuk menambahkannya - tidak ada alasan dia tidak dapat membebankan biaya atas pekerjaannya sambil tetap open source.
Daenyth
1
@ Ketidaktahuan tentu saja, tetapi jawaban ini secara khusus menyebutkan menutupnya, jadi itu adalah sesuatu yang perlu didiskusikan.
James
@James Anda tidak perlu membuatnya sumber tertutup. Anda masih dapat merilis fitur baru sebagai sumber terbuka ... tetapi tidak ada alasan untuk melepaskan untuk melakukan kode sampai pemeriksaan dihapus.
Kereta luncur
1
@ArtB Ya saya tahu, tetapi jawaban ini secara khusus menyebutkan untuk menutupnya, jadi komentar saya mengacu pada hal itu.
James
7

Merupakan hal yang sulit untuk meninggalkan basis penggemar Anda, terutama ketika Anda berbeda dari mereka. Jika ada pengembang dalam grup pengguna, itu akan menjadi masalah yang mudah untuk dipecahkan: cukup umumkan keluar Anda yang akan datang dan sarankan agar orang lain naik, menawarkan untuk membantu mereka meningkatkan kecepatan sebelum Anda pergi. Karena tidak ada, pertanyaannya adalah ini: Dapatkah Anda (atau pengguna Anda) menemukan seseorang untuk menggantikan Anda dalam jangka waktu yang masuk akal bagi Anda (atau pengguna Anda).

Di masa lalu, saya telah memelihara beberapa proyek selama bertahun-tahun lebih lama daripada yang saya perhatikan karena itu baik untuk reputasi saya. Perawakan saya, meskipun relatif kecil, di bidang saya telah membantu saya menemukan pekerjaan ketika saya membutuhkan atau menginginkannya, dan itu memiliki nilai bagi saya. Nilai yang cukup untuk membuatnya bernilai menempatkan waktu saya ketika saya bisa. Akhirnya, tentu saja, saya pergi, tetapi saya memastikan kode proyek lengkap tersedia untuk setiap penerus.

Ross Patterson
sumber
"Ini hal yang sulit untuk meninggalkan basis penggemar kamu, terutama ketika kamu berbeda dari mereka." - Tepat! Saya peduli dengan mereka dan beberapa posting lain di sini berbicara tentang memperjelas niat saya + menagih, yang bisa berfungsi.
Mendhak
"Status saya di bidang saya telah membantu saya menemukan pekerjaan". Poin bagus - proyek Open Source selalu terlihat mengesankan di resume / CV.
Mawg
5

Apakah Anda ingin meninggalkan proyek karena ...

Anda tidak ingin melakukannya lagi?

Kemudian: Shutdown ala Reader.

Atau ... pekerjakan pengembang (lanjutkan di bawah)

Atau karena Anda kehilangan uang?

Hitung biaya out-of-pocket (dan lanjutkan di bawah)

Atau karena Anda tidak menghasilkan uang?

Hitung berapa banyak yang Anda butuhkan untuk membuat Anda merasa berbeda:

  1. Biaya out-of-pocket harus ditanggung
  2. biaya pengembang untuk melanjutkan pengembangan
  3. margin keuntungan

Jujurlah dengan pengguna Anda: jelaskan kepada mereka bahwa perlu waktu, energi, dll untuk mempertahankan layanan.

Kemudian minta sumbangan dan / atau biaya untuk fitur yang ada . Jangan mencoba menemukan fitur-fitur premium yang hanya menunda menentukan apakah layanan ini benar-benar cukup berharga untuk mendukungnya sendiri. Pergilah dengan fitur yang Anda miliki.

Jika pengguna menggerutu dengan baik maka mereka bisa pergi ke tempat lain. Jika donasi dan / atau pendaftaran tidak mencukupi, maka shutdown.

Bersikap brutal - begitu Anda menarik steker, jangan melihat ke belakang.

Menepuk
sumber
2
+1 untuk gagasan ini. Sertakan "tagihan" bulanan yang akan Anda bebankan jika Anda melakukan ini untuk seseorang secara komersial. Lalu katakan kepada pengguna Anda bahwa mereka dapat menggabungkan dan menyewa pengelola sejak saat itu. Sial, mungkin Anda bahkan dapat melamar untuk posisi itu :)
Zlatko
@zladuric - setuju itu sebabnya saya punya "biaya pengembang untuk melanjutkan pengembangan" (di mana "Anda" bisa jadi pengembang itu). Terlalu banyak pengembang melakukan sesuatu yang "menyenangkan" tanpa mengakui perlunya menjalankan bisnis. TANSTAAFL
Pat
3

Anda memiliki beberapa opsi seperti yang telah dicatat oleh yang lain. Pilihan saya adalah mengeluarkan pemberitahuan akhir hidup. Tunjukkan bahwa produk akan ditutup pada tanggal ini dan itu.

Selain itu menunjukkan bahwa karena produk ini mendekati akhir masa pakainya, hanya bug penting yang memengaruhi kemampuan aplikasi berfungsi sebagaimana dirancang atau dimaksudkan akan diatasi. Yaitu jika server sedang down Anda akan mendapatkannya dan berjalan kembali.

Jika pengguna memiliki data, Anda mungkin harus menambahkan cara bagi mereka untuk mengekspornya.

Lihatlah apa yang baru-baru ini dilakukan Google dengan Pustaka untuk panduan. Mereka menutupnya dan itu adalah layanan yang sangat populer, tetapi itu tidak sesuai dengan tujuan jangka panjang mereka sehingga keputusan sulit untuk menutupnya perlu dibuat.

Bill Leeper
sumber
1
+1 Berikut ini adalah contoh proyek serupa, luar biasa (IMO): picoos.sourceforge.net
Vorac
3

Apakah semacam setengah jalan mengukur solusi yang mungkin? Terus proyek tetapi mengurangi beban kerja Anda?

Misalnya, Anda mengatakan Anda masih merespons email untuk meminta bantuan. Bisakah Anda mengatur forum pengguna dan bersikeras semua permintaan dukungan dilakukan sehingga pengguna daya lainnya dapat membantu?

James
sumber
1
Selain itu, batasi pengembangan hanya untuk perbaikan bug utama. Dengan begitu aplikasi (seharusnya berakhir) fungsional dan kuat.
Vorac
Nah jawaban yang bermakna itu hanya menunda yang tak terhindarkan. Bunuh atau cari uang. Jangan lakukan di tengah jalan - maka itu hanya akan menghabiskan energi.
Pat
2
@pat Anda tampaknya menganggap satu-satunya motivasi yang bisa dimiliki seseorang adalah uang. Ada motivasi lain untuk menulis perangkat lunak open source, sesuatu yang menurut saya op mengerti ketika mereka berbicara tentang keinginan untuk membantu pengguna mereka. Apa pun, mungkin jawaban ini tidak tepat untuk OP dalam kasus ini tetapi mereka adalah solusi lain selain "OMG Money" yang setidaknya harus dibahas.
James
@ James - maaf tapi ya. Kami butuh uang untuk bertahan hidup. Kita semua memiliki waktu yang sangat terbatas di dunia ini. Kita harus fokus pada hal-hal yang menciptakan "nilai" terbanyak. Bekerja pada proyek yang tidak dihargai adalah pemborosan hidup. Bagaimana mengukur nilai: 1) jika orang lain tidak menemukan nilai dalam suatu proyek (dan tidak menggunakannya), lalu bagaimana "memberi penghargaan" pada proyek itu? 2) uang adalah cara kita mengukur "nilai". 3) Biaya peluang - jika OP terus bekerja pada proyek ini (tidak dinilai?) - apa yang OP sedang kerjakan?
Pat
@Pat OP jelas menyatakan proyek memiliki basis pengguna yang besar, jadi saya tidak tahu dari mana Anda mendapatkan sampah "tidak dihargai" ini. Hanya karena tidak ada yang membayar saat ini tidak berarti tidak ada yang menghargainya. Uang adalah salah satu tolok ukur nilai; banyak orang juga menaruh stok dalam tindakan lain, seperti mereka membuat perangkat lunak yang berguna yang diinginkan banyak orang. Tetapi berbicara tentang waktu yang terbatas, saya benar-benar tidak dapat diganggu untuk masuk ke argumen politik tentang hal ini di bagian komentar - selamat tinggal.
James
1

Baik untuk membayar murni akan membunuh banyak pengguna, tetapi ada banyak alternatif untuk membayar murni. Gim video yang saya mainkan memberi donatur beberapa tunjangan ekstra seperti lebih banyak unduhan per jam "gim berbasis keterampilan murni, tidak perlu bingung dengan bayaran untuk memenangkan lol sampah". Gim lain Path of Exile menawarkan peningkatan kosmetik. Situs lain menempatkan survei sebagai ganti bandwidth. Donation coder memberi pengguna gratis lisensi untuk (X Time) yang dapat diperpanjang berkali-kali seperti yang mereka inginkan, tetapi donatur mendapatkan lisensi permanen.

Ada banyak pilihan yang menawarkannya secara tunai tetapi tetap mempertahankan pengguna gratis juga.

Kebanyakan orang tidak memiliki masalah untuk mendukung sesuatu yang mereka sukai jadi jujur ​​saya hanya akan mencoba bertanya terlebih dahulu dengan menyiapkan tip area yang dihitung untuk menutupi biaya bulanan Anda.

Drew
sumber
1
Saya dapat melihat bagaimana jawaban Anda terkait dengan pertanyaan OP, tetapi OP menanyakan aspek yang sedikit berbeda. Mereka ingin pindah dari proyek. Banyak poin dalam jawaban Anda akan menciptakan ikatan yang berkelanjutan dengan proyek.
1

Anda telah memasukkan open-sourcetag, jadi saya kira proyek Anda adalah perangkat lunak open source.

hanya ada sedikit kontribusi kode di masa lalu

Sangat disayangkan, tetapi dapat dimengerti jika Anda melakukan semuanya. Banyak pengguna tidak terlibat selama itu berfungsi secara wajar.

Beberapa pemimpin suka mendelegasikan semua tanggung jawab, dan beberapa pemimpin suka mempertahankan kontrol yang lebih ketat. Sementara keseimbangan diperlukan, mendelegasikan sesegera mungkin adalah kuncinya di sini.

Saya telah menciptakan lebih dari 30 proyek sumber terbuka, dan banyak yang masih aktif meskipun saya telah meninggalkannya. Inilah yang akan saya rekomendasikan:

  1. Berikan akses pelacak bug SANGAT murah hati, mungkin kepada siapa pun yang pernah menyumbang sebaris kode. Jika seseorang mulai melakukan hal-hal gila (probabilitas sangat rendah), Anda masih memiliki kontrol admin untuk menghapusnya. Jangan lupa untuk memberikan hak-hak lain: kontrol kode sumber, wiki, terjemahan kerumunan, halaman facebook, akun twitter, situs web resmi, analisis google, dll.

  2. Posting di forum (dan pemberitahuan situs web) mengumumkan bahwa Anda akan pensiun, dan mencari pemimpin proyek baru.

  3. Bahkan jika tidak ada yang melangkah sebagai pemimpin tim, masalah fatal yang dapat terjadi (contoh konyol: URL yang dikodekan menjadi 404, membuat aplikasi mogok saat startup), itu mungkin akan diperbaiki oleh seseorang. Jika tidak ada yang memperbaiki kesalahan fatal, maka itu berarti Anda tidak perlu terlalu khawatir lagi, Anda telah melakukan apa yang Anda bisa, tetapi proyek tersebut tampaknya tidak lagi layak.

Nicolas Raoul
sumber
Terima kasih - saya kira ini adalah di mana Github tidak benar-benar bersinar - Saya tidak memiliki kontrol keamanan semacam itu. Platform VCS apa yang mendukung jenis fitur yang Anda bicarakan?
Mendhak
Sebaliknya, Github sebenarnya adalah salah satu tempat terbaik. Dengan Github Anda dapat membuat akun "organisasi", dan mengundang pengembang lain untuk bergabung. Juga, Github membuatnya mudah untuk melihat garpu populer, yang merupakan hal yang baik.
Nicolas Raoul