Tôi có thể tuyên bố đây là dự án của riêng mình nếu tôi nhận được trợ giúp trực tuyến không? [đóng cửa]


9

Về cơ bản tôi chưa quen với lập trình mạng bằng Python, vì vậy tôi đã tham gia một hướng dẫn trực tuyến để tìm hiểu về nó. Sử dụng những gì được dạy trong hướng dẫn (tạo một ổ cắm, kết nối với các cổng, v.v.), tôi đã sửa đổi mã để tôi tạo một chương trình trong đó hai máy tính có thể gửi tin nhắn cho nhau.

Nếu tôi đi xin việc và trình bày điều này với những người phỏng vấn tôi, liệu mã cho nó về mặt kỹ thuật có phải là của tôi không? Thật công bằng khi nói rằng tôi đã không sửa đổi mã nhiều như vậy; Tuy nhiên, điều gì sẽ xảy ra nếu ví dụ tôi sửa đổi nó thành một trò chơi giống như trò chơi tic-tac-toe, nơi hai người dùng chơi với nhau từ các PC khác nhau, liệu mã đó có phải là của tôi không? Tôi chỉ không muốn trông giống như một kẻ đạo văn vì vậy tại sao tôi hỏi.


9
Robert nói đúng, nhưng chỉ cần rõ ràng: đây không phải là một tiêu cực. "Tôi đã bắt đầu với một số mã từ một hướng dẫn Python bắt đầu và biến nó thành cái này!" ... Từ góc độ công việc, điều này có thể được coi là tốt hoặc tốt hơn so với khi bạn bắt đầu từ đầu. Nếu bạn bắt đầu với mã từ người khác có nghĩa là bạn có thể đọc mã của người khác, ngoài việc mở rộng, tái cấu trúc, tái sử dụng, v.v. Có một cái gì đó "của riêng bạn", đối với hầu hết các công việc, không phải là trọng tâm lớn - và nếu bạn có thể cho họ thấy những gì bạn đã bắt đầu và những gì bạn đã làm từ nó, thậm chí tốt hơn!
BrianH

Bao nhiêu mã bạn đã thêm hoặc trừ? Nếu bạn bắt đầu với 100 dòng mã từ hướng dẫn và có 110 dòng - có thể là không. Nếu bạn có 1000 dòng, vâng, đó là của bạn nhưng hãy nói về cách bạn có được chúng, và đề cập đến nơi bạn nhận được sự giúp đỡ. (Vâng, tôi biết các dòng mã không phải là một số liệu tuyệt vời, nhưng nó có thể đưa ra một ý tưởng).

1
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì đó là về một câu hỏi đạo đức không có chủ đề cho các lập trình viên.
durron597

Câu trả lời:


11

Không.

Nhưng bạn có thể tuyên bố rằng bạn đã sửa đổi mã để bạn tạo một chương trình trong đó hai máy tính có thể gửi tin nhắn cho nhau. Hoặc bạn có thể tuyên bố rằng bạn đã sửa đổi nó thành một trò chơi giống như trò chơi tic-tac-toe, nơi hai người dùng chơi với nhau từ các PC khác nhau.

Chỉ cần trung thực đại diện cho số lượng công việc mà bạn đưa vào nó. Bạn không thể yêu cầu quyền sở hữu một số dự án trên Internet nếu những người khác đã làm một phần công việc.


1

Tôi muốn đi với dòng cổ điển "nó phụ thuộc" .

Như bạn đã nói rằng bạn đã không sửa đổi nó nhiều, tôi hoàn toàn đứng về phía Roberts. Đây không phải là dự án của bạn.

Nhưng mặt khác: Tất cả các nhà phát triển của chúng tôi muốn thảo luận, nghiên cứu và đôi khi sao chép-dán cho các dự án của chúng tôi. Loay hoay với mã người khác là khá phổ biến. Nếu bạn sửa đổi nó nhiều, hãy nỗ lực, cung cấp các tính năng mới hoặc một cách tiếp cận khác cho vấn đề, đó là mã của bạn.

