Saya telah memindahkan semua repositori Git perusahaan kami ke GitHub dan sekarang saya ingin menambahkan karyawan ke proyek. Karena sebagian besar karyawan sudah memiliki akun GitHub pribadi, saya bertanya-tanya apakah saya harus meminta mereka untuk membuat akun GitHub yang berfungsi . Alasan saya berpikir untuk melakukan ini adalah untuk mengurangi kemungkinan akses tidak sah ke basis kode kami karena akun pribadi mereka dapat dipublikasikan dengan baik melalui aktivitas pribadi mereka di situs, sehingga meningkatkan peluang serangan yang ditargetkan. Selain itu, jika akun pribadi mereka dikompromikan, itu tidak berarti seluruh kode perusahaan dapat diakses oleh pembajak. Karena ini akan membawa beban mempertahankan dua akun untuk karyawan, saya bertanya-tanya apakah itu pendekatan yang benar dan apakah itu masuk akal.
Perbarui Terima kasih atas semua wawasan yang bermanfaat. Saya tidak akan menetapkan jawaban yang diterima karena sifat subjektif dari pertanyaan / jawaban dan karena saya mengambil poin terbaik dari beberapa jawaban yang berbeda.
Saya telah memutuskan untuk maju seperti ini: Saya akan mengingatkan karyawan bahwa pemberitahuan e-mail GitHub yang terkait dengan pekerjaan harus dikirim ke akun e-mail kantor mereka untuk alasan praktis. Oleh karena itu akan lebih masuk akal untuk membuat akun GitHub yang berfungsi. Jika mereka bersedia menggunakan akun GitHub pribadi mereka dan menghubungkannya dengan akun email kantor mereka, maka itu tidak masalah. Bagaimanapun, karyawan harus menyetujui dalam bentuk tertulis untuk sejumlah ketentuan yang terkait dengan penggunaan GitHub. Ini terkait dengan keamanan akun: memilih kata sandi aman menggunakan generator kata sandi acak aman yang tidak digunakan dengan akun lain, tidak mengakses GitHub melalui komputer yang tidak dimiliki atau dikelola oleh mereka, dll. Pada akhirnya karyawan harus memutuskan sendiri apakah akun kerja lebih masuk akal bagi mereka atau tidak.
Jawaban:
Jika ada manfaatnya, itu hanya akan menyakitkan. Tapi tidak ada yang lebih buruk daripada menyakitkan dan tidak berguna. Hanya punya satu akun pribadi. Dua alasan:
Github memiliki kontrol akses yang sangat baik di organisasi mereka. Jika seorang karyawan pergi, Anda dapat langsung menghapus akses mereka. Jika mereka memiliki akun perusahaan, Anda harus mengklaim kembali akun tersebut entah bagaimana untuk mendapatkan manfaat yang dinyatakan. Dalam praktiknya, Anda mungkin hanya akan menghapus akses akun, sama seperti jika mereka memiliki akun pribadi.
Memiliki lebih dari satu akun itu menyakitkan. Masuk dan keluar di antara akun terasa menyakitkan, dan menambahkan komentar, mengikuti, dan semua hal sosial saat Anda menggunakan akun yang berbeda.
Referensi: Saya membuat server CI yang memiliki integrasi GitHub , jadi saya memiliki banyak akun pengujian, dan saya telah berbicara dengan pelanggan dengan segala macam konfigurasi aneh, termasuk akun kerja dan akun pribadi terpisah. Itu selalu menyebabkan masalah.
sumber
Apakah kode perusahaan Anda dalam repositori publik atau pribadi? Jika mereka (atau setidaknya beberapa) bersifat publik, dan Anda mengizinkan karyawan Anda menggunakan akun GitHub mereka sendiri, maka itu akan menjadi insentif bagi mereka untuk menulis kode yang baik. Nama mereka benar - benar akan melekat padanya, secara publik. Namun, saya akan berasumsi bahwa semua repositori Anda bersifat pribadi.
Secara keseluruhan, sepertinya Anda lebih suka bahwa akun karyawan Anda tidak terlihat secara publik di seluruh GitHub. Sayangnya, mereka menghasilkan uang dengan menjual GitHub Enterprise, jadi saya bayangkan itu salah satu alasan mengapa mereka tidak mengizinkan Anda membuat akun pribadi untuk organisasi. Dalam kedua kasus tersebut, memiliki (pada dasarnya) akun kerja yang dikunci akan benar - benar kontra-intuitif setelah memilih situs yang sangat sosial untuk meng-host repositori Anda.
Mari kita bayangkan bahwa Anda telah membuat akun kerja untuk karyawan Anda. Apakah Anda akan memberlakukan batasan bagaimana mereka dapat menggunakan akun itu? Apakah Anda mengizinkan mereka untuk menyumbangkan kode ke proyek non-kerja untuk tujuan kerja? Jika demikian, maka akun mereka akan terlihat oleh publik, membawa Anda kembali ke masalah awal Anda. Anda bisa saja membiarkan mereka memberikan kontribusi dengan akun pribadi mereka, tetapi kemudian Anda membuat titik sakit logistik untuk mereka. Secara pribadi, saya akan mendorong karyawan saya untuk berkontribusi kode ke proyek lain seperti diri mereka sendiri. Ini tidak hanya memberi mereka dorongan kepercayaan diri, tetapi juga memungkinkan mereka untuk mendapatkan pengalaman berharga dan membangun kredibilitas mereka.
Bagaimanapun, saya tidak berpikir itu sepadan dengan usaha untuk memiliki akun kerja. Antarmuka GitHub memungkinkan Anda untuk dengan mudah mengontrol siapa yang memiliki akses ke apa, jadi menghapus akses itu mudah. Saya juga tidak berpikir bahwa memiliki akun terpisah benar-benar "menarik garis" antara proyek pribadi dan proyek lagi daripada antarmuka GitHub.
Juga, ingatlah bagaimana Anda berencana berurusan dengan ini ketika perusahaan Anda tumbuh. Apakah kebijakan yang Anda tetapkan sekarang akan dapat diskalakan dari sudut pandang manajemen? Mengelola 5 akun saat ini mungkin baik-baik saja, tetapi apa yang terjadi ketika Anda tumbuh menjadi 20 atau 50? Tetapi begitu Anda mencapai titik itu, mungkin GitHub Enterprise akan menjadi solusi yang mudah didekati. Dalam hal ini saya akan mempertimbangkan mencari tahu apakah akun GitHub dapat dimigrasi ke instalasi GitHub Enterprise. Jika demikian, saya dapat melihat bahwa menjadi satu alasan positif untuk memiliki akun kerja.
sumber
Tidak keluar dari pertanyaan, dan sebenarnya ide yang cukup bagus.
Sayangnya, Anda perlu merencanakan karyawan meninggalkan organisasi pada suatu saat dalam kehidupan perusahaan. Bagaimana Anda akan melepaskan akun pribadi mereka dari repositori perusahaan pada saat itu?
Apa yang akan Anda lakukan jika karyawan tersebut pergi dengan persyaratan yang buruk? Dalam dunia yang ideal, semuanya akan tetap profesional dan tidak akan ada permusuhan antara perusahaan dan mantan karyawan. Anda akan bijaksana untuk merencanakan keadaan yang kurang ideal.
Meskipun mempertahankan dua akun itu menyusahkan, karyawan Anda harus menyambut baik kesempatan itu. Ini memberikan garis yang lebih bersih antara milik mereka dan milik perusahaan.
Sunting: Yang menjadi perhatian di sini adalah memberikan pemisahan yang jelas antara kontribusi pribadi karyawan untuk proyek X, Y, Z, dll ... dan pekerjaan mereka yang dibayar untuk produk perusahaan Anda. Menggunakan akun kerja terpisah membantu memberikan gambaran yang diperlukan untuk mengidentifikasi siapa yang memiliki kekayaan intelektual apa dan hak cipta terkait.
Misalnya, jika seorang karyawan menggunakan akun pribadi mereka dan berkontribusi untuk perusahaan dan Proyek X, bagaimana Anda mengidentifikasi apa peran karyawan itu pada saat itu? Apakah kontribusi kepada X atas nama perusahaan Anda atau kebijaksanaan pribadi mereka sendiri? Apakah karyawan atau perusahaan memiliki hak cipta atas karya yang diberikan kepada X? Dalam hal ini, jika Anda mengizinkan kontribusi luar untuk pekerjaan perusahaan Anda, bagaimana Anda membedakan apakah karyawan itu seorang karyawan atau jika itu adalah kontribusi sukarela?
Dalam arti yang lebih luas, misalkan Anda memiliki karyawan yang membangun reputasi yang bertindak atas nama perusahaan dengan berkontribusi pada proyek lain. Ketika karyawan itu pergi, bagaimana Anda mengindikasikan bahwa akun pengguna pribadi tidak lagi dikaitkan dengan perusahaan Anda? Masalah merek serius dapat terjadi tanpa penggambaran yang bersih tentang tujuan akun tertentu.
Sangat mudah untuk jatuh pada jejak kelinci tentang kepemilikan, merek, dan masalah hak cipta ketika Anda mulai memikirkan skenario potensial. Menggunakan akun kerja yang terpisah membantu menghilangkan beberapa ambiguitas ini. Perusahaan harus dapat mengklaim kontribusi yang dibuat atas namanya.
Ini bukan tentang aspek teknis memisahkan akun pengguna, ini pertanyaan hukum yang dapat membuat Anda marah.
Perhatikan bahwa ini bisa menjadi titik perdebatan jika produk perusahaan Anda semuanya dirilis sebagai sumber terbuka di bawah lisensi permisif dan / atau Anda sama sekali tidak khawatir tentang masalah merek yang potensial.
(Kiat ujung ke Paul Biggar untuk meminta suntingan ini)
sumber
Karena semua orang tampaknya sepakat tentang kurangnya kebutuhan pengusaha untuk memisahkan keduanya, inilah pengalaman singkat saya setelah mencoba menggunakan akun pribadi saya pada proyek profesional dan kontribusi sumber terbuka yang dibuat dalam konteks pekerjaan.
Hanya untuk membuat konteksnya lengkap: Saya tidak ditanya apa-apa tentang akun, sebenarnya GitHub tidak diketahui oleh kebanyakan orang di tempat kerja saya. Saya hanya bisa mendapatkan lampu hijau untuk membuka-sumber proyek yang akan saya kerjakan, dan pergi dengan jumlah pekerjaan paling sedikit, yaitu menggunakan akun pribadi saya.
Dari sudut pandang karyawan, satu hal yang sangat saya benci: mendapat pemberitahuan di email pribadi saya untuk hal-hal pekerjaan.
Dari pengamatan itu, saya menyadari bahwa itu adalah penghalang terang-terangan dari hambatan profesional / pribadi: jika saya ingin berkontribusi pada proyek selama waktu libur, saya masih mendapatkan semua pembaruan dari proyek kerja saya ... Dan itu dapat membawa kebingungan bagi kontributor eksternal , yang mungkin menghubungi Anda tanpa mengetahui kau pergi bahwa proyek.
Maka tentu saja, ada keseimbangan untuk ditemukan dengan fakta bahwa reputasi pribadi Anda dapat diperoleh dari kontribusi pekerjaan Anda. Tapi sekali lagi, mungkin sebaliknya jika nama Anda dikaitkan dengan proyek yang buruk ...
Pada akhirnya, ketika pertanyaan diajukan dari sudut pandang majikan , dan mempertimbangkan semua jawaban lain: Saya akan mengatakan mungkin tidak ada gunanya menegakkan menggunakan akun khusus kerja . Tetapi Anda tidak boleh melarangnya, sehingga karyawan yang lebih memilih untuk meningkatkan penghalang pribadi dapat melakukannya, dan mungkin mengisyaratkan tentang risiko itu ...?
Sebagai catatan tambahan, berkenaan dengan keamanan, karena tampaknya ada beberapa pemecatan yang mudah dalam jawaban lain:
Tentu saja, akun "kantor" tidak akan lebih atau kurang aman daripada akun "pribadi" tentang kata sandi. Tetapi ketika Anda menggunakan GitHub, Anda diizinkan untuk mendorong dengan kunci SSH. Dan kunci itu biasanya terletak pada sesi seseorang ... Jadi, akun pribadi dapat membahayakan semua repositori kerja dengan mencuri komputer pribadi yang sederhana (tanpa pengetahuan kata sandi), sedangkan akun kerja yang berdedikasi mungkin akan memiliki kuncinya hanya terletak pada mesin kerja, menjadikannya lebih aman secara fisik (semoga).
sumber
Saya akan memilih "Tidak". Ini agak merepotkan bagi pengembang Anda dan memberi Anda keamanan melalui ketidakjelasan: jika seseorang secara aktif menargetkan pengembang Anda, ada banyak vektor serangan lain bagi seseorang untuk mendapatkan kode Anda.
Plus, sebagai startup kecuali Anda memiliki banyak algoritma ajaib tipe saus rahasia yang dimainkan seseorang yang mendapatkan kode Anda akan memalukan, dan mengerikan, dan menjengkelkan, tetapi tidak akan menghasilkan keunggulan kompetitif yang signifikan (yang secara hukum dapat menggunakan Anda kode?) atau menyebabkan Anda keluar dari bisnis.
Seperti probabilitas pesanan rendah vs produktivitas pengembang? Saya akan mengambil produktivitas pengembang, tapi itu kalkulus saya. :)
sumber
Saya akan mengatakan itu harus menjadi pilihan diserahkan kepada karyawan. Satu hal yang akan saya katakan adalah jangan memaksa mereka untuk menggunakan akun github pribadi mereka jika mereka tidak mau. Saya berada di perusahaan yang menggunakan GitHub dan walaupun itu bukan persyaratan, saya pribadi ingin membuat akun terpisah. Alasan utamanya adalah untuk melindungi proyek orang saya. Saya tidak ingin perusahaan untuk mencoba mengatakan salah satu proyek pribadi saya adalah milik mereka karena itu di bawah akun github yang sama yang digunakan untuk proyek comapny mereka (tidak yakin apakah itu akan bertahan di pengadilan tetapi saya tidak memiliki banyak keyakinan dalam sistem hukum dalam hal-hal seperti ini). Saya pikir memiliki bersih terpisah itu bisa menjadi hal yang baik.
sumber
Kami melakukannya di perusahaan kami. Saya tidak ingin memulai diskusi "apa yang lebih aman, github atau server di bawah meja Anda bahwa setiap orang memiliki akses root, tidak yakin apakah cadangan berfungsi, dll". Pendekatan kami adalah:
sumber
Saya menyadari Tanya Jawab ini berusia beberapa tahun, jadi mungkin ini tidak tersedia sebelumnya, tetapi mereka secara khusus menyatakan dalam Perbedaan antara akun pengguna dan organisasi bahwa:
GitHub telah membangun alat yang bagus untuk menghidupkan / mematikan notifikasi dengan repositori dan lebih dari itu tampaknya menggabungkan pribadi / pekerjaan itu paling masuk akal.
sumber
Orang-orang belum mempercayai server sumber berbasis cloud. Github membanggakan banyak perusahaan web zaman baru mendaftar dengan mereka tetapi kenyataannya adalah bahwa, kebanyakan orang memiliki server sendiri untuk mempertahankan kode sumber. Dalam pengalaman saya, kebanyakan dari mereka menggunakan Clear-case atau SVN. Git belum diadaptasi dalam lingkungan perusahaan. Bahkan server surat perusahaan tidak benar-benar dihargai di luar tempat perusahaan.
sumber