Kapalı Kaynak Yüksek Riskli bir Proje nasıl yönetilir?


25

Şu anda bir J2EE web sitesi geliştirmeyi planlıyorum ve bana yardımcı olmak için 1 geliştirici ve 1 web tasarımcısı getirmek istiyorum. Proje bir niş pazar içinde finansal bir uygulama.

Kaynağı kapalı tutmayı planlıyorum. Ancak, gelecekteki çalışanlarımın kod tabanını kolayca kopyalayıp kullanabileceklerinden veya üçüncü bir tarafa satabileceğinden korkuyorum. Uygulama geliştirme belki de daha fazla 4-6 ay sürecek ve uygulama yayına girdikten sonra ek çalışanlar getirebilirim.

Ama kaynağı kendime nasıl saklarım? Şirketlerin kaynaklarını korumak için kullandıkları teknikler var mı?

Geliştirme makinelerimde USB sürücüleri ve DVD yazıcıları devre dışı bırakmayı öngörüyorum, ancak veri yüklemek veya kodu e-postaya eklemek yine de mümkün olacak.

Sorum eksik. Ancak benim durumumda olan programcılar, lütfen tavsiye. Bu konuda nasıl devam etmeliyim? Bir takım oluşturmak, kod gizliliğini korumak vb.

Gerekirse çalışanlarla da bir gizlilik sözleşmesi imzalamayı dört gözle bekliyorum. (Lütfen alakalı etiketler ekleyin)

Güncelleştirme

Tüm cevaplar için teşekkürler. Artık tüm USB portları ve DVD yazıcıları kesinlikle devre dışı bırakmayacağım. Ancak etkinlik günlüğü tutmam gerektiğini düşünüyorum (Bunu tam olarak nasıl yapmalıyım?) Katılan ve daha sonra mevcut kodla çalışan derecelere karşı dikkatli değilim. Hiç tanışmadım, ama onlara karşı temkinli olmam önerildi. Bir gizlilik maddesi eklerdim, ancak bu, neredeyse hiç fon sağlamayan bir başlangıç ​​olduğu ve sahadaki daha büyük oyuncularla oldukça rekabetçi bir iş alanı olduğu için, herhangi bir scalpers'ı tespit edebileceğimi veya takip edebileceğimi sanmıyorum.

Şahsen tanımadığım zamanlarda güvendiğim insanları nasıl işe alabilirim. Özgeçmişleri yardımcı olacak, ancak aksi takdirde güven ancak zamanla gelişecektir.

Ancak nihayet kodla kaçsalar bile, satış yapıldıktan sonra önemli olan hizmettir. Bu yüzden uzun süredir gerçekten endişelenmiyorum.


28
Ben (ve başka bir akıllı, yetkin geliştirici olmayan), bahsettiğiniz koşullar altında çalışmayı düşünmeyeceğimi biliyorum (engelli pendrives, dvd yazıcılar…).
Jonathan Sterling

5
Sadece zehirli.
Jonathan Sterling

53
Dürüst olmak gerekirse, herhangi bir güveni uzatmayı reddeden biriyle tanıştığımda, her zaman kendi güvenilirliği hakkında benimkinden daha fazla şey söylediğini düşünüyorum. güvenilmez.
James McLeod

8
@abel: Önceki bazı sözlerinizi kısarak, profesyonel yazılım geliştirme konusunda hiçbir tecrübeniz yok. Ancak, “rekabet gücü yüksek bir iş alanı” na girmeye çalışıyorsunuz ve “neredeyse hiç fonunuz olmadığında” “daha ​​büyük oyunculara” karşı başarılı oluyorsunuz. Kızartmak için kodunuzla çalışan programcılar için endişelenmekten daha büyük balıklarınız var. Yerinde olsam, bir iş planı hazırlar ve hedef bölgenizde başarılı olan işadamları tarafından gözden geçirilmesini ve daha sonra başarılı olmak için gerçekten kaynaklara sahip olup olmadığınızı düşünmesini isterdim.
Bob Murphy

37
@ abel: Güncellemenizden sonra sorunuz şu şekilde. Çok paranız yok ve bir lokantada bile çalışmadınız, bir tane bile koştum. Ama yine de bir restoran açmaya kararlısın - ve zaten kar yapmak için uğraşan çok sayıda harika restoranı olan San Francisco'da. Böylece bir şefin kongresine gidersin ve yemeğini zehirlemeyen bir aşçıyı işe almayı sor. Ve size şeflerin yiyecek zehirlemediğini söylediklerinde, tanıdığınız hiç kimsenin zehirlenmediğini itiraf ediyorsunuz, ama birileri size endişelenmeniz gerektiğini söyledi, böylece yine de endişeleneceksiniz.
Bob Murphy

