商用コードのオープンソースコンプライアンスを確認します。
最近、商用ソースがかなりの数のOSSプロジェクトと照合される例をいくつか見つけました。一致は非常によく似ていますが、正確ではありません。たとえば、約30行のコードに約4つのメソッドがあり、いくつかの変数名が異なり、商用コードにいくつかの余分な行がありますが、実質的に同じです。これは自動生成コードでもコピーパスタでもないと思います。コメントなどが異なるためです。
むしろそれは定型のように見えます-開発者は、Grails(およびこれらの例は常にGrailsで登場するように見えますが、フレームワークである可能性があります)はCRUD操作に特定のスクリプト形式を必要とすると言います(これらの例も主にCRUD操作です)。標準のソースコードスタイルを追加すると、定型文に相当します。たとえそれがオリジナルであったとしても、多くのコードベースで非常によく似たものになってしまいます。
それは私に2つの質問を残します:
- これは著作権侵害の告発に対する合理的な防御ですか?
- codeXが定型文であるが、codeYは定型文ではない(言語+フレームワークの専門家ではない)とどのように判断しますか?
1
タスクを完了するために必要なコード行が少ないほど、異なる元の実装が同じになる可能性が高くなります。配列内のすべての要素を合計するように求められた場合、ほとんどすべての人が現在の合計を保持するために外部で定義された変数を持つループを使用します。階乗関数をとるには2つの主な方向があります。Code Chefのようなもののために送信されたコードは、ここで調べると興味深いかもしれません-すべての明確な(正しい!)結果について、diffを実行します。
—
時計じかけのミューズ