Kami sedang mencari sumber kontrol yang baik dan solusi manajemen proyek di tempat kerja saya dan saya telah menyarankan untuk membuat organisasi GitHub dan repositori pribadi. Saya suka GitHub karena banyak alasan, tetapi ini bukan tentang GitHub (bahkan rekan-rekan saya akan memberikan poin yang mendukung platform yang bersaing) - ini tentang menyimpan kode pribadi kami secara online .
Saya mencoba memahami apakah ini ide yang bagus atau tidak. Ini jelas tampak menguntungkan karena menghilangkan kebutuhan untuk biaya server (setidaknya secara langsung) dan juga membuatnya lebih mudah untuk mencari kode (semuanya online).
Namun tim kami belum memutuskan dan mengarahkan saya ke pertanyaan saya, apa yang harus kita pertimbangkan untuk membuat keputusan ini?
sumber
Jawaban:
Sebagai seorang profesional,
Jika kantor perusahaan Anda terbakar, kode itu masih ada di server.
Jika kantor perusahaan Anda tidak terbakar, tetapi server tempat repositori git Anda TIDAK, maka Anda masih memiliki salinan lokal.
Jika Anda meng-host repositori di server di gedung kantor perusahaan Anda (seperti yang Anda lakukan dengan drive yang dibagikan dengan Jaringan ...?), Maka jika kantor perusahaan terbakar, Anda kehilangan keduanya.
Tentu saja, Anda masih membutuhkan cadangan seperti biasa ...
Jangan ragu untuk mengganti "burns" dengan "terinfeksi ransomware".
Pada dasarnya, ketersediaan sudah habis.
Sebagai penipu,
Anda harus membagikan file Anda dengan pihak ke-3 yang akan meng-host kode Anda. Jika Anda memiliki rahasia perusahaan yang sangat besar, ini mungkin tidak diizinkan. Misalnya, jika Anda memiliki database yang berisi informasi pribadi dari warga negara Eropa, Anda mungkin tidak diizinkan untuk meng-host kode Anda pada pihak ketiga dari Amerika Serikat - karena mereka akan tunduk pada hukum AS dan dengan demikian tidak dapat diandalkan untuk menegakkan hukum privasi UE. Bahkan jika itu bukan masalah hukum, Anda harus sadar bahwa pihak ketiga dapat disuap agar memberikan file pribadi Anda. Ini mungkin akan sangat buruk bagi pihak ketiga (penalti reputasi besar), tetapi itu bisa terjadi.
Pada dasarnya, kerahasiaan turun.
Jika Anda setuju dengan kerahasiaan perdagangan untuk ketersediaan, maka hosting kode pribadi Anda secara online dengan pihak ketiga adalah ide yang bagus. Kalau tidak, jangan. Anda bisa menjelaskan pertukaran untuk memungkinkan bos Anda membuat keputusan yang cerdas - tetapi Anda mungkin mendengar "tidak". Itulah yang bisa terjadi jika Anda memberi seseorang keputusan. Jika bos Anda mengatakan tidak, maka itu saja. Saya tidak berpikir meyakinkan bos Anda secara paksa adalah ide yang sangat bagus.
sumber
Jelas itu masalah kepercayaan pada penyedia dan seberapa besar Anda menghargai kode sumber Anda.
Namun, saya pikir itu jelas bahwa, setidaknya di masa lalu, orang lebih menghargai kode sumber mereka.
Untuk produk 'otomatisasi proses bisnis'; di mana tim in-house membuat situs web dan perangkat lunak lain yang khusus untuk kebutuhan bisnis. Nilai perangkat lunak itu untuk orang lain pada umumnya sangat rendah.
Untuk perangkat lunak yang dapat dijual; itu biner yang Anda jual, dan itu bisa disalin dan diretas tanpa akses ke kode sumber.
Kedua: Anda juga harus mempertimbangkan apakah kode storing.your dengan pihak ketiga benar-benar meningkatkan eksposur Anda di atas level saat ini. Dalam banyak kasus tidak akan demikian
Singkatnya, sebagian besar bisnis modern akan mempercayai berbagai pihak ketiga dengan bisnis mereka sehari-hari; bahkan hal-hal yang vital dan unik bagi mereka.
sumber
Bagian dari proses keputusan ini bisa berupa sedikit pengujian, coba-coba. Ambil proyek kecil dan minta beberapa anggota mencoba beberapa situs yang berbeda. Ini harus mencakup kegunaan oleh tim, tetapi ada pertimbangan lain.
Mulai bekerja melalui seluruh proses pengkodean dan pengiriman. Semakin banyak orang yang terlibat dalam proses ini semakin baik. Anda tidak ingin mengadopsi platform kontrol sumber berdasarkan kriteria tertentu hanya untuk meminta seseorang dalam manajemen mengubah segalanya. "Benda lincah yang didistribusikan ini tidak berfungsi, jadi kita akan membutuhkan semua orang untuk mulai bekerja dari kantor pada 8-7 mulai Senin, Oke."
sumber
Saya tidak selalu mengatakan Anda tidak boleh meng-host repositori perusahaan Anda di cloud, tetapi saya secara pribadi mengalami beberapa kerugian dan kesulitan dengan hosting awan.
Seberapa cepat dan dapat diandalkan koneksi internet Anda?
Bagi saya, itu adalah pertimbangan tunggal terbesar. Sebagai contoh, perusahaan saya terletak di daerah pedesaan yang cantik. Sementara kecepatan intra- jaringan kami sangat cepat, kecepatan antar- jaringan kami lambat pada tingkat terbaik, sangat buruk pada kondisi terburuk.
Tergantung pada VCS mana yang Anda gunakan, sebagian dari rasa sakit tersebut dapat dikurangi. Sistem kontrol versi terdistribusi, seperti Git, tidak terlalu buruk karena Anda masih dapat bekerja secara lokal. Anda bahkan dapat init repo baru pada drive jaringan jika Anda benar-benar perlu berbagi beberapa kode dengan rekan kerja. Sebagai perbandingan, Anda tidak dapat benar-benar melakukan hal-hal tersebut dengan Team Foundation (terlepas dari seluruh ruang kerja lokal).
Tapi itu hanya kodenya. Ada jauh lebih banyak ke repositori yang dihosting cloud Anda dari sekedar kode. Bagaimana dengan item pekerjaan Anda (fitur / daftar bug)? Bagaimana dengan dokumentasi Anda (wiki)? Bagaimana dengan pembangunan integrasi berkelanjutan Anda? Semua hal ini kemungkinan juga akan di-host di cloud di samping kode Anda. Jika koneksi internet Anda turun, bagaimana Anda akan bekerja tanpa hal-hal ini?
Gitlab menyediakan versi gratis di lokasi yang kemungkinan akan menyediakan lebih dari kebutuhan tim Anda. Saya sangat merekomendasikan instalasi di tempat. Ini akan mengurangi risiko jauh.
sumber
Anda harus mempertimbangkan kelemahannya. Saya (bersama orang lain) berhasil mendorong majikan saya saat ini untuk berhenti menjadi tuan rumah perhiasan kekayaan intelektual mahkota perusahaan pada repo github pribadi. Jangan salah sangka; github sangat bagus untuk perangkat lunak open source.
Dalam hal perangkat lunak sumber tertutup, apakah Anda memiliki github.com (atau beberapa alternatif) menandatangani perjanjian nondisclosure (NDA) untuk tidak merilis kode sumber Anda ke dunia? Semoga beruntung dengan itu!
Menurut pendapat saya, ini sangat gila untuk mengungkapkan perhiasan mahkota kekayaan intelektual kepada beberapa entitas lain sampai entitas lain telah menandatangani NDA dengan Anda. Anda berencana menggunakan layanan seperti github yang tidak menandatangani NDA dengan klien mereka. Mereka malah menawarkan janji yang tidak jelas dalam bentuk EULA yang sangat panjang (perjanjian lisensi pengguna akhir).
Github sendiri menyadari bahwa ini bisa menjadi masalah yang signifikan, dan sebagai hasilnya mereka menawarkan Github Enterprise sebagai mekanisme untuk hosting kode sumber (dan barang pribadi lainnya) di server sendiri.
sumber