Yanıtlar:


77

Geliştiricilerinize güvenmeniz gerekir.

Neredeyse tüm profesyonel geliştiriciler kaynağınızı çalmaz. Bir başkası için çalışıyorsanız, yazdığınız kodun sahibi olan işveren olduğu anlaşılmıştır. Geliştiriciler olabilir referans amaçlı kodu kopyalayıp, ancak onlar kimseye satışa sunmaya edecek son derece düşüktür. Onlar daha sonra yeni bir işverene satışa sunmaya yaptıysa olarak olası sonuç onları (kapıyı gösterilen ve hatta tutuklanıyor Bob Murphy içinde işaret onun comment ). Yakalanmak riske değmez.

Daha da önemlisi, güvensizlik ırkları güvensizliği besler. USB bağlantı noktalarının ve DVD yazıcıların devre dışı bırakılması, paradoksal olarak, geliştiricilerin kodu kopyalaması olasılığını artıracak bir güvensizlik duygusu uyandırır.

Elbette, sözleşmenize gizlilik maddesi ekleyiniz, ancak sözleşmeyi en önemli kısmı olarak vurgulamak gereksizdir.


2
Kısa bir gizlilik maddesi geliştirme sözleşmelerinde ve iş sözleşmelerinde tamamen normaldir - ancak ChrisF'in dediği gibi, onunla uğraşmayın. Bir avuç sözleşme geliştirme projesinden daha fazlasını yapan herhangi biri için, korkunç tehditlerle ilgili uzun bir gizlilik sözleşmesi, ipucu olmayan bir amatör olduğunuzu söylüyor. 6-20 satırlık bir metinden herhangi bir yerde çalışan çevrimiçi olarak bulabileceğiniz standart cümleler vardır. Bu ihlal durumunda avukat tutmaya istekli iseniz çok - ve istemezseniz, herhangi bir gizlilik sözleşmesi anlamsızdır.
Bob Murphy,

46
Ayrıca, gerçek dünyada, üçüncü taraflar çalınan kod istemiyor. Risk çok büyük. Informix ve Oracle 90'lı yılların ortalarında kurumsal ilişkisel veritabanı pazarına başvurduğunda, Informix'in geliştiricilerinden biri Oracle'a katılmaktan vazgeçti (oldukça yaygındı) ve onunla birlikte ( 't). Yeni patronuna Oracle'da sıcak bir karşılama beklediğini söyledi, ancak bunun yerine bir güvenlik ekibi ve bir tutuklama aldı. Sonra Oracle güvenliği Informix güvenliği adını aldı ve sabit disk, Oracle'dan hiç kimseye bakmadan Informix'e geri döndü.
Bob Murphy,

1
@Bob Murphy Umarım herkes gıda zincirinin dibinde bile çok içtendir.
abel

1
Tam olarak bu kesin cevabı yazmak üzereydim. Güven aslında projenin başarısı için kritik öneme sahiptir. ChrisF’in dediği gibi, geliştiricilerin bilgisayar bileşenlerinin devre dışı bırakılması yalnızca ilişkiyi güçlendirecek ve geliştiricilere güvenmediklerini bildirecektir. Kodunuzu gerçekten korumanın tek yolu, geliştiricilerin nerede uyuduklarını, nerede yemek yediklerini, kiminle konuştuklarını vb. Kontrol etmektir. Sadece, ihlal edenleri cezalandırmak için gereken yasal mühimmatı vermek için iyi bir yazılı sözleşmeniz olduğundan emin olun.
TheBuzzSaw 28:12

2
İki kelime: Edward Snowden ( en.wikipedia.org/wiki/Edward_Snowden ). ABD Federal Hükümeti'ndeki en gizli bölümlerin bile bu soruna iyi bir çözümü yok. Sizi (OP) daha iyisini yapabileceğinizi düşündüren nedir? Çözümünüzü yüzeysel teknolojik kısıtlamalara değil, güvene ve makul bir şekilde kullanın!
rinogo

74

Bu programcılar ilk başta yazılımı yazabilirlerse, o zaman ...

ÇALIŞMASI GEREKMEZ.

