Làm cách nào để quản lý Dự án rủi ro cao nguồn đóng?


25

Tôi hiện đang có kế hoạch phát triển một trang web J2EE và muốn mang đến 1 nhà phát triển và 1 nhà thiết kế web để hỗ trợ tôi. Dự án là một ứng dụng tài chính trong một thị trường thích hợp.

Tôi có kế hoạch để giữ cho nguồn đóng. Tuy nhiên, tôi sợ rằng nhân viên của mình có thể dễ dàng sao chép cơ sở mã và sử dụng nó hoặc bán cho bên thứ ba. Việc phát triển ứng dụng sẽ mất từ ​​4 đến 6 tháng, có lẽ nhiều hơn và tôi có thể đưa thêm nhân viên sau khi ứng dụng đi vào hoạt động.

Nhưng làm thế nào để tôi giữ nguồn cho chính mình. Có công ty kỹ thuật sử dụng để bảo vệ nguồn của họ?

Tôi thấy trước việc vô hiệu hóa ổ đĩa USB và trình ghi DVD trên các máy phát triển của mình, nhưng tải lên dữ liệu hoặc đính kèm mã trong email vẫn có thể.

Câu hỏi của tôi không đầy đủ. Nhưng các lập trình viên đã ở trong hoàn cảnh của tôi, xin vui lòng tư vấn. Làm thế nào tôi nên đi về điều này? Xây dựng một nhóm, duy trì bảo mật mã, v.v.

Tôi mong được ký hợp đồng bí mật với nhân viên nếu cần quá. (Vui lòng thêm các thẻ có liên quan)

Cập nhật

Cảm ơn bạn vì tất cả các câu trả lời. Tôi chắc chắn sẽ không vô hiệu hóa tất cả các cổng USB và trình ghi DVD. Nhưng tôi nghĩ rằng tôi nên đăng nhập hoạt động (Chính xác thì tôi nên làm như thế nào?) Tôi cảnh giác với những người đầu cơ sẽ tham gia và sau đó chạy đi với mã hiện có. Tôi chưa gặp ai, nhưng tôi được khuyên nên cảnh giác với họ. Tôi sẽ bao gồm một điều khoản bí mật, nhưng cho rằng đây là một công ty khởi nghiệp gần như không có tài trợ và trong một lĩnh vực kinh doanh cạnh tranh cao với những người chơi lớn hơn trong lĩnh vực này, tôi nghi ngờ tôi sẽ có thể phát hiện hoặc theo đuổi bất kỳ người đầu cơ nào.

Làm thế nào để tôi thuê những người tôi tin tưởng, khi tôi không biết cá nhân họ. Sơ yếu lý lịch của họ sẽ hữu ích nhưng nếu không thì niềm tin sẽ chỉ phát triển theo thời gian.

Nhưng cuối cùng, ngay cả khi họ bỏ chạy với mã, đó là dịch vụ quan trọng sau khi việc bán hàng được thực hiện. Vì vậy, tôi không thực sự lo lắng trong thời gian dài.


28
Tôi biết rằng tôi (và không có nhà phát triển có thẩm quyền, lành mạnh nào khác) sẽ xem xét làm việc theo các điều kiện mà bạn đã gợi ý (các ổ đĩa bị vô hiệu hóa, các nhà văn dvd bị lỗi).
Jonathan Sterling

5
Đơn giản là độc.
Jonathan Sterling

53
Thành thật mà nói, khi tôi gặp một người từ chối mở rộng lòng tin, tôi luôn nghĩ nó nói nhiều về sự đáng tin của chính họ hơn tôi - nghĩa là, nếu bạn nghĩ tôi không thể tin tưởng được, thì đó là vì bạn biết bạn có thể ' t được tin tưởng
James McLeod

