職場の問題に対するより良い解決策を見つけました-コードスニペットをオンラインで投稿することを思いとどまるべきですか?


18

私たちプログラマーのほとんどは、Stack Overflowを使用して毎日の問題を解決していると思います。何かを行うための効率的なアルゴリズムを探していました。

ここで状況を想像してください。あなたには解決すべき問題があります。少しグーグルでStackOverflowの質問を見つけましたが、今のところあなたは答えに本当に満足していません。そのため、独自の調査を行う必要があります。会社のアプリで必要なため、調査する必要があります。

最終的には数時間後に、より良い解決策を見つけました。それを会社のコードベースに追加し、他の人を助けるために、前に見つけた質問にコードスニペット(数行)で回答を送信したいと思います。

しかし、待ってください。会社のソフトウェアはクローズドソースであり、あなたはそれを時間通りに作りました。

だからこれは、私が仕事でそれを解決し、会社がそのコードを所有しているので、私は残りの人生でその質問に職場でも自宅でも答えを投稿すべきではないことを意味しますか?


私はあなたの会社の方針に依存すると思います。安全な側にいる許可を求めます。
MrSmith42

1
彼がこの小さな事件で小さな例外を作ることができるかどうか会社の弁護士に尋ねてください、そして、彼がそう言うならば、彼は元気な会社の弁護士になります。オッズは、彼が自分の仕事と会社にとって最大の利益となるもの、つまり「いいえ」を伝えるだけです。
ニール

1
@ MrSmith42確かに。しかし、実を言うと、私はすでに何度かこれについて有罪であり、今まで、潜在的な結果を考えずにそれをしました。そしておそらく、私はこれだけではありません。それが私がここでそれを尋ねた理由です...それとも、誰もがアイデアを表明したり、雇用中にオンラインでコードを提出したりしないことを気にしますか?私は信じることができない。
カルマリオス

5
懸念の1つは、ソリューション/アルゴリズムが企業に競争力を与えている場合、それを共有することが企業に影響を与える可能性があることです。
18時31分

3
誰かの助けになると思っていて、会社のIPを配っていない場合は、そのことの一般的なバージョンを投稿してください。個人的には、ソリューションがここで見つけた他の人から部分的に派生した場合、ここのコンテンツはcc であるため、会社はそもそもテクニックについて主張していません。
GrandmasterB

回答:


15

専有会社の情報を公開することは、絶対にすべきではありません。ただし、Stack Overflowのほとんどのコードスニペットは、それよりもはるかにありふれたものです。 この例を考えてみましょう

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ビットの数値のエンディアンを反転します。この実装と単純な実装の違いは、この実装は2倍高速ですが、リトルエンディアンマシンでしか実行できないことです。プロプライエタリなプログラムで使用されていますが、一般的なテクニックを説明しており、機密情報は一切公開していません。


これは、会社がアルゴリズムを所有していないという考えに沿っている傾向がありますか?
ダニエル・グラッツァー

8
特許制度のビザンチンの性質を考えると、私は確実にそれを言うことはできません。
ロバートハーベイ

@Jozefg:あらゆる発明と同様に、アルゴリズムは複雑であり、企業内で十分に明白ではなく開発されているため、ソフトウェアの世界では企業が「簡単に」所有できる数少ないものの1つです。ここに示されている例は、そのカテゴリに分類されないほど単純です。そして、本当の独創的な考えと長年の研究が投資され、企業が完全な所有権を持たなければならない場合もありますが、ほとんどの場合、特許制度は(少なくとも米国では)単に濫用されています。
DXM

7

会社コードで、会社の時間に職場で遭遇する問題や解決策を頻繁に投稿しています。私はこれについて上司に直接話しましたが、彼は、ここで過ごした時間から会社が得た価値は、ここで過ごした時間に関する懸念よりもはるかに大きいと感じています。

*私はプロプライエタリだと思われるものを難読化することに注意しています。私たちの社内コードは非常にプロプライエタリですが、プロプライエタリなハードウェア(私たちは販売していません)を持たない人にはほとんど役に立たないでしょう。

私の質問と回答は、自分と同様の問題に遭遇したときに、自分自身だけでなく他の誰かを助けるものだと考えています。


1

このリソースを持っていなかった場合、あなたの会社はあなたの追加時間にどれくらいの費用がかかりますか、または時間を失いましたか?

妥協や独自の情報が提供されない限り、あなたが見つけた投稿ソリューションはあなたが受け取った答えに対する報酬であると思います。


1

答えは、雇用主と署名した法的契約書(契約書)と、それらの契約書が審査される管轄権にあります。法的契約では、あなたが働いている州である場合とそうでない場合がある管轄をリストするのが一般的です(おそらくあなたが働く国ですが、必ずしもそうではありません)。

素晴らしい本は、ヴァン・リンドバーグによる知的財産とオープンソースです。pから。185:

「会社」が「専有情報」を定義する際に超過することに対する法的影響はありません。いくつかの州では、著者または発明者が会社の財産や時間を使用して新しい作品を作成しない場合、PIAの適用を制限しています。

契約書を読んでください。行動する前に、あなたの意図を雇用主に開示してください。次に、あなたの行動を雇用主に開示します。これらのことを書面で開示し、書面で該当する場合は、それらの応答/許可を取得します。少なくともそれはその本が言っていることです。

私は弁護士ではなく、ただこのことに興味があります。これは法的助言ではなく、友好的な提案です。私自身のために、仕事に関係するものを何気なく公開していません。上司との長時間の議論、完全な開示、明確なライセンス表示、および私がリリースするものについて書面で合意した後、いくつかのことを公開しましたが、それはまれです。


0

コードスニペットをオンラインで投稿しましたが、会社への参照、顧客データを削除するようにコードを常に編集し、フィールド/変数の名前も変更することがよくあります。基本的には、コードを書き直して、雇用主にさかのぼれないようにします。少し手間がかかりますが、それだけの価値があると思います。

法的側面とは別に、あなたは雇用主の財産に信頼されていると考えなければなりません。自由にオンラインで投稿すると、裁量に欠け、信頼できないように見えます。たとえあなたが許可を持っていたとしても、将来の雇用主が検索エンジンからスニペットを見つけることはこれを知らないかもしれません。

これが、私が注意を怠る傾向がある理由です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.