Sadece onu geliştirmek için harcadıkları zamanın bir kısmını yeniden yazabilirler. Evet, doğru, geliştiriciler tam bir salak değil ... bir şeyi nasıl yaptıklarını anladıktan sonra, nasıl yaptıklarını hatırlayabiliyorlar.

Bu yüzden sanırım sadece onlara güvenmek veya yazılımı kendiniz yazmak zorunda kalacaksınız .


3
Rekabet etmeyen bir fıkra için bu bir tartışma mı? ;)
Tim

8
Nitekim: programcılarınız bu bilgileri başlarında bulundurmak suretiyle kodunuzu çoktan kopyalamışlardır.
Frank Shearar

Onu anlıyorum. Yeni katılan geliştiricilerin kodlama kodlarını istemiyorum.
abel

3
@abel, çalınan kod sadece sandığınız gibi göründüğü kadar kullanışlı değildir. Kaynak kod olmadan bile bir uygulama 'klonlanabilir'. tescilli algoritmalar , şimdi şu güvende tutmak istediğini. Geliştiricilerin bunları öğrenmek için kod çalmasına gerek yoktur, sadece okuyun ve yeniden oluşturun. Heck, sadece programı kullanarak bir algoritma çıkarmak için yeterli olabilir. Diğerlerinin de söylediği gibi, basit bir rekabet etmeyen cümle hile yapacak ve yapabileceklerinizle ilgili. Kodu fiziksel olarak güvenceye almak sadece zaman kaybettirir, çünkü tuzlarına değer herhangi bir geliştirici kolayca atlayabilir.
GrandmasterB

11
Gerçeklik için +1 ... ve sandalyemin gülüşünü bozmam için. İneklerin süt çalması gerekmez. 8D
TheBuzzSaw

22

Hiçbir fikrin kendi başına 20 $ 'dan fazla bir değere sahip olmadığını söylemiştim (ve bu Kanada doları!) Kodu çalıp kendilerine bırakmaya çalışsalar bile, bir sonraki adımın ne olduğu konusunda daha iyi bir fikre sahip olacaksınız ve yazılımın olası alıcılarıyla daha fazla bağlantı kurabileceksiniz.

Kesinlikle yalnızca güvendiğiniz kişileri işe almalısınız, ancak kodunuzu çalıp satmaya çalışsalar bile çok uzağa gidemezler.


