오픈 소스 프로젝트의 모든 라인을 약간 다른 방식으로 다시 작성하여 폐쇄 소스 프로젝트에서 사용할 수 있습니까?


122

iPhone 프로젝트에 사용하려고하는 GPL 또는 LGPL 코드가 있습니다 .

해당 코드 (JavaScript)를 가져 와서 iPhone에서 사용하기 위해 다른 언어로 다시 작성하면 법적 문제입니까?

이론상으로 일어난 과정은 프로젝트의 각 라인을 겪어 가고있는 것을 배우고 새로운 언어로 아이디어를 다시 구현하는 것입니다.

나에게 이것은 무언가를 구현하는 방법을 배우고 원래 라이센스와 별도로 구현하는 것과 같습니다. 따라서 알고리즘을 복사했을 뿐이며, 원래 프로젝트 이외의 다른 곳에서 배울 수도 있습니다.

라이센스에 특정 구현 또는 알고리즘도 포함됩니까?

편집하다------

이 주제를보고 좋은 대화를 나누게되어 기쁩니다. 프로젝트에 좀 더 많은 지원을 제공하기 위해 관련된 코드는 일종의 오디오 분석을 수행합니다. 나는이 작업을 시작할 준비가되었지만 배우거나 구현하는 것이 사소한 것이 아니라고 생각 합니다 ( FFT 알고리즘을 구현할 수있는 수준에 있으며 , 그 이상으로 진행될 것입니다). 낮은 LOC의 스크립트는, 그래서 바로 포트를 할 너무 어려울 것이라고 생각하지 않았다.

포트를 해제하고 응용 프로그램에서 포트를 사용한다는 아이디어가 정말 좋습니다. 나는 그것에 대해 어떤 문제도 보지 못하고, 공동체에 무언가를 돌려주는 좋은 방법입니다.

나는 도덕적 문제에 대해 논의하고 싶지 않은 것에 대한 내용을 추가하려고했지만 토론을 조금 해고 한 것 같지 않아서 기쁘다.

나는 여전히 오픈 소스 코드를 사용하여 배우는 것에 대해 조금 이상하다고 느낍니다. 이것은 오픈 소스 프로젝트에서 배운 것이 폐쇄 소스 프로젝트에서 사용될 수 없다는 것을 의미합니까? 그리고 구현이 라이센스 위반으로 간주되지 않아야하는 기간은 얼마나됩니까? 어두운!

편집 2 --------

후속 질문


27
"오픈 소스 프로그램에서 알고리즘을 배우고 알고리즘을 다시 구현하는 경우 라이센스를 위반 한 적이 있습니까?"라는 또 다른 질문의 맨 아래로 가고 싶습니다. 나는 이것을 도덕적 인 것이 아니라 법적인 관점에서 묻습니다. 그러나 도덕적 관점에서도 합법적 인 학습 형태가 아닌가? 오픈 소스 프로젝트에서 수집 한 학습을 ​​사용할 수 없습니까? 이것은 GPL 자체의 요점에 어긋나는 것처럼 보입니까?
Chris Barry

8
@optician 문제는 그것을 한 줄씩 번역하기를 원한다는 것인데, 이것은 인간 언어 간의 번역과 같이 파생 된 작품으로 분명히 만듭니다. 아이디어 자체는 저작권에 의해 보호되지 않고 특허에 의해 보호 될 수 있습니다. 그러나 IANAL을 조심하십시오.
starblue

3
해설자 : 의견은 설명을 확대하기위한 것이지 확장 된 토론을위한 것이 아닙니다. 해결책이 있다면 답을 남기십시오. 솔루션이 이미 게시 된 경우 투표하십시오. 이 질문에 대해 다른 사람들과 논의하고 싶다면 chat을 사용하십시오 . 자세한 내용 은 FAQ 를 참조하십시오.

2
@optician Stack Exchange 시스템은 토론 게시판이 아니며 각 게시물은 시간이 지남에 따라 방향을 바꿀 수있는 주제입니다. 도움이 필요한 다른 질문이 있으면 다른 질문을하십시오. 그렇지 않으면, 답변이 원래 문제를 완전히 해결하지 못한 경우 명확하게 질문을 편집하십시오.

2
나는 법적 문제에 관한 주제이기 때문에이 질문을 논외 주제로 마무리하려고합니다.
Robert Harvey

답변:


257

나는 변호사가 아닙니다. 이것은 법적 조언이 아닙니다.

즉, 저작권법을 우회하기위한 목적으로 만 응용 프로그램의 모든 라인 을 가져 와서 약간 변경하는 것은 명백히 명백한 방법으로 타당한 방어없이 파생 된 저작물을 만드는 것입니다. 당신이 법정으로 끌려 가면 가장 잘 팔린 판사와 배심원조차 당신을 상대로 확실히 찾을 수 있습니다.

비교하자면 : 상호 운용성을 위해 무언가를 다시 작성해야하는 회사는 일반적으로 소스를 이해하고 포트 ( "클린 룸 구현")를 만들기 위해 다른 사람들을 고용하여 아무도 파생물 생성을 비난 할 수 없습니다. 작업. 당신이 제안하는 것은 정반대입니다.


