Büyük şirketler neden Performce kullanıyor? [kapalı]


113

Bazı büyük şirketleri duydum, örneğin Google, Facebook kullanımı Performansı

SVN / Git'in Performance'ın yerini alamamasının bir nedeni var mı?


34
Google'ın paylaşılan bir sürücüde zaman damgası adlı klasörleri kullandığını duydum! ;)
Sinir

10
Yalnızca paylaşılan sürücü MapReduce kullanıyor, bu yüzden
harikalar

4
Büyük bir sorun destek olacak. Eğer sistemin geliştiricisi destek satın alıyor Perforce satın aldığınızda, bir şey olabilir Git dan alamadım.
ChrisF

12
@Anto: Linus'un ne dediği kimin umurunda? Sırf mükemmel bir çekirdek geliştiricisisin, her yerdeki her şey hakkında en iyisini bildiğin anlamına gelmez.
Billy ONeal,

5
2 hafta önce Performans Kullanıcı Konferansı'ndan geldikten sonra, Google’ın performans kullandığını söyleyebilirim. 1 sunucularına günde 10.000'den fazla başvuru yaptılar.
aflat,

Yanıtlar:


83

Gerekçe belki bir zamanlar olduğundan daha az ilişkilidir, ancak Performancece, büyük depolarda Subversion'dan daha iyi performans gösterme eğilimindedir. Bu, Microsoft'un Kaynak Depo'nu oluşturmak için Performans için kaynak lisansı edinmesinin nedenlerinden biri; NT'nin deposu bir canavardır ve ticari veya başka bir şekilde yapabilecek pek fazla ürün yoktur.

Ayrıca, en azından bir kerede, Performance'ın görsel araçları Subversion veya Git ile kutudan çıkanlardan çok daha iyiydi. Eğer Meld kullanıyorsanız, belki de bunlar bir zamanlar olduğundan daha az önemli, ama hala çok eskiden beri detaylı bir hatıra sahip olmasam da, dallanma ve birleştirme görselleştirmeleri de dahil olmak üzere Performance'ın çok güzel yaptığı bazı şeyler var. Performansa dokunduğumdan beri yaklaşık 3 yıl, örneğin, Github'ın buna yaklaşımından daha sofistike görünüyordu.

Performansı kullandığınızda, avantajlarının pratikte ne olduğunu anlayabilirsiniz. Uzun zamandır ücretsiz, iki kullanıcılı bir sunucu seçeneği teklif ettiler ve deneyimlediğiniz kaynak kod yönetimi sistemlerine bağlı olarak, ekibiniz bir süre test ettikten sonra, yükseltme maliyetine değiyor olabilir. Küçük mağazalar için bu, artı onu kullanan ve beğendiği geliştiricilerin ağ etkileridir. Performans'ın kullanıcılara ödeme yapmasının nedeni budur. Dmitri'nin alaycı sözlerinin aksine, küçük geliştirme ekipleri olan şirketlerde Performans Göstermek için muhtemelen CTO'ların çok fazla şarap tüketmesi ve yemek yemesi yoktur, ancak bu yerlerde kullanılır.

Microsoft dışında çalıştığım projelerin çoğu Git, Mercurial veya Subversion tarafından oldukça iyi bir şekilde karşılanabilir ve çalıştığım şirketlerin çoğunluğunun bu seçeneklerden birini kullanmak için olduğunu söyleyebilirim. Ancak, genellikle depo büyüklüğü, dallanma ve birleştirme modelinin ve insanların ticari araçları kullanmasına yol açan takım deneyiminin / tarihinin bir araya geldiği tatlı bir nokta var. Örneğin nadiren büyük Git depoları gördüm. Bu Git'in kendine özgü sınırlamaları nedeniyle olmayabilir; Bunun tamamen cehaletini itiraf ediyorum. Ancak bazı projelerde (Windows NT gibi) ücretsiz çözümler için bazı pratik sınırlamalar olabilir.


3
Sinik "şarap ve akşam" teorisinin yanı sıra makul bir cevap verdiğiniz için teşekkür ederiz. Pek çok şirket için doğru olabilir, ancak şirketlerin Performancece ile devam etmelerinin yasal nedenleri olabilir (veya yeniden yazın: P). SVN'deki NT kaynağını kullanmaya çalışmayı hayal edemiyorum. SVN ve Git'in yakaladıkları doğru ve belki yeni büyük bir proje için bunlardan biri doğru karar. Ancak, canlı bir projeyi Windows (tüm sürümler) kadar büyük bir kaynak kontrol sisteminden diğerine taşımakla ilgili maliyetleri düşünün. Özellikle mevcut kaynak kontrol sistemi çalıştığında maliyete değmez.
Greg Jackson,

1
Aslında, SLM'den (dahili bir araç) Kaynak Deposuna (bir Performans Çatalı) geçtiler, bu yüzden muhtemelen bu durumda birinin maliyeti olacaktı. Ancak, evet, oldukça önemli bir yararı olmadığı sürece, buna değmez.
JasonTrue

1
Discuss.fogcreek.com/joelonsoftware/… çoğu zaman dış kaynaklardan gelen bu tarihe sahiptir. (2004'ten beri FWIW'dan beri yabancıyım).
JasonTrue

