Có một câu hỏi tương tự về các lược đồ cơ sở dữ liệu: Sao chép lược đồ cơ sở dữ liệu của đối thủ cạnh tranh? Tôi đã trả lời rằng việc sao chép toàn bộ lược đồ có thể là vi phạm bản quyền, tùy thuộc vào quy mô của việc sao chép, được đánh giá bởi một thẩm phán.
Ngay cả khi câu hỏi của bạn tương tự, tôi sẽ trả lời hoàn toàn ngược lại: bạn có thể sao chép chữ ký phương thức. Tại sao?
Trong thực tế, chữ ký phương pháp xuất phát từ lẽ thường.
Thứ nhất, nếu chúng ta lấy một ví dụ cực đoan, Microsoft không thể giữ bản quyền tênRandom
và kiện mọi người sẽ sử dụng từ này Random
trong bất kỳ ứng dụng nào.
Thứ hai, bạn đang cố gắng làm gì chính xác? Tái hiện .NET Framework? Tại sao? Không cần phải phát minh lại bánh xe . Nếu bạn biết cách làm cho nó tốt hơn, trực quan hơn, v.v., rất có thể bạn sẽ đi kèm với tên của các lớp và phương thức tốt hơn, một tổ chức tốt hơn, v.v. Nếu bạn cố gắng sao chép cấu trúc của .NET Framework để chuyển nó sang một cấu trúc khác ngôn ngữ , sau đó bạn không phải là đối thủ cạnh tranh trực tiếp của Microsoft, vì vậy họ không có lý do nghiêm trọng nào để kiện bạn (điều này được nói, họ sẽ kiện bạn nếu bạn sao chép chính mã nguồn). Trên thực tế, họ thậm chí sẽ có lợi từ bạn: sao chép cấu trúc như vậy sang các khung khác sẽ không chỉ cho thấy sự thành công của .NET Framework mà còn giúp các nhà phát triển .NET làm việc với các ngôn ngữ khác và các nhà phát triển từ các ngôn ngữ khác dễ dàng hơn để học .MẠNG LƯỚI.
Thứ ba, họ có nhiều việc phải làm nghiêm trọng hơn là kiện mọi người sẽ sao chép tên của các phương thức và các lớp của .NET Framework.
Bây giờ, nếu ý định của bạn là sao chép toàn bộ .NET Framework và tạo ra một sản phẩm sẽ được nhiều nhà phát triển sử dụng, hãy tham khảo ý kiến luật sư trước khi chấp nhận rủi ro.
Một ví dụ:
Tôi hoàn toàn không hài lòng với giới hạn 259 ký tự xấu hổ trong đường dẫn tệp trong .NET Framework và không thể sử dụng các giao dịch mã ở cấp độ tệp. Vì vậy, tôi đã triển khai File
lớp của riêng mình với các phương thức sẽ hoạt động như mong đợi cho bất kỳ đường dẫn nào, không chỉ các đường ngắn nhỏ và thực hiện các giao dịch. Trong phiên bản đầu tiên, tôi quyết định sao chép tên của các phương thức trong File
và Directory
các lớp . Microsoft sẽ kiện tôi vì điều đó? Tôi nghi ngờ điều đó.
Trong mọi trường hợp, trong phiên bản thứ hai tôi đi kèm với một cú pháp mới new File(string fileName)
, mà tôi thấy trực quan hơn nhiều đối với tôi . Nhân bản tên của các phương thức đôi khi hữu ích, nhưng bạn phải có lý do chính đáng để làm điều đó.