25
내가 당신에게 +10을 줄 수 있었으면 좋겠어요.
Marjan Venema

5
그것은 법정에 "있는 경우"입니다.
QueueHammer 2016 년

5
소프트웨어가 전혀 성공하지 못하면, 어느 시점에서 법정에있게 될 것입니다.
저스틴 C

4
@optician : 실제로 원본을 얼마나 가까이 다시 만들 수 있는지에 따라 달라집니다. 변호사가 대답해야하는 질문입니다.
David Thornley

5
@DavidStone 거꾸로 있습니다. 논리 알고리즘과 코드에서 알고리즘 의 특정 표현 은 법적으로 분리되어 있음을 이해해야합니다 . 표현 만 저작권의 보호를받습니다. 재 구현을 수행하는 그룹은 알고리즘의 원래 표현 (논리 알고리즘에 대한 사내 문서 만 참조)과 접촉하지 않으며, 작성된 표현은 원래 표현과 다를 수 있으므로 아마도 그렇게 할 수는 없습니다. 저작권을 침해합니다. 그러나 논리적 알고리즘이 원본과 동일하기 때문에 특허를 쉽게 위반할 수 있습니다.
apillers

72

하버드 로스쿨 저작권 기본 사항 의 베시 로젠 블랏에 따르면 :

저작권 침해는 무엇입니까?

특정 방어에 따라 저자가 아닌 다른 사람이 저자의 허가없이 다음을 수행하는 것은 저작권 침해입니다.

  1. 작품을 복사 또는 복제
  2. 원본 저작물에서 파생 된 새 저작물을 만듭니다 (예 : 저작물을 새 언어로 번역, 이미지 복사 및 왜곡 또는 저작물을 새로운 표현 매체로 전송)
  3. 저작물 또는 저작물을 처음으로 판매 또는 양도하는 행위 (하지만 저자가 그렇게 한 후에는 해당 상품을 판매 또는 양도 할 권리는 새로운 소유자에게 양도됩니다. 판매 "교리 : 일단 저작권 소유자가 저작물 또는 그 사본을 판매 또는 양도 한 경우, 수령인 또는 구매자는 자신이 원하는 것에 만족하는대로 할 수 있습니다.) 17 USC §109 (a).
  4. 저작권 소유자의 허가없이 공개적으로 작품을 전시하거나 전시하는 행위 (이 권리는 시각 예술에는 적용되지 않습니다). 17 USC §106. 17 USC 106A에 정의 된 저자의 "도덕적 권리"를 위반하는 것도 저작권 침해입니다. 이 위치에서 도덕적 권리가 논의됩니다.

위의 2 번 항목을 위반 한 것 같습니다.

그러나 여기서는 용어가 큰 문제라고 생각합니다. "만약 내가 그 코드 (자바 스크립트)를 가져 와서 다른 언어로 다시 작성 해서 아이폰에서 사용한다면 법적인 문제일까요?" (강조 광산). 무언가를 다시 쓰면 복사와 다를 수도 있고 다를 수도 있습니다. 예를 들어, 모나리자를보고 자신의 스튜디오로 가서 기억 한 것을 그렸다면 원본을 어떻게 인식했는지에 대한 표현 인 독창적 인 작품을 만드는 것 같습니다. 그러나 스튜디오에 모나리자 사본이 있고 기억하는 것이 아니라 사본을 그린 경우에는 분명히 복사하는 것 같습니다.

같은 방법으로, MS Word를 사용하고 코드의 일부를 보더라도 기능적인 유사성을 가진 자체 워드 프로세서를 작성하여 작성하면 "look"이라고 결정된 경우가 있다고 생각합니다. & feel "은 저작권이 없습니다. (이것은 물론 특허에 대해서는 아무 말도하지 않습니다.)

변호사가 아닌지 물어보십시오.

내 개인적인 의견은 "포트"는 파생 된 작업 이므로 동일한 라이센스로 이식 된 코드를 해제해야한다는 것입니다.


1
그것을 증명하는 문제도 있습니다. Word의 소스 코드를 살펴본 후 자체 워드 프로세서를 작성하면 아무 것도 복사하지 않았다는 것을 증명하기가 어려워집니다.
gbjbaanb

6
@gbjbaanb : 그것은 당신이 증명까지 마이크로 소프트에의 대부분의 국가에서, 다른 방법은 주위에. 마이크로 소프트가 당신을 고소한다면, 당신은 프로 보노에 당신을 데려 갈 큰 회사를 얻지 못한다면 당신은 망쳐지기 때문입니다. :-) 그리고 당신은 말씀의 소스 코드에 액세스 한 경우, 확률은 당신이 이미 어쨌든 그것과 경쟁하기 위해 아무것도 쓰지 않을 것이다 ... 말하는 것을 서명 꽤 좋은
TJ 크라우