3
Büyük depo durumundan emin değilim. Birini yönetiyorum, 12 Gb repo (yani sıkıştırılmış sunucu dizini 12 Gb) ve içinde 320.000 revizyon var. Yeterince hızlı. SVN 1999 yılında geri olmasaydı çünkü Şansı Microsoft Perforce kullanılan maillist.perforce.com/pipermail/perforce-user/2001-August/... ve subversion.apache.org/docs/release-notes/release-history.html
gbjbaanb

8
@gbjbaanb, bu büyük bir depo değil ... bugünlerde orta büyüklükte bir sayılıyor. ;) Bkz. Örneğin research.google.com/pubs/archive/34459.pdf
Alex Feinman

65

Hem kullanıcı olarak hem de sunucuların kurulmasında ve bakımında svn, git ve perforce konusunda oldukça uzmanım.

Bir şirket ya da benim gibi yalnız bir programcı için kaynak kontrolü, kod geliştiren ve satan gerçek para kazanma faaliyetini desteklemekte kullanılan bir maliyettir. Bu nedenle göz önünde bulundurulması gereken birkaç faktör var:

  • Geliştirme modelinize ne kadar uyuyor?
  • Geliştiricilerin öğrenmesi ve kullanması ne kadar kolaydır?
  • Geliştiriciler için rutin işlemler hızlı mı?
  • Kullanma süreci, kod yazmak olan gerçek işlerinden rahatsız edici midir?
  • Kurulumu ve bakımı ne kadar kolaydır?
  • Satın almanın ve sürdürmenin maliyeti nedir?
  • Yardıma ihtiyacınız varsa, bunu elde etmek ne kadar kolay?

Bireysel sistemlerin artıları ve eksileri hakkında tl: dr detaylarını atlayacağım. Geçen yıl tam zamanlı danışmanlığa geri döndüğümde, müşterilerime kaliteli yazılımlar sunarak ve çok fazla para ödemeden gerek duymadan en fazla para kazanmama neden olacağına karar vermek için üçünü de gözden geçirdim. takılmak. "FOSS iyi ve FOSS olmayan şeytani" nin politik düşüncesini denklemin dışına çıkardığımda, Performance lisansı için ayrıldım.

İşte bu yüzden büyük şirketler de Performance'ı seçtiler.


İşte tl: dr yorumlardan detaylar, artı biraz daha.

Svn adreslenmesi kolaydır: Performans ile karşılaştırıldığında, köpek yavaşlatır. Linux'u cep telefonları için yerleştiren bir şirkette çalıştım ve kaynaklarımızın tamamı 9 GB oldu; Performans kullandılar. Kodu aldığınızda, en son kaynakların güncellenmesi normal olarak LAN’da birkaç saniye veya evimden bir VPN bağlantısı üzerinden birkaç dakika sürdü. Svn ile sırasıyla dakika ve saat olurdu.

Git vs. Performans daha karmaşıktır. Birçok şirket, erişim kontrolü ile merkezi bir depo kullanmak ve orada iş yapmayı kolaylaştırmak ve başka bir şey yapmayı zorlaştırmak için iyi iş nedenleri olduğunu düşünüyor - ve Performans, bu modele mükemmel bir şekilde uyuyor. Bununla birlikte, git, insanları yerel bir şubede çalışmaya teşvik eder ve farklı şekilde çalışabilmelerinin bir yolu yoktur. Bir geliştirici tamamen yerel bir branşta çalışabilir ve hiçbir zaman merkezi depoya bağlanamaz - bir şirket çalışanlarının bu şekilde çalışmasını istemiyorsa, Performans daha iyi bir seçenektir.

Bazı iş ihtiyaçları için git ile ilgili başka sorunlar var. Git'i kullanan bir şirkette çalıştım ve bu tartışmayı kaç kez duyduğumu bilmiyorum: "Keşke [bazı diğer VCS] kullanıyor olsaydık, çünkü [bunu] yapmam gerekiyor ve git ile yapamam ." "Tabii ki git ile bunu yapabilirsiniz." "Nasıl?" “Eh, önce bir bash betiği yazman gerekiyor ...” “Boşver.”

Ve sonra, çok fazla tarihi olan bir kaynak ağacını doldurmak için harcanan zaman var. Performans ile, tarih sunucuda tutulduğundan, sadece tüm dosyaların en yeni sürümlerini elde edersiniz, bu yüzden gerçekten hızlıdır - belirttiğim 9 GB ağacın tümünü bir VPN üzerinden sadece birkaç saat sürdü. Git ile uzun zaman ve sonsuzluk arasında bir yer alabilir. Bazen GTK + veya X server git repo'larını klonlamak zorunda kalıyorum ve bu uzun bir öğle yemeği molası veya belki de yatma zamanı.

