Apakah disarankan untuk meminta karyawan membuat akun GitHub 'kerja'?

91

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.

fiorenti
sumber
Akun kerja akan sama mudahnya untuk dikompromikan, bukan?
Boris Yankov
10
GitHub menambahkan perutean email per-organisasi pada Agustus 2012. github.com/blog/1204-notifications-stars
Paul Schreiber
2
@BorisYankov akun kerja mungkin lebih sulit untuk dikompromikan, jika Anda tidak memiliki aktivitas publik dan login tidak ada hubungannya dengan nama Anda. Ini keamanan oleh ketidakjelasan, tetapi pasti membantu. Anda dapat membuat alur kerja bahwa semua email yang dikirim oleh github juga dikirim ke pemimpin tim pengembangan, dll. Poin lain: Sebagai akun kerja Anda dapat memutuskan dan bahkan melakukan uji tuntas, mengaudit akun, dan melihat apakah mereka mematuhi apa yang disepakati antara perusahaan dan karyawan. Poin penting ketiga: segera setelah pengguna berhenti dari pekerjaannya, Anda dapat mengambil alih akunnya.
Wakil Presiden
7
Adalah bertentangan dengan ketentuan layanan GitHub bagi individu untuk mempertahankan lebih dari satu akun. "Satu orang atau badan hukum mungkin tidak memiliki lebih dari satu akun gratis." help.github.com/articles/github-terms-of-service
Riley Major
2
Tentang komentar terakhir ini. Memeriksa persyaratan, poin A.7. Jadi apa yang terjadi jika Anda memiliki akun pribadi dan perusahaan Anda membuat akun lain atas nama Anda dan apakah Anda menggunakannya? Apakah akun pribadi Anda akan dihentikan bahkan jika Anda tidak melakukan kesalahan?
Matteo Mosca

Jawaban:

63

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.

Paul Biggar
sumber
25

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.

Jeremy Heiler
sumber
Poin bagus, terima kasih. Ya, repositori adalah milik pribadi. Mengenai bekerja pada proyek-proyek non-kerja di tempat kerja, saya tidak khawatir sama sekali. Itu hanya keamanan akun.
fiorenti
Saya telah mengedit komentar tersebut karena tidak relevan.
Jeremy Heiler
19

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
Terima kasih, saya juga akan menerima kebijakan ini jika saya seorang karyawan karena alasan yang disebutkan. Antarmuka GitHub memungkinkan Anda untuk dengan mudah menghapus akses pengguna dari repositori pribadi. Saya juga berasumsi bahwa seandainya seorang karyawan pergi dengan kondisi yang sangat buruk, dalam banyak kasus dia akan punya cukup waktu untuk melakukan kerusakan jika dia mau.
fiorenti
23
Saya tidak mengerti jawaban ini. GitHub memiliki kontrol akses berbutir halus. Ketika seorang karyawan pergi, Anda menghapus akses mereka dari organisasi Anda. Apa yang sulit tentang ini? Sebenarnya, lebih mudah untuk menghapus akun pribadi mereka daripada "mengklaim kembali" akun kerja mereka.
Paul Biggar
2
@fiorenti: mungkin, pengguna juga akan memiliki kode lengkap checkout, yang akan terjadi di mana pun kode itu di-host!
Paul Biggar
2
@ PaulBiggar - Saya memperbarui respons saya untuk menangkap beberapa masalah yang lebih luas yang terlibat. Ini terutama masalah atribusi hukum yang mengarahkan saya untuk merekomendasikan akun terpisah. Saya telah melihat sejumlah kasus di mana tidak memisahkan akun pribadi dari pekerjaan yang dibuat untuk sakit kepala serius setelahnya. MMV setiap orang, dan setiap situasi harus diperiksa berdasarkan etos perusahaan.
Terima kasih telah menunjukkan potensi masalah hukum ladang ranjau yang dapat Anda
temui
10

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).

