Apakah sistem kontrol versi FOSS bekerja untuk perusahaan? [Tutup]

11

Katakanlah sebuah perusahaan besar berencana untuk mengganti sistem kontrol versi yang ada. Katakanlah itu hanya mempertimbangkan sistem dari vendor besar yang harganya ratusan ribu dolar karena mereka memiliki "dukungan."

Apakah kontrol versi di lingkungan perusahaan harus mahal? Apakah perusahaan menengah / besar Anda menggunakan FOSS VCS seperti SVN / Git / Mercurial? Apa pengalamannya?

Saya harus berpikir itu tidak perlu mahal karena ada begitu banyak pilihan gratis, dan mungkin ada perusahaan yang memberikan dukungan berbayar untuk FOSS VCS jika itu yang menjadi perhatian utama.

Saya tidak bermaksud pertanyaan ini untuk membandingkan VCS atau memutuskan mana yang terbaik, melainkan hanya memahami pengalaman dengan VCS di lingkungan TI perusahaan.

jimueller
sumber

Jawaban:

29

Iya.

  
Dalam pengalaman saya (yang diakui terbatas), solusi non-FOSS cenderung lebih "enterprise-y". Itu adalah,

  • Mereka berintegrasi dengan semua yang ada di bawah matahari.
  • Mereka memiliki lebih banyak kontrol bawaan untuk logika bisnis yang kompleks (izin, kontrol akses, persetujuan, dll).
  • Mereka datang dengan kontrak dukungan dan jalur dukungan teknis yang cukup responsif.
  • Mereka diiklankan dengan baik kepada orang-orang non-teknis yang membuat keputusan VCS pada level tinggi di perusahaan besar.

Atribut ini membuatnya menarik bagi perusahaan besar, terutama bagi orang-orang yang tidak harus menggunakannya. Alternatif FOSS, sebagai penghitung di atas:

  • Memiliki banyak alat pihak ketiga untuk mengintegrasikannya dengan semua yang ada di bawah matahari (berdasarkan menjadi lebih populer daripada alternatif berpemilik), dan cenderung lebih mudah untuk mengembangkan alat pihak ketiga untuk, menjadi OS.
  • Lihat sebelumnya - lebih mudah untuk mendapatkan alat eksternal di sekitar alat yang bersih, sederhana, dan dasar.
  • Karena menjadi lebih populer, mereka memiliki dukungan berbasis komunitas yang lebih luas.
  • Mereka tidak perlu mengatakan iklan.

Selain itu, pengalaman saya dengan VCS umum gratis (mercurial / svn / etc) membuatnya lebih cepat, lebih dapat diandalkan, dan lebih mudah digunakan.

Fishtoaster
sumber
5
+1 - Saya jauh lebih bahagia dengan SVN dibandingkan dengan SourceSafe.
Jon Hopkins
5
@ Jan +1 - Saya jauh lebih bahagia dengan Mercurial daripada yang pernah saya lakukan dengan SVN.
Tim Post
1
@Tim - Saat ini secara informal menilai Mercurial sebelum kemungkinan migrasi.
Jon Hopkins
8

Saya setuju dengan @Fishtoaster dalam kontrol versi FOSS yang memiliki semua fitur (atau dapat diintegrasikan dengan perangkat lunak FOSS lain yang menyediakan fitur) yang bahkan dibutuhkan "perusahaan" terbesar.

Sayangnya, dalam pengalaman saya, banyak keputusan di perusahaan tidak dibuat oleh orang yang secara teknis memiliki pengetahuan untuk membuat keputusan itu. Artinya, orang-orang yang berwenang untuk melakukan pembelian di suatu perusahaan secara langsung ditargetkan oleh departemen penjualan perusahaan lain untuk membeli perangkat lunak mereka. FOSS bahkan tidak melihat karena tidak ada yang menjual kepada mereka.

Di satu tempat di mana saya bekerja, kami menggunakan salah satu solusi kontrol versi "perusahaan" itu. Itu lambat (itu benar-benar membutuhkan lebih dari satu jam untuk melakukan "periksa" lengkap dari versi terbaru dari kode!) Dan buggy dan semua orang mengeluh tentang hal itu. Banyak pengembang benar-benar akan melakukan checkout (mengambil, seperti yang saya katakan, lebih dari satu jam ) kemudian mengatur repositori SVN atau Mercurial lokal di atas checkout itu, melakukan pengkodean terhadap repositori itu dan hanya memeriksa kembali ke repositori utama ketika yg dibutuhkan.

Kami beruntung karena kami diizinkan menginstal perangkat lunak apa pun yang kami butuhkan. Tetapi fakta bahwa orang-orang menumbangkan "proses" seperti ini memberi tahu saya bahwa ada sesuatu yang salah dengan proses itu ...