Gerçekten, bu iş için doğru araç meselesi. svn, Apple'ın açık kaynaklı çabalarının çoğu için gayet iyi çalışıyor ve çekirdek korsanları için berbat olurdu. git GTK + için harika çalışıyor, ancak WebKit'in içinde çalışmak için inanılmaz derecede yavaş - kaynak ağacı ve tarih çok büyük (WebKit'in svn-to-go portalının koduyla çalışmanın zor yolunu bulduğum için). Dev bir kaynak ağacınız varsa ve merkezi kontrole ihtiyaç duyuyorsanız performans iyi çalışır. Her biri doğru bağlamda iyi çalışıyor.


2
Büyük şirketlerin kodlarını tek bir depoya koymaları sorunu mu? Her bir 'modülü' veya 'uygulamayı' ayrı bir Git deposuna koymak, böylece bu depoların boyutlarını kontrol etmek ne olacak? Bu depoların her biri, Git'in alt modül özelliğini kullanarak gerekli işlevleri içe aktarır. Bu şekilde, depo pullsahipleri , zaman zaman güncellemeleri veya yeni özellikleri elde etmek için alt modüllerini kullanacaklardır ve ancak o zaman bu havuzun kullanıcıları havuzun kendisinin kodundan daha büyük güncellemeler gerektirecektir.
Carl G,

@Carl G: Buradaki tüm cevapları okursanız, insanların Git'in Performansı seçmesinin birçok nedeni vardır. Git'in havuzlar veya alt modüller etrafındaki yetenekleriyle hiçbir ilgisi yoktur.
Bob Murphy

"Başlangıçta bir kaynak ağacını doldurmanın zamanı geldi" diye hitap etmeye çalışıyordum, ama aslında bahsettiğim alt modül sorununun ilgisiz olduğunu görebiliyorum, çünkü alt modüller bu depoların tüm tarihçelerini de içeriyor. Sanırım tarihi kısmanın tek yolu bağımlılıkların ikililerini kullanmak olacak.
Carl G,

Git ile, sığ bir klon yapabilir ve sadece küçük bir miktar geçmişe sahip olabilirsiniz, ya da belki sadece en yeni dosyaları (git klonu - 1. adım). Bu, git alt modüllerinde de işe yarıyor.
Sahil Singh

38

Özellikle GIT ve bir dereceye kadar SVN o kadar eski değil - 90'lı yılların ortalarında sağlam sürüm kontrolüne ihtiyacınız varsa, SVN henüz başlangıç ​​aşamasında olduğu ve CVS'nin CVS olduğu için neredeyse ticari bir satış yapmak zorundaydınız. Bir sisteme yatırım yaptınız mı, onu taşımak bir ayı olabilir.

Oh, ve bu kararları verenler muhtemelen sürüm kontrol sistemiyle hiçbir zaman etkileşime girmez, ancak söz konusu satış personeli tarafından kazanılır ve dinlenir.


4
+1. Nispeten yakın zamanda gitmeye başladık ve uzunca bir süre performans göstermek zorunda kaldık - çünkü her şey daha düşüktü.
9000,

11
IMO Performance her ne kadar zamanımı boşa harcarsa da. Hala işte kullanıyoruz, çünkü onunla etkileşime giren özel araçlar geliştirmek için zaman harcadık. Geçiş yapmak için bu araçları yeniden yapmamız gerekecek.
m4tt1mus

2
Performans ve cahil geliştiriciler kodda kontrol etmekten nefret etmemi sağladı. Pastel boya ile kod yazmayı ve bunu derlemeyi tercih ederim .
Jim Schubert

Bence yorum yapmadan önce performansa bir göz atmalısın.
Toby Allen

30

Neredeyse 9 yıldır oyun endüstrisinde programcı oldum ve üzerinde çalıştığım her projede Performance kullanıldı. Belirli bir sektörde Performansı kullanımda tutan bir kaç şey olduğundan şüpheliyim.

  • İnsanlar uzun zamandır Performance'ı kullanıyorlar ve onunla oldukça rahat davranıyorlar, bu da başka bir çözüme geçmekte tereddüt ediyor. Karar vericiler ayrıca 30 milyon dolarlık projelerini daha önce hiç kullanmadıkları yazılımların ellerine geçirmekte tereddüt edebilir.
  • Birçok şirket / ekip, başka bir VCS'yi desteklemek için önemli miktarda çalışma gerektirebilecek şirket içi araçlarına Performans desteği ekledi.
  • Programcılar başka bir Git / Hg / SVN'ye geçmek için kolay bir zamana sahip olsalar da, sanatçılar, tasarımcılar ve yapımcılar gibi bir oyun geliştirme ekibinin daha az teknik üyesi var. Onları yeni sistemle rahat ettirmek çok zaman alabilir ve değişime karşı oldukça dirençli olacaklarına bahse girerim.

19
"Eski" geliştiricilerin (+10 yıl) muhtemelen "teknik olmayan" insanlar kadar değişime karşı dirençli olduğunu düşünüyorum.
Wayne Werner

3
Bu konuda +1, özellikle bu endüstri için. Video oyun programcıları tabağında o kadar çok şey var ki, çalıştıkları altyapıyı değiştirmek korkutucu bir teklif. “Kırılmadıysa…” biraz mantradır ve endüstrinin daha uygun olsalar bile eski çözümlerden geçmesini önler.
Chris Subagio

2
@Wayne - tamamen yaşça yorum yapan. Altmışın üzerindeyim ve orta sahadaki büyük siteye değişim ve yenilik konusunda öncü konumundayım. İlk JVM'yi yazmaya başladığında James Gosling 46 yaşındaydı. Ken Thomson UTF-8 kodlama şeması ile karşılaştığında 49, GO dili üzerinde çalışmaya başladığı zaman 63 yaşındaydı.
James Anderson,

1
@JamesAnderson Bence orada muhtemelen yerdesiniz. Kuruluşunuz bir gelişim kültürüne sahip değilse Ölü Deniz etkisinin ortaya çıktığını göreceksiniz . Sistemi bir bütün olarak değiştirmenin mümkün olup olmadığını ya da sadece küçük bir parçamızla başa çıkabileceğimizi merak ediyorum.
Wayne Werner,

2
@ MikeO'Connor Ayrıca oyunların çok sayıda ikili varlık kullandığını da unutmuşsunuz. Sadece ikili varlıkları kilitleyebilmek büyük bir artı.
CodingMadeEasy

22

Belki, Belki Performance'ı seviyorlar çünkü Performce daha iyi?

  • Performans hızlı. Subversion veya Git'ten çok daha hızlı.
  • Performans birleştirme Subversion veya Git'ten daha iyidir. Git gerçekten birleştirme yapmaz ve Subversion'ın sürüm takibi en azından 1.5'te çok iyi değildir.
  • Performans mükemmel müşteri desteğine sahiptir.
  • Performans Subversion'ın depo revizyonunu bireysel dosya revizyonları ile birleştirir . Performans, değişiklik listelerini veya bireysel dosya revizyonlarını kullanarak depo revizyonlarını görüntülemenizi sağlar .
  • Performans, Subversion'dan daha çok değişiklik listesiyle daha iyi bir iş çıkarır. Subversion'ın changelist'leri biraz sonradan düşünülmüş ve bunu kullanan az sayıda kişi var. Performans yerleşiktir. Değiştirilen bir dosyayı varsayılan değişiklik listesinden taşırsanız, yanlışlıkla kabul edilmez.
  • Performans, çalışma dizini düzeninizi belirtmenizi sağlar. Örneğin, standart bir kaynak kodu dizin ağacınız varsa, ancak bazı müşterilerin özel kaynağı varsa, özel kaynağı standart ağacın üzerine yerleştirebilirsiniz. Sadece kontrol etmek istediğiniz ürünleri belirterek seyrek ödeme işlemlerini kolayca yapabilirsiniz.

Tamam, bir Performce Fanboi olduğumu düşünmeden önce, bir şirkete Performce'yi en son tavsiye etmem yedi yıl önceydi. Performans maliyeti lisans başına 800 $ 'dır - ClearCase ile karşılaştırıldığında ucuz, ancak Subversion ile karşılaştırıldığında çok pahalı. Subversion Üzerine Performansı haklı çıkarmak konusunda çok zorlanıyorum.

Ayrıca, çoğu geliştirici Subversion'u kullanıyor. Subversion'dan farklı bir çalışma şekli olan Performance'ı öğrenmek istemiyorlar. Performans'ta bir istemci oluşturmanız ve dosyaları düzenlemeden önce düzenleme için dosyaları işaretlemeniz gerekir. Bunu Subversion ile yapmak zorunda değilsin.

Subversion Üzerinde Performans ile daha az entegrasyon var. Bunun bir kısmı müşterinin kullanımından kaynaklanıyor . Sadece VisualStudio ve hatta Hudson ile iyi oynamıyor. Bunun bir kısmı Performancece'nin müşteri entegrasyonlarını oluşturmak zorunda olmasından kaynaklanmaktadır.

Özel lisansın idari maliyeti aramasının bir bedeli vardır. Kullanıcı başına 1,00 ABD Doları karşılığında bir yazılım lisansı alabileceğinizi düşünün. Heck, iki bit yapalım. Binlerce lisans size sadece 250 dolara mal olacak.

Şimdi, lisansı yöneten tam zamanlı bir kişiye ihtiyacınız var. Ortalama bir teknik çalışan yaklaşık 2 yıl bir şirkette kalır. Yani her yıl 500 kişi gidiyor, 500 kişi daha geliyor. Her hafta on kişinin ruhsatının değişmesi gerekiyor. Daha sonra, projenin hazırlandığı zamanlar vardır ve 250 lisansa daha ihtiyacınız vardır. Bunlar sipariş edilmeli, girilmeli ve bakımı yapılmalıdır. Bu haftalar alabilir.

Bu yüzden birçok ticari firma açık kaynağa taşındı. Bu bir lisansın maliyeti değil. Bir geliştiriciye yılda 150.000 dolar ödüyorsunuz, Performance lisansı için 800 dolar daha nedir? Bu lisansı yönetiyor. ClearCase ile karşılaştırıldığında performans mükemmel görünüyor: Daha hızlı, daha kolay, daha ucuz, daha iyi. Ancak, Subversion'a karşı? Performans daha hızlı ve belki daha iyi olabilir, ancak 800 dolar daha mı iyi? Lisansı yönetmek daha mı iyi? İstenen bir aracı daha iyi kullanmıyor mu?

İşte bu yüzden Performance'ın problemleri olabilir.

Git, hepsi bir arada araç değil. Kimin bir depoya erişiminin merkezi olarak kontrol edilmesini istemediğiniz durumlarda harika çalışır. Ancak, birçok durumda bir ağrı olabilir. Benim koyduğum yol şu:

  1. Açık kaynak kodlu bir proje yürütüyorsunuz. Bir milyon insanın tüm deponuzun bir kopyası olsaydı mutlu olur mu yoksa üzülür müsünüz?
  2. Rakiplerinize üstünlük sağlamak için özel yazılım kullanan bir finansal işlem masası kullanıyorsunuz. Bir milyon insanın tüm deponuzun bir kopyası olsaydı mutlu olur mu yoksa üzülür müsünüz?

Merkezileştirilmiş yapılar yapıyorsanız, yine de herkesin tek bir depo kullanması gerekir. Dağıtılmış bir sistemin bu durumda avantajı nedir? Aslında, insanları çevrim dışında çalışmaya teşvik edebilir . Geliştiriciler sadece kendi mutlu yollarına girebilir ve son dakikaya kadar hiçbir şey yapamazlar. Daha sonra, iki çılgınca günü her şeyin tekrar çalışmasını sağlamak için harcıyorsunuz.

Git’e karşı değilim. Git'i birçok durumda tavsiye ettim. Bunlar arasında birbirleriyle zayıf bağlantıları olan dağıtılmış ekipler veya kaynak havuzuna erişimi olan herkesi izlemek istemediğiniz yerler var.

Örneğin, bir kolej bilgisayar bilimi bölümü, öğrencilerinin kaynak kontrolünü kullanmalarını ve öğretmenlerin bakması için kodlarını koymalarını istedi. İyi fikir. Çok sayıda çocuk standart yapı ve geliştirme prosedürlerini anlamadan üniversiteden ayrılıyor. Git'i tavsiye ettim.

Git'i kullanarak, depo yöneticisinin yalnızca profesörlerden emir alması gerekir. Bireysel öğrenciler için endişelenmeleri gerekmez. Profesörler, öğrencilerin depodaki sürümlerini taahhüt etmelerine izin verebilir. Öğrenciler gruplar halinde çalışabilir ve her grup havuzun versiyonunu paylaşabilir.

Eğer kolej Subversion kullanıyorsa, birileri tüm öğrencileri tanır ve hepsinin merkezi depoya erişmesine izin verirdi. Neyin nerede ve nerede olduğunu kimin kontrol edeceğini yönetmek zorunda kalacaklardı. Bir profesör bir grup projesine atanmışsa, bunun kurulması ve yönetilmesi gerekirdi. Bunu yapabilmek için tam zamanlı bir insana ihtiyacın olacak.

Bu, bir takımın diğerinden daha iyi olduğu bir futbol maçı değil. Araçlar farklı şekillerde çalışır ve her birinin avantajları ve dezavantajları vardır. Performans harika bir araçtır. Ne yazık ki, tavsiye etmeyi zorlaştıran durumlar ortaya çıkmıştır.

Git harika ama kişisel kaynak havuzum için Subversion'a geri dönüyorum. Sonuçta, ben paylaşmıyorum ve Subversion kullanımı sadece daha kolaydır. Git'i kişisel işlerim için kullanıyorum, çünkü küçük bir ekibim varsa, depolarımı internette tam zamanlı olarak tutmam gerekmiyor. Çoğu ticari site için Subversion'un en iyi sonucu verdiğini düşünüyorum. Ancak, Git'in parladığı durumlar vardır.


40
Bir dakika ne? Beni burada kaybettiniz "Performansı birleştirmek Subversion veya Git'ten daha iyidir. Git gerçekten birleştirme yapmaz [...]". Bunu açıklayabilir misin?
Sverre Rabbelier

1
Aslında Git'i eski okul scm araçlarından daha hoş, birleĢmeler için oldukça iyi buluyorum, ancak svn'deyken olayları bir “kontrol etme” değişkeni gibi sık sık Performance'la yaptığım gibi koymayı özlüyorum. (SVN'de yapmaya çalıştım, ancak svn ve p4 değişmezcileri farklı davranışlar gösterdiğinden yanlışlıkla tesadüfen kontrol etmeye başladım).
JasonTrue