3
'여기'를 쓰지 말고 저자의 이름을 'Betsy Rosenblatt, Harvard Law School'이라고하는 것이 좋습니다.
Nicolai Reuschling 2016 년

3
@Nicolai Reuschling : lol :)
Scott Whitlock

4
@TRiG : "왜 재미 있다고 생각하는지 모르겠습니다." -아마도 당신은 아이러니에 대한 감각이 없기 때문일 것입니다. ;)
Scott Whitlock

55

나는 변호사가 아니며, 이것은 법률적인 조언이 아니며, 만약 당신이 어떤 종류의 모호한 약속에 내가 말한 것에 의존한다면 (1) 당신은 바보이며, (2) 나는 모든 책임을 부인합니다. 이것은 내가 아는 사람들에게서 수년 동안 듣고 읽은 것입니다.

판사는 "이론적으로"게임을하지 않습니다. 그들은 논리적 분석 측면에서 받아 들일 수 있지만 명백한 의도와는 달리 과거에 판사들이 어떻게 통치했는지에 반하는 법을 왜곡하는 방법을 만드는 사람들을 좋아하지 않습니다. 귀하의 해석을 변호 할 법정에서 해산 될 가능성이있는 경우 법에 대해 너무 똑똑하지 마십시오.

소설을 가져 와서 영화를 만들거나 다른 언어로 번역하는 것은 파생적인 작품을 만들어 내고 있으며, 그것들은 당신이 말하는 것보다 훨씬 더 큰 변형이며 훨씬 더 큰 창의성을 요구한다는 것이 일반적으로 인정됩니다. 그것들을 예로 들어보십시오. 판사는 확실히 의지합니다.

미국에서는 당신이 말하는 것보다 더 느슨하게 프로그램을 복사하는 것이 침해를 판결 한 경우가 있습니다. 미국에서는 이들을 선행으로 사용할 것으로 예상합니다.

다시 말해, 누군가 귀찮게 찾는다면 불법으로 판명되는 상업 기업을 시작하게 될 것입니다. 좋은 생각이 아닙니다.

또한, 당신이 저작권에 대한 아이디어 나 저자가 자신이 출판 한 것에 대한 통제권을 존중한다면 위선적입니다. 특정 조건에서 소스 코드를 사용할 수 있습니다. 귀하는 법과 저자의 명시적인 의도를 위반하고 있습니다.

이제 알고리즘은 저작권으로 보호 될 수 없습니다. 미국에서는 법원이 아이디어를 저작권으로 표현하는 것이 불가능하다고 판결했으며, 저작권을 표현할 수있는 유일한 방법 인 저작권이있는 모든 것은 저작권이 없습니다. 따라서 확실히 알고리즘을 사용할 수 있습니다.

저작권이없는 알고리즘을 복사 할 수있는 방법이 있습니다. 한 사람 또는 그룹이 소스 코드를 연구하고 알고리즘에 대한 설명 (가능한 한 구현 세부 사항이 거의 없음)과 다른 사람 또는 그룹은 원래 소스를 참조하지 않고 새 코드를 작성합니다. 더 가까이 갈수록 더 안전 해집니다.

또한 여기에 질문을 게시함으로써 법적 위반 가능성이있는 사람 (예 : 발견 등)이있는 경우 추적 할 수있는 형식으로 저작권을 침해 할 수있는 의도를 게시했다고 생각할 수도 있습니다. 민사 소송 또는 형사 사건으로 판명 된 경우 경찰의 수사).


18
+1 "여기에 질문을 게시함으로써 저작권을 침해 할 수있는 의도를 게시했습니다"라고 생각할 수도 있습니다.

6
+1 "clean room"접근 방식 – 나는 그것이 어떻게 작동하는지 항상 궁금했습니다.
DMan

나는 상황이 무엇인지 저자 포럼에 게시했으며 결과를 여기에 게시 할 것입니다.
Chris Barry

알고리즘은 어떻게 아이디어이고 프로그램은 아이디어가 아닌가? 또는 프로그램이 알고리즘 모음이 아닌 방법은 무엇입니까?
스쿠터

16

왜 포트를 오픈 소스로 만들고 나머지 프로젝트를 폐쇄 소스로 두지 않겠습니까?

내 또 다른 대답 을 인용하려면 :

오픈 소스는 커뮤니티이기 때문에 작동합니다. 상호이기 때문입니다. 오픈 소스 코드를 작성하여 돈을 얻지 못합니다. 오픈 소스 코드를 사용하여 돈을 벌 수 있습니다. 그렇다면 왜 오픈 소스 코드를 작성합니까? 무언가를 돌려주기 위해.