Chỉ cần trung thực với số lượng công việc bạn đã thực sự làm một mình và tôi chắc chắn sẽ không ai gọi bạn là kẻ đạo văn.


1

Nếu những gì bạn đã làm là sửa đổi mã của ai đó để làm điều gì đó bạn muốn thì sẽ không trung thực khi cho rằng mã của bạn là "của bạn". Thay vào đó, nó là một chương trình bạn tạo dựa trên mã hiện có.

Bây giờ bạn có thể nhận thấy rằng nhiều lập trình viên sử dụng mã người khác. Tất cả thời gian. Thư viện và API về cơ bản là một cách chính thức để sử dụng mã mà ai đó đã tạo trong dự án của riêng bạn. Mặc dù những gì bạn đã làm không giống như sử dụng thư viện hoặc API, nhưng nó có tác dụng tương tự.

Trong trường hợp chương trình P2P đơn giản, bạn có thể tuyên bố rằng bạn đã viết một ứng dụng nhắn tin sử dụng một lập trình viên khác thực hiện các giao thức web đơn giản. Bạn có thể tiếp tục và gọi nó là chương trình của bạn, bạn chỉ nên cung cấp tín dụng cho bất cứ ai đã viết các phần mượn. Và tốt nhất là thêm ý kiến ​​vào mã trích dẫn nguồn, để người khác có thể tìm thấy nó nếu cần.

Và trong trường hợp của trò chơi, bạn đã viết một trò chơi. Bạn có thể yêu cầu đây là mã của bạn. Trò chơi này sau đó sử dụng một bộ các chức năng mà bạn có được từ một nguồn khác để kích hoạt chức năng nhiều người chơi. Một lần nữa, có lẽ bạn nên đặt nguồn của mã đó ít nhất là trong các bình luận trong mã của bạn. Tuy nhiên, trong tình huống này, bạn có thể thoát khỏi việc không nói rõ điều này với những người khác ngoài mã, vì bạn thực sự đã viết trò chơi.

Nhiều nhà phát triển dựa vào các thư viện để giải quyết một số vấn đề phức tạp hơn mà họ gặp phải. Những thứ như giao thức mạng, đồ họa và toán nâng cao được nhiều người sử dụng, vì vậy có những thư viện thực hiện tất cả những điều đó khác nhau. Sử dụng loại mã này không chỉ hoàn toàn chấp nhận được, mà còn bình thường.

Nếu bạn nói "đây là ứng dụng khách IM" hoặc "đây là trò chơi điện tử" thì không ai có thể ngạc nhiên nếu mã mạng là của bên thứ ba. Chỉ cần không tuyên bố rằng bạn là tác giả duy nhất của tất cả các phần của mã, và bạn sẽ ổn thôi.

Tuy nhiên, bạn nên xem xét một khả năng khác: Mã được đề cập có được bảo vệ bởi bất kỳ điều khoản sử dụng nào không? Đến thời điểm này tôi đã nói về mã được tạo sẵn hoặc không có điều khoản hoặc điều khoản rất mở. Tuy nhiên nếu tác giả có một số thuật ngữ cụ thể hơn theo họ . Nếu họ chỉ dự định mã o là cho mục đích giáo dục, hơn là sử dụng nó trong bất kỳ khả năng nào vượt quá điều đó là không ổn. Có tất cả các loại giới hạn mà họ có thể đặt trên mã đó, vì vậy hãy cẩn thận về cách bạn sử dụng nó.


Điều này là hoàn toàn bên cạnh điểm, ngoại trừ đoạn cuối cùng. Tái sử dụng mã thông qua các thư viện khá khác nhau (về mặt đạo đức và pháp lý) so với tái sử dụng mã thông qua sao chép và dán.
amon

Không thực sự, vì về bản chất trình biên dịch chỉ là sao chép / dán. Không có sự khác biệt thực sự, cuối cùng chúng chỉ là chuỗi các lệnh của bộ xử lý. Theo như "đạo đức và pháp lý" đó là những gì đoạn cuối cùng của tôi là về. Miễn là người tạo ban đầu ổn với việc bạn sử dụng mã, về cơ bản nó giống như sử dụng thư viện.
zeel
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.