직장에서 문제에 대한 더 나은 해결책을 찾았습니다. 온라인으로 코드 스 니펫을 게시하지 않아야합니까?


18

우리 대부분의 프로그래머는 Stack Overflow를 사용하여 매일 문제를 해결한다고 생각합니다.

이제 상황을 상상해보십시오. 해결해야 할 문제가 있습니다. 조금 Googled, StackOverflow 질문을 찾았지만 지금까지 답변에 만족하지 않습니다. 따라서 자체 연구를 수행해야합니다. 회사의 앱에서 원하는 연구를 수행해야합니다.

결국 몇 시간 후에 더 나은 솔루션을 찾았습니다. 기쁘고 회사 코드 기반에 추가 한 다음 다른 사람들을 돕기 위해 이전에 찾은 질문에 코드 스 니펫 (몇 줄)으로 답변을 제출하려고합니다.

그러나 회사의 소프트웨어는 폐쇄 형 소스이므로 24 시간 내내 작업했습니다.

이것이 직장에서나 그 집에서 그 질문에 대한 대답을 직장에서 풀지 말아야한다는 것을 의미합니까? 직장에서 문제를 해결하고 회사가 해당 코드를 소유하고 있기 때문입니까?


회사 정책에 달려 있다고 생각합니다. 안전한쪽에 허락을 구할 것입니다.
MrSmith42

1
이 작은 경우에 사소한 작은 예외를 만들 수 있는지 회사 변호사에게 물어보고 그가 예라고 대답하면 그는 전직 회사 변호사 가 될 것 입니다. 그는 단지 자신의 직업과 회사에 가장 관심이있는 것이 무엇인지 말해 줄 것입니다.
Neil

1
@ MrSmith42 물론입니다. 그러나 진실을 말하기 위해 나는 이미 여러 차례 유죄를 선고 받았으며, 지금까지 가능한 결과에 대해 생각하지 않고 그것을 해냈습니다. 그리고 아마, 나는 혼자가 아닙니다. 그렇기 때문에 제가 여기에 요청한 이유는 무엇입니까? 나는 믿을 수 없어.
Calmarius

5
문제 중 하나는 솔루션 / 알고리즘이 회사에 경쟁력을 제공하는 경우 공유하면 회사에 영향을 줄 수 있다는 것입니다.
cYn

3
누군가에게 도움이 될 것이라고 생각하고 회사 IP를 제공하지 않는 경우 일반적인 버전을 게시하십시오. 개인적으로 솔루션이 여기에서 찾은 다른 솔루션에서 부분적으로 파생 된 경우 회사는 여기에 내용이 cc이므로 기술 에 대해 주장하지 않습니다 .
GrandmasterB

답변:


15

독점 회사 정보를 노출하는 것은 절대로하지 말아야 할 일입니다. 그러나 스택 오버플로의 대부분의 코드 스 니펫은 그보다 훨씬 평범합니다. 이 예제를 고려하십시오 .

public static unsafe void SwapX4(Byte[] Source)  
{  
    fixed (Byte* pSource = &Source[0])  
    {  
        Byte* bp = pSource;  
        Byte* bp_stop = bp + Source.Length;  

        while (bp < bp_stop)  
        {
            *(UInt32*)bp = (UInt32)(
                (*bp       << 24) |
                (*(bp + 1) << 16) |
                (*(bp + 2) <<  8) |
                (*(bp + 3)      ));
            bp += 4;  
        }  
    }  
}

이 방법은 바이트를 교체하여 32 비트 숫자의 엔디안을 반전시킵니다. 이 구현과 순진한 것의 차이점은 두 배 빠르지 만 작은 엔디 언 머신에서만 실행할 수 있다는 것입니다. 독점적 인 프로그램에서 사용되고 있지만 일반적인 기술을 설명하며 기밀을 노출시키지 않습니다.


이것은 회사가 알고리즘을 소유하지 않는다는 아이디어를 따르는 경향이 있습니까?
Daniel Gratzer

8
특허 시스템의 비잔틴 특성을 감안할 때 확실하게 말할 수는 없습니다.
Robert Harvey