그러나 좀 더 실용적인 관점에서 :
포팅 한 코드가 실제로 매우 유용하여 이점을 유지하기 위해 코드를 보호해야한다고 생각한다면 ( Appcelerator 를 사용하는 사람들 이 바로 사용할 수 있기 때문에 가지고 있지 않은) 이점 이 있습니다. 조만간 오픈 소스 포트 여야합니다. 그것은 많은 사람들에 의해 유지 될 것이며, 더 많은 사람들에 의해 사용되어 테스트 될 것이며, 목표 언어에 의해 촉진 된 원칙들을 통합하고 플랫폼에서 널리 사용되는 프레임 워크와 더 나은 인터페이스를 갖도록 더 개선 될 것입니다. 조만간 코드는 코드와 비교할 때 쓰레기처럼 보일 것입니다.
오픈 소싱은 사실 깨어날 수있는 기회입니다. 상생입니다. 운이 좋으면 해당 코드의 관리자를 확보하고 응용 프로그램 논리에 집중할 수 있으므로 실제로 제품을 고유하게 만듭니다.


1
+1 최고의 코드 중 일부는 오픈 소스입니다. 그러나 상용 프로젝트에 GPL 코드를 추가하는 것이 전체 제품을 공개적으로 소싱한다는 의미에서 어떻게 장애물이 될 수 있는지 알 수 있습니다.
Alex Jasmin

2
내가 이해하는 한, Apple의 라이센스 조건에 따라 iOS 앱에서 GPL 코드는 금지되어 있습니다.
Andrey Tarantsov 2016 년

2
글쎄, Apple ToS의 한 절이 GPL의 한 절과 모순되는 것처럼 보이므로 금지되지는 않았지만 호환되지 않는 것 같습니다.
Vatine

1
Apple의 ToS가 GPL과 모순되는 경우, 저작권을 직접 보유하면 Apple ToS와 호환되는 라이센스 하에서 GPL 하에서 더 많은 라이센스로 라이센스를 공개 할 수 있습니다.
Pieter B

8

나는 변호사가 아니며, TV에서 변호사를조차하지도 않습니다.

그러나 나는 여기서 문제가 파생이라고 생각합니다. 새 작업이 GPL 또는 LGPL 작업에서 파생 된 경우 해당 작업은 GPL 또는 LGPL의 요구 사항을 준수해야합니다. 작업을 다른 언어로 한 줄씩 완전히 다시 작성하더라도 작업은 명확하게 파생됩니다.


예, 그러나 그 알고리즘을 다시 사용할 수 없다는 것을 의미합니까? 다른 학습 경로를 통해 알고리즘을 스스로 알아낼 수있는 지식이 없다는 것을 증명할 수 없다면 다른 프로젝트에서 구현 한 사실을 알면 알고리즘을 직접 사용할 수 없습니까?
Chris Barry

4
나는 또한 변호사가 아니기 때문에 그냥 추측하고 있습니다. 다른 언어로 알고리즘을 직접 구현 한 경우 "파생"이라는 단어를 사용하지 않습니다. 나는 GPL이 은밀한 특허 시스템으로 만들어 졌다고 생각하지 않습니다.
Captain Sensible

1
@Seventh- "Covert Patent System"이라는 상표를 사용하고 개념을 특허해야합니다.
Mayo

2
알고리즘은 저작권이 없습니다. 저작권법의 목적 상 알고리즘 반복은 실행 불가능합니다. 요점은 프로그램이 원본에서 텍스트로 파생 되었는지 여부입니다 . 변수 이름, 코드 레이아웃 등을 의미합니다. (특허법은 알고리즘에도 적용되거나 적용되지 않을 수 있습니다.)
Kilian Foth

1
라이센스는 알고리즘 자체가 아닌 구현에 적용됩니다. 구현을 다른 언어로 포팅하는 것은 Harry Potter를 스페인어로 포팅하는 것과 같은 방식으로 파생 작업입니다. 자신의 방식으로 알고리즘을 자유롭게 구현할 수 있습니다. 복사 / 붙여 넣기를 권장하지 않으며 구현하려는 알고리즘을 배우고 처음부터 자신의 버전을 작성하십시오. IANAL.
Dave Rager 2016 년

5

다른 사람들이 말했듯이 이것은 파생 작업 일 가능성이 높으며 "원본 라이센스와 분리"하기로 선택한 경우 GPL 용어를 직접 침해합니다 (GPL을 제거하고 다른 소스를 사용하고 폐쇄 된 소스를 사용한다는 것을 의미합니다) .

그것이 "법적"으로 미끄러 져도 분명히 부도덕하다 . GPL 소프트웨어의 저자는 파생 저작물에 대한 자유를 확대하는 라이센스를 선택했습니다. 그것이 좋든 나쁘 든, 그것은 저자의 의도 이며, 당신은 그것을 존중해야합니다 . 그들은 당신에게 조건을 바꾸지 말고 대가로만 읽고, 수정하고, 포크하는 등의 코드를주었습니다. 또한 소프트웨어 자체에 대한 비용도 지불하지 않았을 가능성이 있습니다.

나는 돈이 어렵다는 것을 알고 있지만, 당신이 당신의 생각을 그림으로 표현할 때, 그것은 도둑질입니다. 물론, 당신 그 알고리즘이나 다른 소스에서 구현 세부 사항을 배울 있었지만 직접 말했듯이 그렇지 않았습니다.