8
@abel: Ghi lại một số nhận xét trước đây của bạn, bạn không có bất kỳ kinh nghiệm nào về phát triển phần mềm chuyên nghiệp. Nhưng bạn đang cố gắng vào một "thị trường kinh doanh cạnh tranh cao" và thành công chống lại "những người chơi lớn hơn" khi bạn "gần như không có tiền". Bạn có cá lớn hơn nhiều để chiên hơn là lo lắng về việc lập trình viên chạy theo mã của bạn. Nếu tôi là bạn, tôi sẽ viết ra một kế hoạch kinh doanh và được xem xét bởi các doanh nhân đã thành công trong khu vực mục tiêu của bạn, sau đó suy nghĩ xem bạn có thực sự có nguồn lực để thành công hay không.
Bob Murphy

37
@abel: Sau khi cập nhật, câu hỏi của bạn là như thế này. Bạn không có nhiều tiền, và bạn thậm chí chưa bao giờ làm việc trong một nhà hàng, hãy để một mình điều hành. Nhưng dù sao bạn cũng quyết định mở một nhà hàng - và ở San Francisco, nơi đã có rất nhiều nhà hàng tuyệt vời đấu tranh để kiếm lợi nhuận. Vì vậy, bạn đi đến một hội nghị đầu bếp, và hỏi làm thế nào để thuê một đầu bếp sẽ không đầu độc thực phẩm. Và khi họ nói với bạn rằng các đầu bếp không ăn thức ăn độc hại, bạn thừa nhận rằng không ai từng biết bạn bị nhiễm độc, nhưng ai đó nói với bạn rằng bạn nên lo lắng về điều đó vì vậy dù sao bạn cũng sẽ lo lắng.
Bob Murphy

Câu trả lời:


77

Bạn cần tin tưởng các nhà phát triển của bạn.

Hầu như tất cả các nhà phát triển chuyên nghiệp sẽ không lấy cắp nguồn của bạn. Điều đó hiểu rằng nếu bạn làm việc cho người khác, đó là nhà tuyển dụng sở hữu mã mà bạn viết. Các nhà phát triển có thể sao chép mã cho mục đích tham khảo, nhưng rất khó có khả năng họ sẽ cung cấp nó để bán cho bất kỳ ai khác. Nếu họ đã rao bán nó cho một chủ nhân mới thì kết quả có thể xảy ra là họ bị đưa ra cửa và thậm chí có thể bị bắt (như Bob Murphy chỉ ra trong bình luận của anh ta ). Bị bắt không đáng để mạo hiểm.

Quan trọng hơn, sự ngờ vực giống không tin tưởng. Vô hiệu hóa các cổng USB và các trình ghi DVD sẽ tạo ra cảm giác không tin tưởng, điều nghịch lý là sẽ khiến các nhà phát triển sẽ sao chép mã.

Bằng mọi cách, hãy thêm một điều khoản bí mật vào hợp đồng của bạn, nhưng có lẽ không cần thiết phải làm nổi bật nó như là phần quan trọng nhất của hợp đồng.


2
Một điều khoản bí mật ngắn gọn là hoàn toàn bình thường trong các hợp đồng phát triển và thỏa thuận tuyển dụng - nhưng như ChrisF đã nói, đừng quá nhiệt tình với nó. Đối với bất kỳ ai thực hiện nhiều hơn một số dự án phát triển hợp đồng, một thỏa thuận bí mật dài với các mối đe dọa nghiêm trọng chỉ nói rằng bạn là một kẻ nghiệp dư không biết gì. Có những mệnh đề tiêu chuẩn bạn có thể tìm thấy trực tuyến chạy ở bất cứ đâu từ 6-20 dòng văn bản. Đó là rất nhiều nếu bạn sẵn sàng luật sư trong trường hợp vi phạm - và nếu bạn không, bất kỳ thỏa thuận bí mật nào là vô nghĩa.
Bob Murphy