MattiSG
sumber
+1: Dua poin yang tidak saya pikirkan: email dan kunci SSH. Meskipun memiliki email terpisah di GitHub merupakan masalah, Anda dapat mengatur beberapa kunci SSH untuk akun Anda.
Jeremy Heiler
@JeremyHeiler Apa maksud Anda sebenarnya dengan “memiliki email terpisah di GitHub adalah masalah?” . Saya menggunakan tiga email yang berbeda (yang lama, yang saat ini pribadi, yang bekerja), setelah Anda menambahkannya ke profil Anda GitHub mencocokkannya dengan akun Anda tanpa masalah :)
MattiSG
Saya mengacu pada intisari ini . Apakah Anda mengatakan bahwa jika Anda memasukkan email kantor di git.config Anda di komputer kantor Anda dan menambahkannya ke akun Anda, semua pemberitahuan terkait pekerjaan akan dikirim ke email kantor Anda? Jika demikian, itu hebat!
Jeremy Heiler
@JeremyHeiler Oh tidak ok, kami memiliki sedikit kesalahpahaman tentang apa "masalah" dengan email :) Tidak, memang, seperti yang saya katakan dalam jawaban saya, Anda selalu mendapatkan pemberitahuan ke akun "utama" (biasanya pribadi) Anda. Tetapi ini bukan "masalah" karena Anda membutuhkan akun untuk setiap alamat yang melakukan: Anda dapat mengaitkan sebanyak mungkin email yang Anda inginkan dengan akun Anda, tetapi hanya satu email yang menerima pemberitahuan dari akun Anda.
MattiSG
Maaf, ya, saya seharusnya lebih spesifik dalam komentar awal saya :-P
Jeremy Heiler
9

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. :)

Matt Rogish
sumber
2

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.

ryanzec
sumber
2

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:

  • setiap pengembang, harus membuat akun baru, tidak terkait dengan akun github pribadinya
  • harus menggunakan email perusahaan.
  • Itu harus sesuai dengan aturan keamanan kami (nama login dan persyaratan kata sandi).
  • Mereka tidak dapat menunjukkan / memiliki aktivitas publik.
  • Ini properti perusahaan. Bukan akunnya.
  • Semua akun terhubung dengan perusahaan, nama acak juga. Tidak ada aktivitas publik juga.
Wakil Presiden
sumber
2
Anda tidak dapat menerapkan persyaratan kompleksitas kata sandi karena Anda tidak memiliki cara untuk memvalidasi kata sandi GitHub jadi mengapa Anda memilikinya?
Ramhound
baik Anda mengatakan bahwa jika Anda tidak dapat secara teknis menegakkan sesuatu, Anda tidak menegakkannya. Saya mengatakan bahwa jika, seorang karyawan membaca kebijakan keamanan dan jika dia menandatanganinya, mengetahui konsekuensinya, itu adalah penegakan.
Wakil Presiden
3
Saya mengatakan Anda tidak memiliki cara untuk mengetahui sesuatu tidak dilakukan karena Anda tidak memiliki cara untuk memverifikasi karyawan yang membuat kata sandi akun GitHub.
Ramhound
baik, jika misalnya, akun dikompromikan, dan kami, entah bagaimana menemukan bahwa kata sandi itu abc123, kami dapat "bertanggung jawab" pada karyawan tersebut. Saya tidak melihat masalah di sini. Poin lain: di mana tertulis bahwa AKU MELAKUKANNYA? Saya menulisnya harus (sekarang saya perbarui ke harus) ...
VP.
Pendekatan ini harus marah dengan kesepakatan bahwa nama ini juga milik mereka dan Anda tidak akan mengambil tindakan apa pun atas nama mereka .
Michael
0

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:

Mungkin tergoda untuk memiliki lebih dari satu akun pengguna, seperti untuk penggunaan pribadi dan penggunaan bisnis, tetapi Anda hanya perlu satu akun.

GitHub telah membangun alat yang bagus untuk menghidupkan / mematikan notifikasi dengan repositori dan lebih dari itu tampaknya menggabungkan pribadi / pekerjaan itu paling masuk akal.

scojomodena
sumber
Tentang apa itu downvote, eh? Saya pikir ini adalah jawaban yang bagus.
John McGehee
-2

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.

sarat
sumber
1
Saat ini saya bekerja di sebuah perusahaan jasa, melatih mereka dengan Git, dan sebagian besar klien mereka (seperti, perusahaan besar ) bermigrasi dari ClearCase, atau bersiap-siap untuk melakukannya dalam proyek berikutnya ...
MattiSG