도덕이 당신에게 관심이 없다면, 당신이하고있는 일 (또는해야 할 일)의 회색 합법성을 감안할 때 원저자가 저작권 침해로 인해 Apple에 연락 할 가능성이 매우 높습니다. 지금까지 Apple은 GPL을 침해하는 그러한 소프트웨어를 신속하게 제거했습니다. 또 다른 가능성은 소송입니다.

내가 당신이라면, 나는 내 자신의 일을 GPL (나쁜 일이 아닙니다!)하거나 다른 방법으로 지식을 얻는 것을 고려할 것입니다.


GPL (wordpress app?) 앱이있는 것 같습니다. 알고리즘을 배우기 위해 오픈 소스 프로젝트를 사용하는 것은 좋지 않다고 말하는가?
Chris Barry

아뇨. 나는 같은 줄을 다른 프로그래밍 언어로 번역하려는 OP의 아이디어를 언급했다. 이제 파생은 어디에서 끝나고 원래 작업은 어디에서 시작됩니까? 이것은 쉬운 질문은 아니지만 수정없이 동일한 알고리즘을 다시 구현하는 것이 파생 작업이라는 것을 확신합니다.
Tamás Szelei

네, 쉬운 질문이 아닙니다. 불법적이지 않은 정도의 변화가 충분한 지 아는 것도 흥미로울 것입니다. 실행 가능한 이름, 공백을 변경 하시겠습니까? 특히 코드를 이해하고 좋은 대체 이름을 만들 수 있다면 변경하기가 쉬워 어리석은 느낌이 듭니다.
Chris Barry

BTW 코드는 잘 주석 처리되어 있으므로 실제로 수행하는 작업이 쉽습니다.
Chris Barry

그냥 상식을 사용하십시오. 프로그래머로서 공백과 변수 이름을 변경하는 것만으로도 충분하다고 생각하십니까? 궁극적으로 (현실적인 경우) 법원은 합법성을 결정할 것입니다.
Tamás Szelei

5

올바른 일을하고 다른 사람의 아이디어를 훔치려 고하지 않는 것은 어떻습니까? 코드 작성자에게 전자 메일을 보내어 프로젝트의 일부를 코드에서 제외시킬 수 있는지 묻습니다. 많은 사람들이 그것에 문제가 없을 것입니다. 그들이 문제가 있거나 법적인 문제를 제쳐두고도 왜 지역 사회 전문가로서의 명성을 손상시키고 싶습니까? 이 질문은 "어떻게해야합니까?"가 아니라 "어떻게해야합니까?"로 표현되었습니다. 약간 문제입니다.

결론 은 코드를 작성한 사람에게 물어보십시오 .


2
저자는 물었고 여기에 결과를 게시 할 것입니다.
Chris Barry

5

나는 변호사도 아닙니다. 이것이 법적 문제인지에 대해 우려가 있다면 아마도이 질문을하고 자신만을 작성해서는 안됩니다.

문제에 대한 나의 개인적인 의견 :

자바 스크립트 코드를 가져와 다른 언어로 다시 작성하는 경우이를 포팅이라고하며 파생 된 작업으로 간주됩니다. 자신의 소프트웨어 버전을 작성하고 특정 알고리즘의 작동 방식을 배우기 위해 참조로 자바 스크립트 코드를 사용하고 있다면 아마도 괜찮을 것입니다.

변호사에게 물어 보는 편에 실수를했습니다.

부록으로 , 저작권법에 따라 기본적으로 출판 된 소스 코드를 읽지 않고 NOTHING [*]을 수행 할 수 있습니다. 저작권 소유자가 라이센스를 공개 한 라이센스는 저작권법에 의해 제공되지 않는 특정 추가 권한을 허용합니다. 라이센스에서 허용 된 방식 이외의 방식으로 코드를 사용하고 사용하는 것은 저자의 허가를받지 않고 저작권법으로 보호되는 저작물을 사용하는 것과 다를 바 없습니다.

[*] 공정 사용을 제외하고.


1
그것이 GPL이라면 당신은 그것을 읽는 것 이상을 할 수 있습니다. 파생 상품이 GPL 인 한 파생 상품을 만들 수 있습니다.
Zhehao Mao 2016

그렇습니다.
Dave Rager 2016 년

4

아니요. 윤리적이지 않습니다. 거의 확실히 불법입니다. 그리고 내가 그 일을 한 사람의 직업 응용 프로그램을 검토 한 경우, 극단적 인 편견으로 처리 될 것입니다.


오픈 소스 프로젝트에서 무언가를 구현하는 방법을 배우는 것이 비 윤리적이라고 말하는가?
Chris Barry

4
@Chris : 라이센스로 입증 된 저자의 의도와 달리 오픈 소스 프로젝트에서 파생 된 저작물을 만들어 판매용으로 릴리스하는 것은 비 윤리적입니다. 라이센스를 준수 할 수없고 대신 치마를 입는다면 ...
폴 나단