12
@SverreRabbelier 3 yıl sonra ve hala sorunuzun cevabını bekleyen insanlar var.
Navin

1
"Performansı daha iyi olduğu için" ... "Bu, bir takımın diğerinden daha iyi olduğu bir futbol maçı değil". ...
RJFalconer

4
performans hızlı. svn veya git'ten çok daha hızlı. --- kriterler ya da olmadı ...; p
sjas

14

“Şarap ve akşam yemeği” rüşvetinin hala geçerli olup olmadığını bilmiyorum, ancak çoğu yönetici için bir ürün bulmaya karar verdiklerinde, çeşitli yayınlarda (yönetime yönelik) okumaya başlayacaklar ve ürünü elden çıkaran broşür ve broşürlere bakacaklar. erdemler.

Tahmin et, ne, FOSS ürünleri bu yerlerde özellik yok!

Bu nedenle, yönetim satın alma kararlarının çoğunun reklamcılık ve pazarlamadan kaynaklandığı neredeyse verilmişti. Değerlendirmeler yapabilir, ancak bu tür ürünlerden birkaçı.

Diğer sebep ise vadeden kaynaklanmaktadır. Bugün kullandığımız bazı ürünler son zamanlarda ciddi iş kullanımı için yeterince kararlı, bazıları destek seçeneklerine sahip değil, bazıları ticari çözümler olarak kanıtlanmış bir sicile sahip değil. Bunlar göz önünde bulundurulması gereken önemli konulardır (bir teknisyen olarak, onları kullanma ve başarısız olma riskini işletmeyi sürdürmek için minimum düzeyde tutarsa ​​FOSS çözümlerini mutlu bir şekilde değerlendirebilirim) ve bazı yöneticiler de buralarda olmama konusunda temkinlidir. Patronlarına karşı sorumludurlar ve ürünün arkasında bir destek organizasyonu varsa, kendilerini daha rahat hissedecekler - sonuçta işiniz için bir tane var.

