Saya bekerja sebagai pengembang perangkat lunak independen untuk aplikasi seluler. Seorang pelanggan meminta saya untuk mengembangkan aplikasi seluler. Jadi saat ini saya sedang menghitung waktu dan upaya untuk menulis penawaran untuk proyek ini.
Aplikasi itu sendiri hanya akan digunakan untuk waktu tertentu karena terkait dengan peristiwa tertentu setelah itu jika tidak akan berguna. Tetapi fungsionalitas dasar aplikasi akan dapat digunakan kembali untuk pelanggan lain yang ingin memiliki aplikasi serupa untuk acara mereka.
Saat ini saya bertanya-tanya apakah boleh mengembangkan aplikasi untuk pelanggan, biarkan dia membayar pengembangan dan menggunakan kembali bagian dari kode sumber untuk aplikasi pelanggan lain?
Jadi apa cara terbaik bagi saya untuk menghadapi skenario ini?
- Kepada siapa yang memiliki kode sumber aplikasi?
- Apakah saya harus memberikan kode sumber kepada pelanggan karena mereka membayar untuk pengembangan?
- Jika harus, bisakah saya menyimpan salinannya dan menggunakannya kembali nanti?
- Apakah saya harus meminta pelanggan untuk menggunakan kembali kode?
- Apakah saya harus bekerja dengan semacam model lisensi di sini. Dan biarkan pelanggan pertama hanya membayar bagian tertentu dari pengembangan sehingga saya dapat menggunakan kembali kode tanpa khawatir?
Saya harap saya memperjelas situasi saya. Saya menantikan jawaban Anda.
sumber
Jawaban:
Anda harus memutuskan sebelum memulai proyek, siapa yang akan mempertahankan kepemilikan kode.
Jika mereka dengan senang hati mengizinkan Anda mempertahankan kepemilikan, maka Anda boleh menggunakannya dalam proyek lain. Jika mereka ingin mengambil kepemilikan setelah itu adalah titik negosiasi.
sumber
Karena Anda belum memiliki kontrak, Anda perlu menyelesaikan masalah ini dengan pelanggan sebelum Anda menandatangani kontrak akhir. Dari pemahaman saya, ini akan terjadi jika pelanggan setuju dengan perkiraan Anda tentang waktu dan biaya, jadi itu adalah sesuatu yang Anda harus pikirkan tentang berdiskusi dengan pelanggan sekarang, bersama dengan persyaratan. Ini adalah hal-hal yang sering dimasukkan dalam dokumen semacam itu. Apa yang disertakan harus disetujui baik oleh Anda dan orang yang membayar produk, meskipun tergantung pada orang atau organisasi, Anda mungkin tidak mendapatkan semua yang Anda inginkan.
Jika Anda tidak memiliki banyak pengalaman dalam menulis kontrak, atau jika Anda memiliki pertanyaan yang sangat spesifik, orang terbaik untuk ditanyakan adalah seorang pengacara yang berspesialisasi dalam kontrak dan hukum bisnis - mereka akan tahu jika apa yang Anda tulis akan bertahan. pengadilan jika ada masalah. Anda tidak ingin kesalahan dalam kontrak Anda menyebabkan masalah di kemudian hari.
sumber
Jawabannya sejauh ini sangat bagus. Saya sepenuh hati setuju dengan saran untuk:
Dalam situasi ini, Anda sudah tahu bahwa "fungsionalitas dasar aplikasi akan dapat digunakan kembali untuk pelanggan lain", dan pada kenyataannya saya yakin Anda (dan lainnya) telah mengalami situasi di mana Anda mengetahui beberapa fungsionalitas dasar atau kerangka kerja - jadilah mereka web, ponsel, desktop, atau lainnya - akan digunakan kembali. Maksud saya sungguh, mengapa kita tidak menggunakan kembali sesuatu yang kita tahu berfungsi, dan kita kenal? Mungkin kita semua melakukannya sepanjang waktu.
Ini mungkin tidak berhasil untuk Anda, tetapi itu telah berhasil untuk saya selama bertahun-tahun:
Dalam situasi itu, dengan bantuan pengacara, Anda dapat memperjelas bahwa klien Anda membayar untuk semua yang dibangun di atas fungsi dasar yang Anda berikan, mereka memiliki penyesuaian itu tetapi bukan basis, dan Anda terus bebas untuk kembangkan untuk orang lain dengan cara yang sama.
Jika klien menuntut eksklusivitas penggunaan, maka Anda dapat menawarkannya kepada mereka dengan harga yang memberi Anda imbalan untuk waktu, upaya, dan ketidakmampuan untuk menjualnya kepada siapa pun di masa depan.
Kelemahannya, tentu saja, adalah Anda mengembangkan sesuatu secara gratis. Anda harus yakin itu akan dapat digunakan kembali, dan bahwa orang lain akan membayar Anda, jika tidak, itu pertaruhan yang buruk. Tetapi jika Anda berencana untuk menjadi pengembang independen untuk beberapa waktu, dan memiliki basis klien - atau setidaknya ingin - garis pemikiran ini mungkin sesuatu yang perlu dipertimbangkan untuk jangka panjang.
Dan berbicara dengan seorang pengacara!
sumber
Ini tergantung pada kontrak. Secara umum, Anda harus bertanya kepada pelanggan tentang apa yang dikenal sebagai eksklusivitas . Misalnya, Anda dapat mengenakan biaya lebih banyak untuk pengembangan eksklusif (dan pelanggan akan memiliki kodenya); atau Anda dapat memberi tahu mereka bahwa pelanggan harus membayar lebih sedikit tetapi Anda secara hukum memiliki sumber. Anda dapat menyediakan / menginstal versi perangkat lunak biner saja kepada pelanggan sehingga pelanggan harus mendatangi Anda untuk melakukan modifikasi.
Secara umum, menyimpan salinan tidak ilegal / tidak etis. Anda dapat menggunakannya saat pelanggan meminta pengembangan lebih lanjut. Namun, mendistribusikan kode (kepada orang lain) jika kesepakatan itu eksklusif, tidak benar.
Tidak hanya dari sudut pandang penggunaan kembali kode sebaliknya, proses lisensi harus ada untuk mendefinisikan semua item pelanggan dan masalah Anda. Jadi, Anda harus melisensikan terlepas dari apa pun meskipun kesepakatan itu satu sisi. Anda juga harus memasukkan ketentuan untuk pengembangan di masa mendatang nanti untuk pelanggan yang sama.
sumber
However, distributing code (to someone else) if the deal was exclusive, is not right.
yaitu jika Anda telah mengembangkan kode eksklusif untuk pelanggan yang mendistribusikan ke orang lain tidak tepat!alternatively you can tell them customer will have to pay less but you are legally owning the source
- apa gunanya ketidaksetujuan?Anda selalu dapat menggunakan kode Anda di perpustakaan lain, open source misalnya. Jelas klien tidak akan memiliki hak cipta atasnya. Dalam kasus khusus, Anda dapat menggunakan perpustakaan yang ditulis oleh Anda. Klien membayar untuk penyesuaian - bagian itu, yang dirancang untuknya dan kebutuhan bisnisnya. Segala sesuatu yang tidak spesifik untuk pengguna dan untuk digunakan dalam banyak proyek dapat menjadi perpustakaan Anda sendiri. Saya melihat tidak ada masalah di sana.
Masalahnya adalah jika Anda menggunakan kembali antarmuka atau logika bisnis, atau bahkan menjual kembali proyek yang sama ke orang lain. Kode utilitas adalah sesuatu yang biasanya klien tidak sadari dan juga tidak peduli.
sumber
Jawaban lainnya adalah hal-hal yang terlalu menyederhanakan. Saya tidak bermaksud memiliki jawaban yang lengkap, hanya untuk menunjukkan beberapa hal.
sumber