1
라이센스를 피하려고하지는 않지만 (질문을 한 이유), 이와 같은 문제가 어떤 상황인지 궁금했습니다. 파생 된 작업을 중단시키는 두 작업 간의 시간 제한 또는 차이가 있습니까? 그렇지 않으면 오픈 소스 코드를 연구하여 배운 지식을 사용할 수없는 것 같습니다.
Chris Barry

오픈 소스 코드를 기반으로 애플리케이션을 판매하는 것을 막을 수는 없습니다. 실제로, 오픈 소스의 정의 (Open Source Initiative에서 제공)는이를 명시 적으로 허용합니다. 그러나 OP의 딜레마 인 라이센스를 준수해야합니다. App Store와 GPL의 용어가 충돌합니다. 여기서 문제가 발생합니다.
Martin Vilcans

2

항상 코드를 유지 관리하는 사람이 당신이 사는 곳을 아는 폭력적인 정신병자처럼 항상 코딩하십시오. ~ 마틴 골딩

나는 변호사가 아니므로 한 사람처럼 대답하지 않을 것입니다. 게다가, 많은 다른 비 변호사 사람들은 이미 당신의 아이디어의 법적 파급 효과에 대한 그들의 생각을 제시했습니다. 그리고 나는 도덕 / 윤리 토론을 건너 뛸 것입니다.

내가 당신이라면 개발자로서의 파급 효과에 더 관심이 있습니다. 존중하는 일입니다. 특히 자기 존중.

물론, 우리 모두 "{specification}에서 {implementation}은 어떻게됩니까?" 때때로. 그게 스택의 유래입니다, 아미 라이트? 그리고 그것은 우리 모두가 여기에있는 길입니다. 그것은 당신이 말하는 것이 아니기 때문에 내가 말하는 것이 아닙니다.

천재 + 영웅적 노력 = 결과를 개발자 커뮤니티에 공개 소스 제공으로 제시 할 가치가 있고 사람들이 그것을 사용하기에 충분히 좋아한다면, 나는 아첨하지 않을 것입니다. 나는 큰 시간이 될 것입니다. John Reisig 또는 Mark Story처럼. 리틀 올 나 그런 다음 일부 멍청이가 와서 내 공헌을 라인 아이템으로 사용하여 상업적으로 제공하거나 상업적 응용 프로그램에 기본으로 제공 할 수 있습니까? 죽어라

코드는 필기와 같습니다. 당신은 다른 합법적 인 디바이스가 나란히 두 측면은 diff와 "잠깐만 ..."말할 수 상당히 충분한 성냥갑보다 큰 응용 프로그램 변경할 수 없습니다 개발자로서, 나는 나의 동료 가능성에 의해 너무 당황 것을 , 내 동료, 내가 존경하고 존경하는 사람들은 내가 누군가의 코드를 훔쳤다는 것을 알게 될 것입니다. 나는 웃음 거리가 될 것입니다. 서사시 복사 파스타 스크립트 아동용 BSS입니다. 당신은 정말 동료의 눈에 자신을 delegitimatize 하시겠습니까? 재킹 코드는 시작하기에 좋은 방법입니다.