Dean Harding
sumber
1
Itu persis apa yang telah saya lakukan, setup SVN lokal saya sendiri karena VCS yang disediakan begitu mengerikan.
jimueller
4

Perbedaan utama antara FOSS dan perangkat lunak komersial adalah bahwa yang pertama didasarkan pada kebanggaan sedangkan yang terakhir didasarkan pada pendapatan.

Tanyakan pada diri Anda: Seberapa bahagia orang-orang yang menulis perangkat lunak XYZ?

Jika itu FOSS, mereka mungkin sangat senang karena jika tidak, mengapa mereka repot-repot membuang waktu mereka di atasnya?

Jika ini adalah perangkat lunak komersial, Anda tidak dapat mengatakannya. Kemungkinannya adalah orang-orang dibayar untuk menulis sesuatu yang tidak mereka sukai.

Jadi perangkat lunak FOSS mendapat lebih banyak cinta. Itu tidak selalu berarti itu lebih baik tetapi jika itu adalah proyek FOSS yang sukses, Anda bisa yakin itu lebih baik daripada apa pun yang bisa Anda beli ("Uang tidak bisa membeli kebahagiaan", ingat?).

Bagaimana Anda bisa tahu bahwa itu berhasil? Periksa situs webnya. Jika situs webnya mutakhir dan terlihat bagus, itu cukup berhasil untuk membuang waktu di situs web (pengembang FOSS adalah inti keras; mereka tidak ingin membuang waktu untuk apa pun yang tidak menggaruk gatal).

Itu meninggalkan poin paling penting: Dukungan. Perusahaan tidak membeli perangkat lunak untuk menggunakannya secara legal tetapi untuk mendapatkan dukungan jika terjadi kesalahan (berpikir sepanjang jalan: Jika 100 orang tidak dapat bekerja dan saya mendapatkan perbaikan dalam satu hari, itu bernilai $ 100.000). Untungnya, Anda dapat membeli dukungan untuk perangkat lunak FOSS (lihat saja situs web untuk petunjuk atau tanyakan di milis).

Jadi ya, jika Anda melakukan evaluasi dan FOSS memenuhi kebutuhan Anda, tidak ada alasan untuk lebih memilih perangkat lunak komersial.

Aaron Digulla
sumber
2

Saya pribadi melihat SVN berhasil di sebuah perusahaan besar, dan telah mendengar kisah sukses lainnya. Saya pikir salah satu hal utama yang membuat perusahaan takut tentang open source adalah kurangnya dukungan. Mereka merasa seperti berada di atas tali tanpa jaring pengaman. Tetapi seringkali Anda dapat menemukan perusahaan yang akan memberikan kontrak dukungan untuk perangkat lunak open source. Untuk SVN, ada CollabNet dan lainnya.

RasionalGeek
sumber
1
Tetapi SVN benar-benar tidak melakukan percabangan dengan baik, pada dasarnya itu menyebalkan. Jadi bagaimana Anda bisa menggunakan SVN pada proyek di mana Anda, katakanlah, lebih dari 10 orang yang bekerja di pangkalan yang sama.
Bjarke Freund-Hansen
@ bjarkef: Saya melakukan percabangan dan penggabungan dengan subversi dari waktu ke waktu. Saya pikir itu adalah legenda, SVN yang menyebalkan itu. Tentu, Git dan Mercurial didasarkan pada sistem yang sama sekali berbeda, yaitu berdasarkan cabang. Tetapi konflik itu tidak kalah sering dari Subversi. Jadi penggabungan bukan masalah, hanya beberapa orang lebih suka gaya repo dan cabang diatur dengan DVCS.
Mnementh
3
Ya. Sungguh, dari sudut pandang saya SVN melakukan percabangan dengan sangat baik . Mungkin karena kontrol sumber kami sebelumnya adalah Visual Source Safe, yang sangat buruk di percabangan (dan SEMUA YANG LAIN).
John Christensen
@ John - Masalah saya adalah beralih dari DVCS ke CVCS benar - benar sulit. Perkembangan VCS saya adalah RCS> VSS> Mercurial> SVN. Dua transisi pertama mudah dan membuat banyak hal lebih sederhana, lebih mudah, dan lebih cepat. Yang terakhir telah menjadi mimpi buruk - bahkan menggunakan git-svn tidak dapat membatalkan ketidakfleksibelan yang melekat dari sejarah linier kuno SVN. Saya menantikan langkah kami untuk git, meskipun saya lebih suka kesederhanaan lincah lagi.
Mark Booth