6
ソースコードを秘密にしておくことが正当化されるのはどのような場合ですか?
私がフリーランサーとして働いていたとき、プロジェクトとその背後にある概念がいかに重要でなく、興味深くなく、独創的でなくても、顧客がプロジェクト(Webアプリケーションなど)のアイデアとソースコードを可能な限り保護する多くのケースに遭遇しました。 私はすでにアイデアを秘密にしておくことについて質問を投稿し、多くの素晴らしい回答を受け取りました。今、私の懸念は、ソースコードの秘密性についてです。 私の観察によると: 私のキャリアで取り組む必要があったコードベース、 自分のソースコードの一部を秘密にしておくという私自身の意欲、および: たとえば、人気のあるProgrammers.SE寄稿者であるMason WheelerによるSimon StuartへのOpen応答などのいくつかの記事、 私はソースコードが主にこれらの理由のために秘密にされていると結論づけます: 作者はそのような質の悪いコードを恥じているか、誰かがそのような質の悪いコードベースを見た場合、またはコードベースの質が低い場合に評判を失うことを恐れているので、それをオープンソース化するのに役立つものは誰にもありません。たとえ誰かが興味を持っても、彼はソリューションを実行することがほとんどできません(または、多くの場合、コンパイルさえできません)。 コードの一部が盗まれているため(ほとんどの場合、特定の状況での使用を制限するライセンスの対象となるオープンソースプロジェクトから)、 コードはあいまいさによるセキュリティに依存しており、作者はケルクホフスの原則を気にしていません。 製品は非常に壊れやすいため、コードを表示すると非常に害が生じます。これらのセキュリティリークのあるクローズドソースのアプリが初心者のハッカーに耐える場合、初心者のハッカーであっても、同じオープンソースのアプリで発生する可能性ははるかに小さくなります。コードを調べてすべての穴を発見するだけです。 私が何を話しているのかはっきりしない場合は、ここに例があります: if (credentials.password === 'masterPassword12345') { isLoggedIn = true currentUser = credentials.userName } else { authenticate(credentials) } 著者がソースコード(および彼自身のスキルと専門知識)を過大評価したためです。例:自家製の暗号化関連のアルゴリズム(誰もレビューしなかった)は、よく知られたアルゴリズムよりも優れていると信じています。 なぜなら、コードの背後にあるアイデアは素晴らしいものであり、盗まれるだろうと著者が考えているからです。 「それは十分に完全ではない」症候群のために。言い換えれば、開発者はコードが「十分」であればソースコードを公開してもかまいませんが、日々改善すべき点があるため、コードがリリースされることはありません。 これらすべての理由は、ソースコードの公開に反対している人々のかなり否定的なイメージを与えます。 ケルクホフスの原則に従う高品質のコードを公開しない正当なケースはありますか?