그리고 개발자로서 이것을 고려하십시오 : 그것이 내 앱이라면, 고소 당할 염려가 있다는 것을 알게되었습니다. 당신을 고소하여 지옥을 결정하면 어떻게해야합니까? 어쨌든 내 코드 덕분에 아파서 왜 당신을 때려 치면 안됩니까? 내가 청소년이 아니거나 성미와 무서운 기술을 가지고 있다는 것을 어떻게 알 수 있습니까? 말하기 위해, r00 [를 ur b0xen에 뿌릴 방법으로 나가십시오. 내 응용 프로그램을 잭하면 나에게 당신이 있음을 알 수 있습니다 (기준 : 나는 당신이 잭 만 할 수있는 것을 쓸 수 있음). 처음이 아닙니다.


2
나는이 답변을 정말로 좋아한다. 문제는 코드를 학습 지점으로 사용하고 다시 구현할 수 있다면 문제라고 생각합니다. 나는 그것이 200 ~ LOC 스크립트에 관한 것이라고 생각하므로 그렇게 까다로운 것은 아닙니다. 나는 단지 내 학습을위한 실제 사례에서 시작하고 싶었고 거기서 시작하는 것이 합리적이었습니다. 내가 의사 코드로 모든 것을 썼고 GPL이 내 포트를 합리적으로 배치한다면? 글의 제목이 예상보다 더 많은 논쟁을 불러 일으켰다 고 생각합니다.
Chris Barry

재 : 논쟁을 일으키고 질문의 본질을 고려하십시오. 전문 개발자는 그녀가 원하든 원하지 않든간에 그녀의 마음과 영혼을 그녀의 공예에 부어 넣습니다. 내 시간의 시간, 소프트웨어의 본질이 야수이기 때문에 피가 땀과 눈물 양동이. 그리고 우리의 기술은 너무 어렵 기 때문에 오픈 소스 (js libs, php frameworks 등)에 대한 훌륭한 기여는이 시점에서 우리는 전문적으로 머리 위로 물을 유지하기 위해 오픈 소스에 의존하지 않습니다. ? 그래서 이런 질문은 우리가 그것을 깨닫 든 모르 든 우리 모두에게 매우 개인적인 것입니다.
OpenSorceress 2016 년

즉, John Reisig 및 Mark Story와 같은 오픈 소스 마법사와 그들의 위즈 키즈 갱에서 내가 아는 대부분의 것을 배웠습니다. JQuery는 내 작은 친구입니다. CakePHP는 빵과 버터입니다. 이것에 전혀 문제가 없습니다. 따라서 잭과 포팅의 차이가 있습니다. 이것이 우리가 말할 때 말하는 것입니다. 우리는 거인의 어깨에 서 있습니다.
OpenSorceress 2016 년

0

파생 작업의 파생 작업의 파생 작업을 수행 할 수 없으며 파생 작업이 아닐 것으로 예상합니다. 인식 할 수 없게 될 수도 있지만 그것은 다른 것입니다. 그리고 당신은 어떤 텍스트에서든 시작할 수 있고, 일련의 변경으로 텍스트를 얻습니다 (예를 들어, 첫 번째 텍스트를 제거하고 두 번째 텍스트를 삽입하십시오). 따라서 뭔가가 가능한지 여부는 중요하지 않지만 실제로는 발생했는지 여부는 분명하지 않습니다.

Moraly 말하기 : (법적) 얻을 수있는 모든 것으로부터 배우는 것은 괜찮지 만, 출처를 인정해야합니다. 휴식은 합법성입니다.

IANAL, 그러나 나는 다음과 같은 경우 내가 잘못했다고 생각하지 않을 것입니다. 정말 비슷하다. 이러한 유사한 부분이 양측이 동일한 코딩 방식을 따랐으므로 다를 수없는 부분이라면 저작권을 소유 할 수 없습니다. 예 : 클래스에 두 개의 개인 문자열 필드가 있고 getter 및 setter가있는 경우 흥미로운 점은이 클래스에 getter 및 setter의 구현이 아닌 두 개의 읽기 / 쓰기 속성이 있다는 것입니다.


0

각 줄을 개별적으로 다시 쓰면 해당 줄을 "복사"하거나하지 않을 수 있습니다.

그러나 순서, 전체 구조 및 라인 포함을 그대로 복사하고 있습니다. 다시 말해, 작품을 "전체"로 만드는 일종의 물건.

"이 줄은 여기에 가고,이 줄은 거기에 있어야합니다"라는 부분을 복사하고 있습니다. 이것은 전체 알고리즘의 많은 부분입니다.

또한, 프로젝트가 시작될 때, 무엇을 포함해야하는지, 어떤 것이 중요하거나 중요하게 고려되어야하는지, 알고리즘을 구성하고 구성하는 방법을 모릅니다. 이 정보는 어느 시점에서 생산되고 설계되어야합니다. 그러나 "복사"하기 때문에 필요하지 않습니다.


예로서:

내가 {a, b, c, d, e, f} 세트를 가지고 있다면.

[f, e, c, b, d, a] 순서대로 목록을 만들 수 있습니다. 정렬되지 않은 세트에는 없었던 ordering 이라고 알려진 정보를 목록에 추가했다고 말해야합니다 . 목록의 크기에 따라이 정보는 매우 구체적이며 이해하기 어려울 수 있습니다.


-1

그것은 당신이 배운 것, 읽은 것, 읽은 것을 배울 수는 없지만 제어 할 수있는 것은 그것을 사용하는 방법입니다.

이 문제에 관한 두 가지-

  1. 오픈 소스 코드에 대한 대부분의 라이센스 규정과 마찬가지로 ... 소름 끼치는 것은 정말 멋지지만 "의사"로 닫히는 것은 멋지지만 문제는 '신용'입니다. 나는 '신용'(블로그 URL, 사용 된 OS 코드 등)이있는 많은 스크립트를 구입 했지만 문제는 누군가의 창작물에 creds / kudos를 공개적으로 숨기지 않는 것입니다. 사람들은 당신이 그렇게하면 신경 쓰지 않습니다 ... 많은 사람들 은 사람들이 다른 곳에서 그것을 얻을 수 있다는 것을 알고 있다는 두려움에 대해 신용을주지 않습니다 (따라서 GPL 유형 규정을 위반 함) ...하지만 코드가 공개되어 있다면 크레딧을 제공하고 여전히 독립적 일 수 있습니다 (코드 기여가 닫히거나 열려 있는지 여부와 상관없이) – 사람들은 신경 쓰지 않을 것입니다.

개발자로서 내가 찾은 것은 사람들이 다른 사람의 노력으로 돈을 버는 것 아래서 훌륭한 개발자 / 코더를 모방하기 위해 신용을주고 싶지 않다는 것입니다 ....

그래서 # 2로 넘어갑니다.

  1. "의도"는 거의 (가상적으로) 항상 그렇습니다 ... 당신은 판사 앞에 서서 (소송, 법정에 제기되거나, 그러한 조치를 설명하도록 요청받은 경우), 엉킴없이 명확하게 진술 할 수 있습니까? 문제에 대한 입장-코드의 '오픈 소스'부분을 숨기거나 닫기로 결정한 이유는 문제가되지 않습니다.

내 2 펜스. :)