Son olarak, birçok FOSS ürünü arkalarında destek sağlarken (SVN için Collabnet veya Wandisco olduğunu düşünür), yine de 'arka yatak odasında ineklerin yaptığı' ününü kazanıyor. Hepimiz bunun genellikle b * * ** t olduğunu biliyoruz ve en iyi FOSS ticari tekliflerle inanılmaz derecede rekabet ediyor, ancak yöneticimin hala ikna olması gerekiyor. belki olgunlaşmamış ve olgun FOSS ürünleri arasındaki farkı anlamaz; belki umrunda değil.

Her neyse, Performce güzel bir SCM, onu seçmemek için hiçbir sebep yok. Diğer SCM'ler için de aynısını söyleyebilirim, ancak yine orada, diğerleri hakkında sadece kötü şeyler söyleyebilirim ve belirli bir çift ürün söz konusu olduğunda hala kabuslar görüyorum.


Bu, on yıl önce daha zorlayıcı bir argümandı ama birçok FOSS ürünü bugün çok yaygındı; Bazı büyük firmalarda kullanılan SVN dahil.
Jeremy,

FOSS'un rekabet edebilecek doğru şeylere sahip olması umrumda değil - Yöneticimin yapmadığını düşündüğü umrumda. Ayrıca, bazı büyük şirketler yavaş hareket ediyorlar, bu yüzden hala oraya geliyorlar, FOSS ürünlerini değerlendirmeyi düşünmek birkaç tane daha alacak.
gbjbaanb

