오픈 소스 코드로 "오염"할 수없는 경우 코드 학습 및 작성 전략? [닫은

StackOverflow https://stackoverflow.com/questions/421975

  •  05-07-2019
  •  | 
  •  

문제

나는 규칙이 기본적으로 (내가 이해하는대로) 회사에서 일하고있다. 오픈 소스 코드). 나는 이것이 나의 코딩을 어렵게 만드는 것을 발견하고있다.

예를 들어, 책에서 샘플을 코딩하는 것은 "as-is"에 거의 사용됩니다. Microsoft SDK 코드 샘플은 "AS-IS"를 사용합니다. 코딩에 대한 블로그 게시물은 "as-is"를 사용합니다. 자신의 위험에 사용되는 코드 샘플 (SO 포함)이있는 여러 사이트가 있습니다. 지적 재산 소송, Blah, Blah 등에 대한 묵시적 또는 면책이 없습니다.

기본적으로, 나는 ASP.NET과 .NET 프레임 워크를 사용하는 것으로 국한되어 있으며 다른 것이없고 실수로 내가 만들지 않은 무언가를 집어 들지 않도록 눈을 돌려야합니다 (OK ... 그것은 규칙에 대한 항문 해석 일 수 있습니다. -).

코드를 배우는 데 큰 부분이 다른 코드를 읽고 있다고 생각하기 때문에 이것이 어렵다는 것을 알게됩니다. 코드가있는 블로그를 읽고, 코드가있는 책을 읽고, 코딩 샘플을보고, SDK 샘플의 코드를 사용하여 코드를 사용하여 사람들이 코드를 사용하는 것이 안전하다고 생각할 것입니다. 다른 사람들이 사용할 수 있습니다. 나는 모든 것을 직접 코딩 할 수 있다고 생각하지 않습니다. 나는 특정 높이에 도달하기 위해 다른 사람들의 코딩 어깨에 서 있어야합니다.

라이센스를 잘 이해하지 못할 수도 있습니다. 동반자의 관점에서 (나는 생각합니다) 그들은 IP 침해에 대한 고소의 위험을 초래하고 싶지 않습니다.

내 생각은 당신이 위험을 평가해야한다는 것입니다. 책에서 코딩 스 니펫을 가져 가면 위험이 낮습니다. 오픈 소스 라이브러리에서 코드를 통합하는 것은 위험이 높을 수 있습니다. 나는 당신이 얼마나 많은 위험을 감수 할 것인지에 따라 결정을 내린다고 말합니다.

이와 같은 상황이나 이와 유사한 상황에서 일한 경험이 있습니까? 이것은 드문 일입니까, 아니면 일부 부문에서 일반적입니까? 저와 같은 위치에있는 다른 사람들이 있습니까?

모든 통찰력이나지도에 감사드립니다! 감사!

편집하다:응답에 감사드립니다! 몇 가지를 정리하기 위해 : 나는 코드를 훔치는 것을 옹호하지 않습니다. 저는 정의 된 법적 방식으로 사용할 수있는 일종의 공개 라이센스가있는 코드에 대해 이야기하고 있습니다. 열쇠는 없다는 것입니다 보증 코드 사용의 공개 라이센스로. 그것은 당신이 당신 자신으로 그것을 사용한다는 것을 의미합니다 합법적인 위험 (및 기타 위험). 누군가가 코드를 사용한 오픈 소스 프로젝트를 고소하면 공개 라이센스가 있어도 코드를 사용하고 있기 때문에 소송에 도달 할 수 있습니다.

2005 년 Microsoft는 Microsoft가 IP 소송으로부터 보호 할 파트너에게 약속함으로써 오픈 소스 벤더와 경쟁하기 위해 면책을 사용하고있었습니다. http://www.microsoft.com/presspass/press/2005/jun05/06-22partnerindemnificationpr.mspx

