온라인으로 도움을받는 경우 본인의 프로젝트로 정당하게 주장 할 수 있습니까? [닫은]


9

기본적으로 저는 파이썬에서 네트워크 프로그래밍을 처음 사용하기 때문에 온라인으로 튜토리얼을 찾아 보았습니다. 튜토리얼에서 배운 내용 (소켓 만들기, 포트 연결 등)을 사용하여 두 컴퓨터가 서로 메시지를 보낼 수있는 프로그램을 만들도록 코드를 수정했습니다.

구직 신청을해서 면접관에게 보여줄 수 있다면 기술적으로 내 코드일까요? 코드를 그렇게 많이 수정하지 않았다고 말하는 것은 공정하다. 그러나 예를 들어 두 사용자가 서로 다른 PC에서 서로 게임하는 틱택 토 게임과 같은 것으로 수정하면 코드는 내 코드가됩니까? 나는 단지 표절 제처럼 보이고 싶지 않기 때문에 왜 묻습니다.


9
로버트는 옳지 만 분명하다. 이것은 부정적이지 않다. "저는 처음 파이썬 튜토리얼에서 몇 가지 코드로 시작해서 이것을 코드로 바 꾸었습니다!" ... 작업 관점에서 보면 처음부터 시작했을 때보 다 좋거나 더 나은 것으로 볼 수 있습니다. 다른 사람의 코드로 시작한 경우 확장, 리팩토링, 용도 변경 외에도 다른 코드를 읽을 수 있습니다. "자신의"무언가를 갖는 것은 대부분의 직업에서 큰 초점이 아니라- 시작한 내용과 시작한 내용을 더 잘 보여줄 수 있습니다!
BrianH

얼마나 많은 코드를 더하거나 뺍니까? 튜토리얼에서 100 줄의 코드로 시작했는데 110 줄이 있다면 – 아마도 아닐 것입니다. 당신이 1000 줄을 가지고 있다면, 그것의 것이지만 어떻게 얻었는지에 대해 이야기하고 어디서 도움을 얻었는지 언급하십시오. (예, 코드 라인이 훌륭한 척도는 아니지만 아이디어를 줄 수 있음을 알고 있습니다).

1
나는 프로그래머에게 논외적인 윤리적 질문에 관한 것이기 때문에이 질문을 논외 주제로 마무리하려고 투표하고있다.
durron597

답변:


11

아니.

그러나 두 컴퓨터가 서로 메시지를 보낼 수있는 프로그램을 만들도록 코드를 수정했다고 주장 할 수 있습니다. 또는 두 사용자가 서로 다른 PC에서 서로 게임을하는 틱택 토 게임과 같은 것으로 수정했다고 주장 할 수 있습니다.

진실로 당신이 그것에 넣은 일의 양을 나타냅니다. 다른 사람이 작업의 일부를 수행 한 경우 인터넷에서 일부 프로젝트의 소유권을 주장 할 수 없습니다.


1

나는 고전적인 라인 "그것은 달려있다" 와 함께 갈 것입니다 .

당신이 이미 그것을 많이 수정하지 않았다고 말했듯이, 나는 Roberts 측에 완전히 있습니다. 당신의 프로젝트가 아닙니다.

그러나 다른면에서 : 우리 개발자들은 모두 프로젝트에 대해 토론하고, 연구하고, 때로는 복사하여 붙여 넣기를 좋아합니다. 다른 사람들의 코드로 피델 딩하는 것은 매우 일반적입니다. 많은 부분을 수정하고 새로운 기능이나 문제에 대한 다른 접근 방식을 제공하면서 노력하면 코드입니다.

당신이 진정으로 스스로 한 일의 양에 대한 진실을 고수하면 아무도 당신을 표절 자로 부르지 않을 것입니다.


1

당신이 한 것이 당신이 원하는 것을하도록 누군가의 코드를 수정했다면, 당신이 "당신의 것"이라고 주장하는 것은 부정직 할 것입니다. 오히려 기존 코드를 기반으로 만든 프로그램입니다.

많은 프로그래머들이 다른 사람들의 코드를 사용한다는 것을 알았을 것입니다. 항상. 라이브러리와 API는 본질적으로 누군가 자신의 프로젝트에서 만든 코드를 사용하는 공식화 된 방법입니다. 라이브러리 또는 API를 사용하는 것과 동일하지는 않지만 동일한 효과가 있습니다.

간단한 P2P 프로그램의 경우 다른 프로그래머가 간단한 웹 프로토콜을 구현하는 메시징 응용 프로그램을 작성했다고 주장 할 수 있습니다. 계속해서 프로그램이라고 부를 수 있습니다. 빌린 부분을 쓴 사람에게 신용을 주면됩니다. 그리고 소스를 인용하는 코드에 주석을 추가하는 것이 가장 좋으며, 필요한 경우 다른 사람이 찾을 수 있습니다.

그리고 게임의 경우, 당신은 게임을 썼습니다. 이것을 코드로 주장 할 수 있습니다. 그런 다음이 게임은 다른 소스에서 얻은 일련의 기능을 활용하여 멀티 플레이어 기능을 활성화합니다. 다시 말하지만 적어도 코드의 주석에 해당 코드의 소스를 배치해야합니다. 그러나이 상황에서는 실제로 게임을 작성했을 때 코드 외부의 사람들에게 명시 적으로 말하지 않고 벗어날 수 있습니다.

많은 개발자는 라이브러리를 사용하여보다 복잡한 문제를 처리합니다. 많은 사람들이 네트워크 프로토콜, 그래픽 및 고급 수학과 같은 것을 사용하므로 모든 것을 다양하게 수행하는 라이브러리가 있습니다. 이러한 종류의 코드를 사용하는 것은 완전히 수용 가능할뿐만 아니라 정상입니다.

"이것은 IM 클라이언트입니다"또는 "이것은 비디오 게임입니다"라고 말하면 네트워크 코드가 타사에서 온 경우 아무도 놀라지 않을 것입니다. 귀하가 코드의 모든 부분의 유일한 저자라고 주장하지 마십시오.

그러나 다른 가능성을 찾아봐야합니다. 문제의 코드가 사용 약관에 의해 보호됩니까? 지금까지 용어없이 또는 매우 개방 된 용어로 제공되는 코드에 대해 이야기했습니다. 그러나 저자가 좀 더 구체적인 용어를 가지고 있다면 그 단어를 따르십시오 . 그들이 교육 목적으로 만 의도 된 것이라면, 그 이상의 능력으로 코드를 사용하는 것보다는 괜찮습니다. 해당 코드에는 모든 종류의 제한이 있으므로 사용 방법에주의하십시오.


이것은 마지막 단락을 제외하고는 완전히 다른 것입니다. 라이브러리를 통한 코드 재사용은 복사 및 붙여 넣기를 통한 코드 재사용과 (윤리적 및 법적으로) 매우 다릅니다.
amon

본질적으로 컴파일러는 본질적으로 어쨌든 복사 / 붙여 넣기이므로 실제로는 아닙니다. 실제 차이점은 없습니다. 결국 프로세서 명령 시퀀스 일뿐입니다. "윤리적, 법적으로"그것이 나의 마지막 단락에 관한 것입니다. 코드를 사용해도 원래 제작자가 괜찮다면 기본적으로 라이브러리를 사용하는 것과 같습니다.
zeel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.