gbjbaanb Beni yanlış anladınız. Tanımladığınız faktörlerin, neredeyse on yıl önce olduğu gibi herhangi bir yönetim seviyesinde geçerli olduğunu sanmıyorum. Bu sizin durumunuz olsa da , onu genelleştirmek yanlış olur. FOSS o anlam ana akım olduğunu edilir çoğu büyük şirketler tarafından benimsenen ve çekirdek sistemlerinde kullanılan.
Jeremy,

6
Bunun önemli bir nokta olduğunu düşünüyorum: FOSS araçları kendilerini tanıtmıyor, gerçekten de sebepleri yok çünkü. Bunun bir kısmı broşürlerden ve bahsettiğiniz şeylerdir, ancak Google "Karşılaştırma SCM sistemleri" veya "Karşılaştırma sürümü kontrol sistemi" olsa bile, bulduğum tek şey Performance tarafından yapıldı. Tabii, kaynağı göz önünde bulundurmalıyım, ancak kendilerini tanıtmak ve neden en iyi olduklarını konuşmak için çaba harcayan FOSS araçlarını bilmiyorum. Ticariciliği araştırdığımızı biliyorum, ama bazen pazarlama ve reklamcılık bilinçli bir seçim yapmama yardımcı oluyor.
Şans

1
Performans seçmemek için iki mükemmel neden olduğunu düşünüyorum: 1. Dallanma çok pahalıdır ve 2. Çıkış-sonra-düzenle işlemi çevrimdışı çalışmayı uzlaştırmayı çok zorlaştırır.
kevin cline

14

Çünkü Performce gibi araçlar, şarap satın almak ve satın almakla sorumlu insanları yemek için satıcılara sahipken, Git'tir. Tabii ki, konuşmamın sadece alaycı tarafı, ama süreci yakından görerek getirilen bir sinizmdir.

Sadece açıkça ortaya koymak: Ben do not size CIO koridordan sarhoş tökezleyerek görsem yeni sürüm sistemi sonraki çeyrek kullanarak bekliyoruz anlamına gelir. Sadece birçok kuruluşta kullanım ve satın alma arasında bir kopukluk var. Elbette, şirketlerin Performancece kullanması için başka nedenler de var: örneğin, iş akışlarında uygulamalarına ağır yatırım yapmış olabilirler. Ancak genel olarak --- ve bu soru çok genel --- FOSS araçlarını kullanmamanın hiçbir işlevsel avantajı yok.


13
Sinik gelebilir, ama esasen kafasına çiviyi çarptın. Kendi şirketimde, herhangi bir FOSS çözümünü teşvik etmek için çaba sarf ediyorum, çünkü yürütücü ücretsiz olursa bunun iyi olamayacağına dair bir algıya sahip.
wolfgangsz

1
Amin, SVN çözümümüzü değiştiren bir servete mal olan bir 'girişim' ile değiştirdiklerinde onları biraz değiştirmiş olmama rağmen, danışmanlar, yönetmesi gereken 2 müteahhit ve çok fazla ağlama, diş gıcırdama, buggy operasyonu ve verimliliğimizin ölümü ... atıldı ve eski SVN çözümümüzle değiştirildi.
gbjbaanb

7
Google, bu tür bir kültür için gerçekten bilinmemektedir.
Jeremy,

11
@Chance: Teknik destek için ne tür şeylerle iletişim kuruyorsunuz? CVS, Subversion ve Mercurial'ı kullandım ve bir zamanlar arayabileceğim biri olmasını dileyerek kendimi asla bulamadım. Bir sorunum olursa, google veya bir soru gönderirim ve genellikle birkaç dakika içinde çözülür. Sistem geliştiricisinin desteğini gerektiren bir kaynak kontrol aracının ciddi bir sorunu olduğunu öneriyorum .
Tom Anderson,

2
@TobyAllen: yaklaşık altı yıl boyunca (sorunun tarihini not edin) Ancak bu günlerde bile Performce Performce'den başka bir şey kullanmak istiyor gibi görünüyor: perforce.com/git
Dmitri

12

Muhtemelen aynı sebep, şirketimin bir çok açık kaynaklı yazılım kullanmayı reddetmesi (aynı fikirdeyim değil):

Bir şeyler ters gittiğinde, arayabilecekleri ve bağırabilecekleri birini istiyorlar.