따라서 IP 침해에 대한 고소 위험이 매우 낮더라도 0이 아닌 확률입니다. 따라서 나는 그것을 사용할 수 없습니다. 어떤 종류의 공개 라이센스가 있더라도. :-(

도움이 되었습니까?

해결책

"면책"에 의해, 나는 그들이 코드가 저작권이나 특허가 없거나, 아마도 그들이 모르는 것에 대해 알지 못하거나, 누군가가 그와 같은 무언가가 나타나면 그들을 보상 할 의향이 없다는 확신을 의미한다고 가정합니다. 나는 이것에 대해 걱정하는 회사에 가본 적이 없으며 전에는 한 번도 들어 본 적이 없습니다.

동정심 외에 당신이 실제로 원하는 것이 무엇인지 명확하지 않습니다 (그리고 나는 기업의 어리 석음에 갇힌 사람들에게 동정심이 있습니다). 책의 샘플 코드가 걱정된다면 정책이 매우 엄격한 것 같습니다. 이것은 나쁜 정책이며 당신을 방해 할 것입니다. 그러나 나는 당신이 그것에 대해 무엇을 할 수 있는지 모르겠습니다. 조엘의 블로그 게시물과는 달리, 일을 그만두게하는 일을하는 것과는 달리, 기업 정책을 명확하게 위반하지 않고 지능적으로 일을 시작할 수는 없습니다.

당신의 상황을 모르면 내 제안은 다른 직업을 찾는 것입니다. 이것은 당신의 전문적인 성장을 확실히 억압 할 것이며, 그 정책을 가진 회사는 그것에 대해 합리적이지 않을 것입니다.

(당신이 그들에게 위험이 없다고 확신 할 수 있다면 좋을 것입니다. 그러나 그것은 사실이 아닙니다. 사람들은 오픈 소스 프로젝트가 그렇지 않은 경향이 있지만, 많은 코드 덩어리가 침해되지 않았다고 분명히 주장 할 것입니다. 미국의 모든 특허에 대해서는 소프트웨어 특허가 처음 수여되기 1 년 전에 작성된 경우에도 법원 싸움을 피하기보다는 법원 싸움에 좋은 근거가 될 것입니다. GPLED 소프트웨어는 실제로 BSD 소프트웨어보다 낫습니다. 다운 스트림의 일부 특허 라이센스가 필요하지만 타사 특허를 다룰 수는 없습니다. 물론, 고소 당할까 걱정이되면 사내 소프트웨어를 작성하는 것이 솔루션이 아닙니다. 특허를 침해 할 수 있습니다.)

다른 팁

"IP 침해에 대한 고소의 위험"은 실제로 그것에 대해 생각하는 올바른 방법이 아닙니다. 이것은 "위험"이 아닙니다.

어느 하나

  • 라이센스가 있으며 소스를 사용할 수 있습니다. 위험이 없습니다. 라이센스가 있습니다. 소송이있을 수 없습니다.

또는

  • 라이센스가없고 위반 중입니다. 효과적으로, 당신 ~ 할 것이다 고소 당하십시오. 여기에도 위험이 없습니다. 당신은 누군가의 저작권을 위반하고 있습니다 (또는 더 나쁜).

회사는 다양한 이상한 이유로 오픈 소스에 반대합니다. 소송의 위험은 그 중 하나가 아닙니다.

내가 들었던 것들.

  • 바이러스가 있으면 어떻게해야합니까?

  • 광고대로 작동하지 않으면 어떻게됩니까?

  • 뭔가 "충돌"한다면 어떨까요? 우리는 누구를 고소합니까?

이들 중 어느 것도 "위험"항목이 아닙니다. 그들은 "실사"항목입니다. 그리고 대부분은 다루기가 쉽습니다. 다른 사람이 코드를 수의사로 여기는 충분한 사용자가있는 제품을 선택하십시오. QA 오픈 소스 마치 자신의 사람들 중 하나가 입력 한 것처럼.

이것은 우리를 진짜 이유로 이끌어줍니다. [힌트 : "소송의 위험"이 아닙니다.

오픈 소스에서 실사를하지 않았을 때 고소 할 사람은 없습니다.

대부분의 상점에는 실질적인 확고한 구성 관리 또는 QA 정책이 없습니다 (모범 사례로 법정에서 일어날 수있는 종류). 그들이 이런 것들을 갖추기 전까지, 그들은 확실한 QA와 구성 관리가 필요한 오픈 소스를 소개하는 것에 대해 감히 생각하지 않습니다.

귀하의 회사가 실제로 걱정하는 것은 라이센스 문제가있을 수있는 대규모 코드 부문을 직접 복사하여 회사가 사용하는 경우 회사에 법적 문제를 제시하는 것이라고 생각합니다. 그러나 블로그 또는 기타 비 라이센스 코드를 읽고 작업중인 특정 문제에 맞는 솔루션을 발견 할 수 있습니다. 이 경우 코드를 복사하고 수정하는 것과는 반대로 코드를 다시 작성하는 것이 좋습니다 (즉, 솔루션을보고 재현). 우리 회사에서는 비 독점 코드를 사용하는 데 일반적으로 권장하는 것입니다.

또한, 소량의 코드 (예 : 캐시의 표준 구현)의 경우 모든 사람이 동일한 방식으로이를 구현하는 경우 매번 회사는 외부 코드 사용을 두려워하지 않을 것입니다. .

변수의 이름을 바꿀 수 있으며 어떻게 알 수 있습니까? 그들은 모든 코드 줄을 확인합니까? 대학은 참조없이 코드를 복사하지 말라고 항상 말합니다. 인터넷에서 찾은 코드의 일부를 코딩하고 코드의 일부를 사용해 보지 않겠습니까?

일반적으로 Stack Overflow 또는 블로그와 같은 커뮤니티에서 오픈 소스 프로젝트보다 더 많은 것을 사용합니다.

마지막으로 코드는 보증이 없기 때문에 자신의 위험에 처해 있습니다.

그것이 도움이되기를 바랍니다 ... 그리고 행운을 빕니다.

라이센스를 잘 이해하지 못할 수도 있습니다. 동반자의 관점에서 (나는 생각합니다) 그들은 IP 침해에 대한 고소의 위험을 초래하고 싶지 않습니다.

내 생각은 당신이 위험을 평가해야한다는 것입니다. 책에서 코딩 스 니펫을 가져 가면 위험이 낮습니다. 오픈 소스 라이브러리에서 코드를 통합하는 것은 위험이 높을 수 있습니다. 나는 당신이 얼마나 많은 위험을 감수 할 것인지에 따라 결정을 내린다고 말합니다.

내가 올바르게 이해했는지 확실하지 않습니다. 당신이 잡히지 않을 때 라이센스 침해가 괜찮다고 말하면, 나는 당신과 동의하지 않아야합니다.

법을 위반하거나 해고되지 않고 코드를 읽음으로써 배울 수 있습니다. 라이센스가 허용되지 않으면 코드를 회사의 코드 기반에 복사하지 마십시오.

"클린 룸"개념을 모른다면 항상 그 접근법이 있습니다. 친구에게 오픈 소스 코드를보고 그들이 어떻게 작동한다고 생각하도록하십시오. 다이어그램을 내린 다음 직접 코딩하십시오.

IBM에서 일했다면?

모든 오픈 소스가 GPL은 아닙니다. 회사는 원하는만큼 BSD 라이센스 코드를 복사 할 수 있습니다. BSD 라이센스 코드는 OS X (아마도 오늘날 가장 큰 과소 평가 일 것임)와 Windows NT로 만들었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top