재미있는 점은 대부분의 사람들이 "구체적인 아이디어"를 발명했다고 생각하는 것입니다. 실제로 "아이디어"는 아마도 냅킨, 종이, 코딩, 인터넷, 블로그, 기타...

따라서 다른 사람의 OS 작업에서 보았으므로 다른 사람의 OS 작업에서 보았 기 때문에 아마도 OS 작업에서 파생 된 다른 OS 작업에서 사용되며 궁극적으로 온라인에서 다른 곳에서 사용됩니다. 그것은 명시된 라이센스 / 저작권 문제가 아니더라도 ...이 경우 해당 소스에서 복사 할 수 있습니다 ... 수정, 변경, 삭제, 추가 ... (여기서 복사 / URL을 추적하여 위치를 추적 그러나 원하는대로 코드에 합법적으로 넣었다는 것을 보여주었습니다.

나는 '코드 랜드'에서 특히 놀랍다 고 생각합니다. 특히 2003 년에 누군가의 괴짜 구글 검색으로 내 '크리스티'코드가 이미 쓰여졌다는 것을 알게되었습니다. 1,239 위, 그들이 대학원에있을 때 만든 웹 사이트는 재미 있고 무료로 사용할 수있는 기능을 만들었습니다. :)

포인트는 .. 신용을주고, 문제를 치마하지 않으며, 다른 모든 실패 할 때 ... 또는 의문 사항이 있으면된다 -은 ASK yeesh ... 사용 권한에 대한 원래 OS'r를! 우리는 언제 오만한 일을해서 누군가에게 잡초, 가위, 깎는 기계 등을 사용하라고 요구할 수 없었습니까?

알았어 3 펜스 였어


1
문제는 그가 원래 라이센스 조건을 회피하려고한다는 것입니다.
폴 나단

-4

남자에게 휴식을 줘!

  1. 법적 불만이 제기 된 경우 누군가가 실제로 코드에 액세스하여 읽을 수 있어야합니다. 소프트웨어가 컴파일되면 어떻게됩니까?

  2. 그는 항상 사실의 순간에 자신의 무지를 부를 수 있습니다. 유죄 판결을 받기 전에 선의를 가지고 있지 않습니까?

  3. 학습은 복사되지 않습니다. 일부 기존 작품에서 영감을 얻는 것은 분명히 복사되지 않습니다. 만약 그가 소프트웨어의 한 부분에서 모든 코드 라인의 기능을 배우고 결과의 원리를 사용하여 그것을 개선하고 더 좋고 더 단순하며 더 나은 소프트웨어를 만들기로 결정했다면 어떨까요? IMHO를 복사하지 않습니다.

그것들은 나의 2 센트였습니다. 이제 돌을 던지는 첫 번째 죄없는 자의 차례입니다 ...;)


3
# 1의 경우 : 판사가 소스 코드를 소환 할 때까지 배심원이 "다시 작성"하는 것을 본격적으로 비웃습니다.
Jarrod Nettles

2
# 2의 경우 : 저작권 침해는 일반적으로 민사이므로 법적으로 "유죄"는 없습니다. 증거의 우세가 OP가 침해했다는 것을 나타내면 필요한 전부입니다. # 3의 경우 : 그것은 원래의 질문이 말한 것이 아닙니다.
David Thornley

1
(1) 소스 코드를 보지 않고 뻔뻔스러운 표절을 발견하는 것은 어렵지 않습니다. 게다가, 우리는 불법적이고 매우 비 윤리적 인 행동을 피하는 방법에 대해 사람들에게 조언하는 습관이 없습니다. (2) 무지 법정 비 변명 ( 무지가 방어가 아님 ) (3) 한 줄에 다시 쓰기는 배우지 않습니다. 라인 당 라인을 다시 작성하는 것만으로는 영감을 얻는 것이 아닙니다. 뻔뻔스럽고 단순하며 뻔뻔스러운 표절입니다. 나는 여기에서 그것을 모두 해치지 않을 것이지만, 법률 문서와 이것을 뒷받침하는 선례가 많이 있습니다.
Greg Jackson

자, 한 줄씩 다시 쓰지 않았지만 알고리즘을 이해 한 다음 내 방식으로 다시 구현하면 좋습니다. 즉 한 사람의 클린 룸 운영입니다. 다른가요? 그렇지 않다면 오픈 소스 프로젝트에서 배울 수 없습니까?
Chris Barry

4
@Chris 클린 룸 운영의 요점은 알고리즘을 구현하는 사람들이 원래 소스 코드를 전혀 보지 못했다는 것입니다. "한 사람의 클린 룸"과 같은 것은 없습니다.
Adam Lear
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.