2
Katılıyorum: Bu, birçok BT departmanı için büyük bir neden, ancak olgunlaşmamış görünüyor. “Bizim hatamız değil, onların hatası”. Sadece "boynunu sıkması" parmakla işaretleme potansiyeli nedeniyle aşağı bir ürün seçmek, çocukça bir karar gibi görünüyor. Sık sık yapılmaz, sadece çocuksu görünür.
Bruce Ediger

Cevabınız Performance'ın teknik desteğiyle ilgili değil. Çok kötü, çünkü bunun ne kadar iyi olduğunu bilseydin, cevabın gelmemiş olabilir. Performans teknik desteği yıldız ve kararlı ve onlar hızlı HIZLI sabit olsun.
Br.Bill

9

Tüm cevaplar P4 kullanan büyük şirketler hakkında konuşsa da (ve Google’ın neden P4 kullandığını cevaplıyorlar), Google’ın Performans kullanmaya devam etmesinin temel nedenlerinden biri, Performans’ın Git’le yapamayacağınız bir performansa sahip olmanızdır. Google'ınki gibi büyük kaynak repoları ile büyük bir fark yarattı.

Ve duyduğum kadarıyla, Facebook SVN ve Git-SVN kullanıyor


1
Kesinlikle, alt raporlar kodun yeniden kullanımını teşvik eder ve kolaylaştırır. Bu yüzden konuyla ilgili bir sözüm olduğunda Performans'ı seçiyorum. Büyük anlaşma! Kolayca karıştırın ve farklı depolardan gelen kodları eşleştirin (hg'nin alt raporları), belirli bir alt raporun kim olduğunu izler, checkin'leri, şubeleri ve tüm depoları birleştirmeyi kolayca izler. Tüm bunlar tek bir müşteri istemcisinin belirttiği son geliştirici için süper kolaylık sağlarken, süper kullanıcılar için branştaki bilgileri de korur Şu anda, Mercurial'ı büyük bir projede kullanmaya zorlanıyorum ve hg ile sup-repos ile uğraşmak, verim kaybı olarak bir LOT paraya mal oluyor.
12'de adım adım

8

Çünkü SVN, SVN ve Performans (araçlar karşılaştırılırken 4 yıl öncesinden itibaren) SVN'den daha iyi şeyler yapıyor . (Dallanma sanırım aralarından biri.)

Ve GIT, dağıtıldığı gibi bir Dvcs'dir . Şirket ekipleri için dağıtılan kısım, ne umurunda ne de istemek bir şey olabilir.


5
Git'i farklı iş akışlarıyla gayet iyi kullanabilirsiniz, bu nedenle dağıtılmak bir sorun değil ... şirket ekibi ipucu olmadığı sürece. whygitisbetterthanx.com/#any-workflow
M. Dudley

2
Performansın iyi bir şekilde dallandığını söyleyemem ... Performans dallarını oluşturmak dallanmış her şeyin yoğun bir kopyasıyla sonuçlanır. SVN tembel kopya ile dallanır, bu yüzden çok daha hızlı dallanır.
kevin cline

1
@Jason - Subversion dallanma benim yazabileceğimden daha hızlı gerçekleşiyor: "svn cp ...; svn anahtarı ..." Şube oluşturma performansı delicesine karmaşık; şube özelliği oluşturmak, çalışma alanı oluşturmak, entegre etmek, taahhüt etmek. Heck, performans ile hepsi böyle. Hızlı ve kolay dallanma olmadan, bir RCS'nin esasen kullanılamaz olduğunu düşünüyorum. Net trafiğe ve geliştirme hızına bakıldığında, Performance'in kullanım ömrü bitmiş bir ürün gibi görünüyor.
kevin cline

1
@kevin, nasıl dallanma yaptığını bilmiyorum ama ben sadece entegrasyonu yapıyorum. Dal spesifikasyonu yapmadım ve şubeye bir çalışma alanı oluşturmak zorunda kalmamıştım (görüşüme göre dizinleri hariç tutmaya karar verirsem görünüm eşlememi değiştirmek zorunda kalsam da). Olduğu söyleniyor, svn ile hiçbir şey yapmadım bu yüzden bu konuda yorum yapamam.
Şans

1
@kevin: Biliyorsunuz, "daha iyi çalışır" diye bir şey yapması gereken CLI komutlarının sayısının bir fonksiyonu olması gerekmez. Ne SVN ne de Performce konusunda uzman olmayan birinin yorumudur.
Martin Ba

6

Büyük şirketlerin büyük, klunky, "kurumsal" sürüm kontrol sistemleri satın alma eğiliminde olmasının bir diğer nedeni:

BT departmanlarındaki orta-üst yönetim, VCS'yi her bir projenin kullandığı ya da kullanımını zorlayabileceğiniz bir şey olarak görüyor. Bir VCS kullanımını zorladığınızda, o zaman neden oraya biraz da "süreç" koymuyorsunuz? Demek istediğim, "kurum çapında" bir sistem belirleme şansınız var, neden merkezi kontrol altına alınmıyor ve "olağanüstü durum kurtarma" ve bazı "iş akışı özellikleri" ekleniyor, böylece "Biz CMM Seviyesi StraightJacket" diyebilirsiniz Uysal!". Bir VCS, iş akışını zorlayıcı özellikler koymak için bir hedef için çok kolaydır, bunun sebebi budur.