46
Ngoài ra, trong thế giới thực, các bên thứ ba không muốn bị đánh cắp mã. Nguy cơ là quá lớn. Quay trở lại khi Informix và Oracle tung ra thị trường cơ sở dữ liệu quan hệ doanh nghiệp vào giữa những năm 90, một trong những nhà phát triển của Informix đã rời khỏi để gia nhập Oracle (khá phổ biến) và đã mang theo một ổ cứng chứa đầy nguồn Informix 't). Anh ta nói với ông chủ mới của mình tại Oracle, mong được chào đón nồng nhiệt, nhưng thay vào đó anh ta có một đội an ninh và một vụ bắt giữ. Sau đó, bảo mật của Oracle được gọi là bảo mật Informix và ổ cứng đã quay trở lại Informix mà không có ai từ Oracle nhìn vào nó.
Bob Murphy

1
@Bob Murphy Tôi hy vọng tất cả mọi người rất chân thành ngay cả ở dưới cùng của chuỗi thức ăn.
hủy bỏ

1
Tôi vừa định gõ câu trả lời chính xác này. Sự tin tưởng thực sự quan trọng đối với sự thành công của dự án. Như ChrisF đã nêu, việc vô hiệu hóa các thành phần của máy tính của nhà phát triển sẽ chỉ làm hỏng mối quan hệ và thông báo cho những nhà phát triển đó rằng họ không đáng tin cậy. Cách duy nhất để thực sự bảo vệ mã của bạn là kiểm soát nơi các nhà phát triển ngủ, ăn ở đâu, họ nói chuyện với ai, v.v. Chỉ cần đảm bảo rằng bạn có hợp đồng bằng văn bản để cung cấp cho bạn đạn dược hợp pháp mà bạn cần để trừng phạt bất kỳ người vi phạm nào.
TheBuzzSaw

2
Hai từ: Edward Snowden ( en.wikipedia.org/wiki/Edward_Snowden ). Ngay cả những bộ phận bí mật nhất trong Chính phủ Liên bang Hoa Kỳ cũng không có giải pháp tốt cho vấn đề này. Điều gì khiến bạn (OP) nghĩ rằng bạn có thể làm tốt hơn? Xây dựng giải pháp của bạn dựa trên sự tin tưởng và ngăn chặn hợp lý, không dựa trên những hạn chế công nghệ hời hợt!
rinogo

74

Nếu những lập trình viên này có thể viết phần mềm ở vị trí đầu tiên, thì ...

HỌ KHÔNG CẦN BẮT ĐẦU NÓ.

Họ chỉ có thể viết lại nó trong một phần nhỏ thời gian để phát triển nó. Vâng, đó là sự thật, các nhà phát triển không hoàn thành những kẻ ngốc ... một khi họ tìm ra cách để làm một cái gì đó, họ thường có thể nhớ cách họ đã làm nó.

Vì vậy, tôi đoán bạn sẽ phải tin tưởng họ hoặc tự viết phần mềm .


3
Đó có phải là một đối số cho một điều khoản không cạnh tranh? ;)
Tim

8
Thật vậy: các lập trình viên của bạn đã sao chép mã của bạn, nhờ có kiến ​​thức đó trong đầu.
Frank Shearar

Tôi hiểu điều đó. Tôi không muốn mã mở rộng quy mô mới gia nhập.
hủy bỏ

3
@abel, mã bị đánh cắp không hữu ích như bạn nghĩ. Một ứng dụng có thể được 'nhân bản', ngay cả khi không có mã nguồn. các thuật toán độc quyền , bây giờ thats những gì bạn muốn giữ an toàn. Các nhà phát triển không cần phải 'đánh cắp' mã để học những thứ đó, chỉ cần đọc nó và sau đó tạo lại nó. Heck, chỉ cần sử dụng chương trình có thể đủ để suy ra một thuật toán. Vì vậy, như những người khác đã nói, một điều khoản không cạnh tranh đơn giản sẽ thực hiện mánh khóe và là tất cả những gì bạn có thể làm. Về mặt vật lý, việc bảo mật mã chỉ là một sự lãng phí thời gian của bạn bởi vì bất kỳ nhà phát triển nào xứng đáng với muối của họ đều có thể dễ dàng bỏ qua điều đó.
GrandmasterB

