Khi tôi làm việc tự do, tôi đã gặp rất nhiều trường hợp khách hàng bảo vệ ý tưởng và mã nguồn của các dự án của họ (như ứng dụng web) càng nhiều càng tốt, bất kể các dự án và khái niệm không quan trọng đến mức nào .
Tôi đã đăng một câu hỏi về việc giữ bí mật ý tưởng và nhận được nhiều câu trả lời tuyệt vời. Bây giờ, mối quan tâm của tôi là nhiều hơn về bảo mật mã nguồn.
Theo quan sát của tôi về:
- Các cơ sở mã mà tôi phải làm việc trong suốt sự nghiệp của mình,
- Tôi sẵn sàng giữ bí mật một số mã nguồn của riêng mình và:
- Một vài bài báo như, ví dụ, Phản hồi mở cho Simon Stuart bởi những người lập trình nổi tiếng. Người đóng góp Mason Wheeler ,
Tôi kết luận rằng mã nguồn được giữ bí mật chủ yếu vì những lý do đó:
Bởi vì tác giả xấu hổ về mã có chất lượng kém như vậy hoặc công ty lo sợ sẽ mất danh tiếng nếu ai đó nhìn thấy cơ sở mã kém như vậy hoặc do chất lượng thấp của cơ sở mã hóa, nó sẽ không mang lại bất cứ điều gì hữu ích cho bất kỳ ai để mở nguồn: ngay cả khi ai đó sẽ quan tâm, anh ta sẽ khó có thể chạy giải pháp (hoặc, thường xuyên, thậm chí biên dịch).
Bởi vì các phần của mã bị đánh cắp (chủ yếu từ các dự án nguồn mở được bảo vệ bởi giấy phép hạn chế sử dụng nó trong một tình huống nhất định),
Bởi vì mã dựa trên bảo mật bởi sự tối nghĩa và tác giả không quan tâm đến nguyên tắc của Kerckhoffs .
Bởi vì sản phẩm rất dễ hỏng nên việc hiển thị mã sẽ gây ra quá nhiều tác hại: nếu một ứng dụng nguồn đóng với tất cả các rò rỉ bảo mật đó có thể chịu được một hacker mới, thì ứng dụng có nguồn mở tương tự sẽ có cơ hội nhỏ hơn rất nhiều, bởi vì ngay cả hacker mới bắt đầu cũng sẽ chỉ cần nghiên cứu mã để khám phá tất cả các lỗ hổng.
Nếu nó không rõ những gì tôi đang nói, thì đây là một ví dụ:
if (credentials.password === 'masterPassword12345') { isLoggedIn = true currentUser = credentials.userName } else { authenticate(credentials) }
Bởi vì tác giả đã ước tính quá mức mã nguồn (và kỹ năng và chuyên môn của mình). Ví dụ: tin rằng một thuật toán liên quan đến mật mã tự tạo (không bao giờ được xem xét bởi bất kỳ ai) tốt hơn bất kỳ thuật toán nổi tiếng nào.
Bởi vì tác giả tin rằng ý tưởng đằng sau mã là tuyệt vời, và nó sẽ bị đánh cắp.
Bởi vì hội chứng "Nó không đủ hoàn hảo". Nói cách khác, nhà phát triển sẵn sàng phát hành mã nguồn ra công khai khi mã "đủ tốt", nhưng ngày qua ngày, vẫn còn nhiều thứ phải cải thiện, vì vậy mã sẽ không bao giờ được phát hành.
Tất cả những lý do đó đưa ra một hình ảnh khá tiêu cực của những người chống lại việc xuất bản mã nguồn.
Có trường hợp hợp lệ nào để không phát hành ra công chúng mã chất lượng cao theo nguyên tắc của Kerckhoffs không?