Bazı ickky-poo, ufak tefek yazılımlar (Serena Dimensions) seçimine gelince, Bahamalar'daki birkaç 20 kişilik kadın satış personeli ile birkaç Bikini Bikini turunun bir Direktörü veya VP'yi her konuda ikna edebileceği söyleniyor.


yorum yok, fakat müteahhitlerimizin veya menajerlerimizden hangisinin bikini golfü oynadığını bilmek istiyorum!
gbjbaanb

5
Kabul edeceğim, Bikini Golf muhtemelen benim de üzerinde çalışacak.
54'te jhocking

5

Büyük şirketler merkezi bir modele ihtiyaç duyarlar. Geliştiriciler geliştirildikten sonra müşteri desteğine verilir. 50-200 dağıtılmış geliştirici deposunu taramak zorunda kaldıklarında gerçekten destek ayakkabılarında olmak ister misiniz? Ve yapılar merkezi depoya dayanarak yapılır, yapılar daima, her zaman, her zaman izlenebilir ve tekrarlanabilir olmalıdır. Bunu, aptalca bir patent ihlaliyle ilk kez mahkemeye çıkardığınızda öğreniyorsunuz.

Git bu modelde de çalışmıyor. Daha küçük bir şirketiniz veya VPN erişiminiz zayıfsa, gerçekten parladığı yer.


2
Her şey iş akışını tanımlamakla ilgili, merkezi ya da merkezi olmayan önemli değil. Merkezi depodaki 200 şubeyi taramaya çalışırken desteğin işi kolay değildir. Genel olarak şirketler merkezi çözümleri seçiyorlar, çünkü rahat ettikleri şey bu. Merkezi bir paylaşımlı depo ile kullanılan bir DVCS'ye kıyasla kayda değer bir avantaj yoktur.
Wadesworld

4

Çoğu büyük şirketin kullanmasının bir nedeni Performans, BT departmanında bu konuda çok fazla bilgisi olan ve bununla ilgili sorunları çözme konusunda uzun yıllara dayanan profesyonellerin bulunması olabilir.

Gelecekte şirketler Performance'ten ve daha fazlasından GIT'e doğru ilerlemeye başlayabileceklerini hissediyorum ... çoğu geliştirici bunu tercih ediyor gibi görünüyor !! Ayrıca http://whygitisbetterthanx.com/#git-is-fast'ın önümüzdeki yıllarda Performans'ın neden bu kadar baskın olamayacağına dair daha fazla kanıt için kontrol edin !!


4

Bazı zamanlar önce, bir VCS setinden (RCS, CVS, ClearCase, perforce daha önce kullanıldığından eminim, başkalarının da olabileceğini biliyorum) kullanılan benzersiz sistem olarak performansa geçtik. Bu küçük bir proje değildi: Göç bir yıldan fazla sürdü. Sorumlu olan takım (ben parçası değildim) birkaç VCS'yi değerlendirdi ve en azından git ve svn zaten kullanımda olanların yanı sıra değerlendirildi. Raporlarını hatırladığım gibi, araçları gerekli özelliklere sahip olmadan filtrelemişler ve ardından düşündükleri:

  • Özellikle uzak siteler için tipik kullanım performansı

  • kaynak gereksinimleri

  • çalışma alışkanlığında ihtiyaç duyulan değişikliklerin önemi

  • kullanılabilirliği ve maliyeti destekle

Performans ise oldukça açık bir kazanandı. git ilk nokta için biraz daha iyiydi, ama diğerleri için dezavantajdaydı.


3

Bir zamanlar, çok uzun zaman önce değil (IDE VI olarak adlandırılırken), tek özgür (açık kaynaklı) sistemler CVS, RCS ve SCCS idi.

  • Bunların hiçbiri, yeniden adlandırılmış bir dosyayla bile başa çıkamıyordu.
  • Birleşmeleri kaydetmediler, bu nedenle iki dal aktif olarak çalışıyorsa, iş bir dalda bitinceye kadar birleştirmek çok zordu.
  • Çok büyük kod tabanlarına iyi ölçeklendirilemediler
  • Büyük projelerin istediği giriş kontrol düzeyini ve süreç bilgisini sağlamadılar.

Dışarıda birçok ticari kaynak kod kontrol sistemi vardı, bunların çoğu tek bir makine satıcısı (IBM, DEC, HP, vb.) Tarafından sağlandı ve yalnızca donanımlarını kullandı.

Ardından birkaç şirket, Performance ve ClearCase dahil çapraz platformlu ticari kaynak kodu kontrolü sattığını belirtti.

ClearCase, çok sayıda küçük ağ paketinin “tamamen açılmış” olması nedeniyle geniş alan ağlarında (henüz tek başına İnternet) iyi çalışmayan RPC üzerine inşa edilmiştir, ayrıca IBM ve rasyonel ClearCase'i “nakit inek” olarak görmüştür ve asla fazla göstermemiştir. Aşk.

Bu nedenle, halen yaygın olarak kullanılan tek “eski” ticari kaynak kod kontrol sistemleri Performanstır. Performans bir kez kullanıldığında ve yapım sistemlerine ve hata takip sistemlerine entegre edildiğinde , bir şirketin başka bir şeye taşınması için çok az kısa vadeli bir fayda vardır .

Yani, özetlemek gerekirse, performans, başka birçok seçenek olmadığında “kapıya ayak” a girdi ve insanların ondan uzaklaşmasını sağlamak için henüz yeterince karışıklığa sahip değillerdi .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.