11
+1 cho sự thật ... và làm tôi cười té ghế. Bò không cần ăn cắp sữa. 8D
TheBuzzSaw

22

Tôi đã nghe nói rằng không có ý tưởng nào đáng giá hơn 20 đô la (và đó là đô la Canada!) Ý tưởng chỉ có giá trị nếu nó được thực hiện tốt. Ngay cả khi họ đánh cắp mã và cố gắng tự mình thực hiện, thì bạn vẫn có ý tưởng tốt hơn về các bước tiếp theo là gì và liên hệ nhiều hơn với những người mua phần mềm tiềm năng.

Bạn chắc chắn chỉ nên thuê những người mà bạn tin tưởng, nhưng ngay cả khi họ đánh cắp mã của bạn và cố gắng bán nó, họ vẫn không thể đi được rất xa.


9
Điều này là hoàn toàn đúng. Hãy quên việc giữ bí mật Ý tưởng độc đáo của bạn và tập trung thực hiện nó tốt hơn bất kỳ ai khác. Hầu hết các ý tưởng là một sản phẩm của thời gian của họ và xảy ra với một số người một cách độc lập. . đó là những người có kế hoạch kinh doanh đáng tin cậy và các đội chuyên nghiệp sẽ nhận được tài trợ.
Bob Murphy

1
Liên quan: sivers.org/multiply . Những ý tưởng tồi thậm chí sẽ không đáng giá 2 xu, nhưng những ý tưởng tốt cũng có thể trị giá hơn 20 đô la.
Pacerier

6

Sự thật phũ phàng là không ai muốn mã của bạn. Bạn có thể nghĩ rằng bạn phát triển một giải pháp mọi người đều muốn biết nó hoạt động như thế nào. Nhưng thường xuyên hơn không bạn không.

Bạn sẽ làm gì nếu bạn tiếp quản mã nguồn của đối thủ cạnh tranh? Bạn không thể phân phối nó. Bạn không thể sao chép bất kỳ phần nào của dự án vào dự án của mình (ngay cả khi việc tích hợp mã bên thứ ba vào cơ sở mã của bạn không quá khó). Bạn có thể làm gì? Bạn có thể nghiên cứu nó. Nhưng thường thì việc đọc mã khó hơn viết mã ngay từ đầu.

Nhìn vào phần mềm nguồn mở. Nó là một sự tương tự gần nhất với một mã nguồn bị đánh cắp. Có một số lượng lớn mã không được phát hiện. Một phần lớn có giấy phép không phù hợp với nhu cầu của bạn. Những người khác có ngôn ngữ lập trình không tương thích hoặc cần chuyển sang nền tảng của bạn. Mã phù hợp với nhu cầu của bạn sẽ mất nhiều thời gian để đọc.

Có nhiều dự án nguồn mở với tâm lý nguồn đóng. Tức là họ không chấp nhận các bản vá. Phiên bản mã của bạn sẽ sớm bị sai lệch đến mức không thể hợp nhất các phiên bản mới.

Bạn nên hiểu rằng những gì có giá trị nhất là nhóm của bạn, người duy trì mã của bạn, đưa nó về phía trước. Không phải bản thân mã.


5

Nếu đây là một loại khởi động, thì điều số một bạn cần làm là xây dựng một sản phẩm. Bạn cần những nhà phát triển giỏi, những người sẽ làm việc chăm chỉ và tận tâm với dự án.

Một cách thực sự dễ dàng để loại bỏ chúng, hoặc ít nhất là làm giảm tinh thần và sự cống hiến của chúng, là cho chúng thấy trước rằng bạn không tin tưởng chúng. Trên thực tế, họ có khả năng bắt đầu nghĩ đến cách họ có thể lấy mã ra (mặc dù họ gần như chắc chắn sẽ không làm theo) và nếu họ có thể nghĩ ra cách họ sẽ nghĩ bạn không chỉ hoang tưởng mà còn ngu ngốc. (Có những tổ chức mà mức độ thận trọng này là hợp lý và một trang web tài chính khởi động sẽ không được coi là một trong số đó.)