9
Bu kesinlikle doğru. Benzersiz Fikrinizi gizli tutmayı unutun ve herkesten daha iyi yapmaya odaklanın. Fikirlerin çoğu zamanlarının bir ürünüdür ve birkaç kişiye bağımsız olarak ortaya çıkar. (Henri Poincaré de 1900'lerin başında görelilik üzerinde çalışıyordu, ancak Einstein onu yayına soktu.) Şansınızı, bu ay Sand Hill Yolu'ndaki VC'lere çeviren sekiz ekip var; Finansman alacak güvenilir iş planlarına ve profesyonel ekiplere sahip olanlardır.
Bob Murphy,

1
İlgili: sivers.org/multiply . Kötü fikirler bile 2 kuruşa değmezdi, ama iyi fikirler 20 doların üzerinde de olabilir.
Pacerier,

6

Asıl gerçek şu ki, kimse senin kodunu istemiyor. Herkesin nasıl çalıştığını bilmek istediği bir çözüm geliştirdiğini düşünebilirsiniz. Ama sen yapmadığından daha sık.

Rakiplerinizin kaynak kodunu ele geçirirseniz ne yapardınız? Onu dağıtamazsın. Herhangi bir bölümünü projenize kopyalayamazsınız (üçüncü taraf kodunu kod tabanınıza entegre etmek çok zor olmasa bile). Ne yapabilirsin? Çalışabilirsin. Ancak çoğu zaman kodu okumak ilk etapta yazmaktan daha zordur.

Açık kaynak yazılımına bakın. Çalınan kaynak koduna en yakın benzetmedir. Çok fazla sayıda korunmamış kod var. Büyük bir bölümün ihtiyaçlarınızı karşılamayan bir lisansı vardır. Diğerleri uyumsuz bir programlama diline sahiptir veya platformunuza taşınması gerekir. Gereksinimlerinize uyan kodun okunması çok zaman alacaktır.

Kapalı kaynak zihniyetine sahip birçok açık kaynaklı proje var. Yani yamaları kabul etmiyorlar. Çok geçmeden kod sürümünüz o kadar sapacaktır ki, yeni sürümleri birleştirmek imkansız olacaktır.

En değerli şeyin, kodunuzu koruyan, ileriye götüren ekibiniz olduğunu anlamalısınız. Kodun kendisi değil.


5

Eğer bu bir tür başlangıçsa, yapmanız gereken bir şey inşa edilmiş bir ürün elde etmektir. Çok çalışacak ve projeye adanmış iyi geliştiricilere ihtiyacınız var.

Onlardan kurtulmanın ya da en azından morallerini ve bağlılıklarını azaltmanın gerçekten kolay bir yolu, onlara onlara güvenmediğinizi göstermek. Aslında, kodları çıkarabilecekleri yollarını düşünmeye başlayacaklardır (neredeyse kesinlikle takip etmeyecek olsalar da) ve eğer bir şekilde ortaya çıkarlarsa sizi paranoyak değil salakça düşüneceklerdir. (Bu dikkat düzeyinin haklı olduğu kuruluşlar vardır ve bir finansal web sitesi başlangıcı bunlardan biri olarak kabul edilmeyecektir.)

Sözleşmedeki yazılımın mülkünüzün nasıl olduğu ile ilgili birkaç cümle iyi olacaktır. Biri bunu ihlal ederse, sahip olduğunuz daha şiddetli bir dili ihlal edecek ve muhtemelen daha haklı hissedeceksiniz. Dar ve zaman sınırlı olmayan rekabet dışı maddeler sadece istediğiniz insanları kovalar ve aslında sizin yetki alanınızda yasal olmayabilir (öğrenmek için yerel bir avukata danışın).

İyi insanları işe alırsanız, yazılımı daha sonra yeniden yazabilirler. Eğer yeni başlayanlar işe alırsanız, birlikte yürüdüklerini daha da nasıl geliştireceklerini bilemeyecekler ve üzerinde inşa eden herhangi biri, sahip olduğunuzdan daha düşük bir versiyonuyla geç gelmek için ciddi yasal riskler taşıyacak.

Kısacası, bu endişelendiğiniz şeyler üzerinde oldukça düşük olmalı. Kötü insanları işe alırsan, ne olursa olsun batırdın. İyi insanları işe almaya konsantre olun ve bu kaymaya izin verin.


4

Potansiyel müşterileriniz neden bu konuda size güveniyor?

Ne de olsa parayla kaçabilirsiniz.

Microsoft, Google, IBM gibi şirketler, kapalı kaynaklı yazılımın kalıplarını yazmak için binlerce kişiyi istihdam ediyor ve çalışanları koddan çıkarken endişelenmiyor. İş sözleşmesindeki telif hakkı koruması ve “herhangi bir kodun işvereninize ait olduğu” açık bir şekilde anlaşılması şartı ile bu sözleşmeyi ele alıyor gibi görünmektedir ve eski çalışanlara karşı kod çalma davaları oldukça nadirdir.

Ayrıca, yazılımınızı tüm dünyaya bıraktığınızda, çekirdek gerçekten gelişmiş bir matematik gerektirmediği sürece, herhangi bir yetkili programcı ekibi kaynak kodunu görmeden başvurunuzu çoğaltabilir.


3

Diğerlerinin de belirttiği gibi, bu öncelikle bir halkın endişesi gibi görünüyor.

Bununla birlikte, veri sızıntılarına yazılım çözümleri pazarlayan çok sayıda büyük güvenlik tedarikçisi vardır:

Bu çözümlerle sınırlı bir deneyime sahip olduğum için etkililikleri veya uygunlukları hakkında yorum yapamam, ancak şunu söylemenin yardımcı olabileceğini düşündüm.


3
Fikir gibi, tek endişe, bu ürünlerin kurumsal dille doludur ve gerçekte ne yaptıklarını açıklamaz :)
Mars Robertson

2

Açıkçası, diğer herkesin dediği gibi, programlayıcılarınıza güvenmeniz yeterlidir.

Bununla birlikte, projenizi bugünün ortamına açmanın, bazı belirli pazarlar haricinde, size zarar vermekten daha fazla yardımcı olacağına karar vermeniz gerektiğini söyleyeceğim. Sadece fikre daha açık olmak, kaynak kodunuzun büyüyen ayakları hakkında endişelenmenize ve bunu kendiniz yapmasanız bile, kaçmanıza neden olur. Yapabileceğim tüm iyi niyetleri topla ve bence para kazanma ihtimalin daha yüksek. İmparatorluk dünyadaki en iyi uygulamayı sunsa bile, Luke Skywalker'ın indirdiğini sanmıyorum, çünkü İmparatorluk'un idealleri yanlış yerdeydi.

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.