@Jozefg : 다른 발명과 마찬가지로, 회사 내에서 복잡하고 충분히 명확하지 않고 개발 된 알고리즘은 소프트웨어 세계에서 회사가 "쉽게"소유 할 수있는 몇 안되는 것 중 하나입니다. 여기에 제시된 예는 해당 범주에 속하지 않을 정도로 간단합니다. 그리고 실제 독창적 인 사고와 수년간의 연구에 투자하고 회사가 완전한 소유권을 가져야하는 경우가 있지만, 대부분의 경우 미국 특허 시스템은 명백히 남용됩니다.
DXM

7

회사 코드 *를 사용하여 회사 시간에 회사에서 자주 접하는 문제와 솔루션을 게시합니다. 관리자에 대해 직접 이야기했으며, 여기에서 보낸 시간에서 회사가 얻는 가치가 여기에서 보낸 시간에 대한 우려보다 훨씬 크다고 생각합니다.

* 독점적이라고 생각되는 것을 난독 처리하는 것은주의해야합니다. 사내 코드는 매우 독점적이지만 독점 하드웨어 (판매하지 않는)가없는 사람에게는 거의 쓸모가 없습니다.

나는 나와 비슷한 문제를 겪을 때 다른 사람뿐만 아니라 나 자신을 돕는 것으로 내 질문과 답변을 봅니다.


1

이 리소스가없는 경우 회사에 추가 시간이 걸리거나 시간이 손실되는 비용은 얼마입니까?

타협하거나 독점적 인 정보가 제공되지 않는 한 귀하가 찾은 게시 솔루션이 귀하가받은 답변에 대한 보상이라고 생각합니다.


1

답은 고용주 (계약)와 서명 한 법적 계약서와 해당 계약을 판단 할 관할권에 있습니다. 법적 계약은 귀하가 근무하고있는 국가 일 수도 있고 아닐 수도있는 관할권을 나열하는 것이 일반적입니다 (아마도 근무하고있는 국가 일 수도 있지만 반드시 그런 것은 아닙니다).

훌륭한 책은 Van Lindberg의 지적 재산과 오픈 소스 입니다. p.에서 185 :

"독점 정보"를 정의 할 때 [회사]에 대한 법적 영향은 없습니다. 저자 나 발명가가 회사 재산이나 시간을 사용하여 새로운 작품을 만들지 않을 때 여러 주에서 PIA 적용을 제한합니다.

계약서를 읽으십시오. 행동하기 전에 의도를 고용주에게 알리십시오. 그런 다음 자신의 행동을 고용주에게 공개하십시오. 이러한 사항을 서면으로 공개하고 해당되는 경우 서면으로 답변 / 허가를 받으십시오. 적어도 그것은 그 책이 말하는 것입니다.

나는 변호사가 아니며, 이것에 관심이 있습니다. 이것은 법적인 조언이 아니라 친절한 제안입니다. 나 자신을 위해, 나는 일과 관련된 것을 공공연히 공개하지 않는다. 상사와의 긴 토론, 완전한 공개, 명확한 라이센스 라벨링 및 발표중인 내용에 대한 서면 계약을 통해 공개 된 내용이 많지만 드문 일입니다.


0

온라인으로 코드 스 니펫을 게시했지만 회사, 고객 데이터에 대한 참조를 제거하고 종종 필드 / 변수의 이름을 바꾸도록 항상 코드를 편집합니다. 기본적으로 코드를 다시 작성하여 고용주에게 다시 추적 할 수 없습니다. 약간의 추가 노력이 필요하지만 그만한 가치가 있다고 생각합니다.

법적인 측면을 제외하고는 귀하가 고용주 재산을 신뢰했다고 생각해야합니다. 온라인에 자유롭게 비트를 게시하면 재량이 부족하고 신뢰할 수없는 것처럼 보입니다. 미래의 고용주가 검색 엔진에서 스 니펫을 찾을 수있는 권한이 있더라도이를 알지 못할 수 있습니다.

이것이 내가주의를 기울이려는 경향이있는 이유입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.