Một vài điều khoản trong hợp đồng về cách phần mềm là tài sản của bạn sẽ ổn. Nếu ai đó sẽ vi phạm điều đó, họ sẽ vi phạm bất kỳ ngôn ngữ nào nghiêm trọng hơn mà bạn có, và có lẽ cảm thấy hợp lý hơn. Các điều khoản không cạnh tranh không bị giới hạn và hạn chế về thời gian sẽ chỉ xua đuổi những người bạn muốn và trên thực tế có thể không hợp pháp trong phạm vi quyền hạn của bạn (tham khảo ý kiến ​​luật sư địa phương để tìm hiểu).

Nếu bạn thuê người giỏi, họ có thể viết lại phần mềm sau. Nếu bạn thuê người mới bắt đầu, họ sẽ không biết cách phát triển hơn nữa những gì họ đi cùng và bất kỳ ai xây dựng nó sẽ gặp rủi ro pháp lý nghiêm trọng để đến muộn với phiên bản kém hơn của những gì bạn có.

Nói tóm lại, điều này nên thấp về những điều bạn lo lắng. Nếu bạn thuê người xấu, bạn sẽ không có vấn đề gì. Tập trung vào việc thuê những người tốt và để cho slide này.


4

Tại sao khách hàng tiềm năng của bạn nên tin tưởng bạn với tài chính?

Rốt cuộc bạn có thể chạy đi với số tiền.

Các công ty như Microsoft, Google, IBM sử dụng hàng ngàn người để viết các phần mềm nguồn đóng và không lo lắng quá mức về việc nhân viên của họ bỏ đi bằng mã. Bảo vệ bản quyền và một điều khoản rõ ràng "bất kỳ mã nào thuộc về chủ nhân của bạn" trong hợp đồng lao động dường như bao trùm nó, và, các vụ kiện tại tòa chống lại nhân viên cũ vì ăn cắp mã là cực kỳ hiếm.

Hơn nữa, một khi bạn phát hành phần mềm của mình ra thế giới rộng lớn, trừ khi cốt lõi liên quan đến một số toán học thực sự tiên tiến, bất kỳ nhóm lập trình viên có năng lực nào cũng có thể sao chép ứng dụng của bạn mà không cần nhìn thấy mã nguồn.


3

Như những người khác đã đề cập, điều này chủ yếu là một mối quan tâm của mọi người.

Tuy nhiên, có một số nhà cung cấp bảo mật lớn tiếp thị các giải pháp phần mềm để rò rỉ dữ liệu:

Tôi không thể nhận xét về tính hiệu quả hoặc sự phù hợp của chúng vì tôi có kinh nghiệm hạn chế với các giải pháp này, nhưng chỉ nghĩ rằng nó có thể hữu ích để chỉ ra điều này.


3
Giống như ý tưởng, điều lo lắng duy nhất là những sản phẩm này chứa đầy ngôn ngữ của công ty và không giải thích những gì họ thực sự đang làm :)
Mars Robertson

2

Thành thật mà nói, như mọi người khác nói, bạn chỉ cần tin tưởng vào lập trình viên của mình.

Tuy nhiên, tôi sẽ thêm vào điều đó bằng cách nói rằng bạn thực sự nên xem xét rằng nguồn mở dự án của bạn trong môi trường ngày nay có nhiều khả năng giúp bạn hơn là làm tổn thương bạn, ngoại trừ một vài thị trường cụ thể. Chỉ cần cởi mở hơn với ý tưởng sẽ khiến bạn bớt lo lắng về mã nguồn của mình đang phát triển và chạy đi, ngay cả khi bạn không tự làm điều đó. Theo ý kiến ​​của tôi, hãy tạo ra tất cả thiện chí mà bạn có thể kiếm được. Ngay cả khi Đế chế cung cấp ứng dụng tốt nhất trên thế giới, tôi không nghĩ Luke Skywalker sẽ tải xuống ứng dụng đó, vì lý tưởng của Đế chế đã ở sai chỗ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.