Blogこの広告は、90日以上更新していないブログに表示しています。Storeこんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。2022年10月16日これを見て、最近リリースしたばかりの弊社プロダクトのSYNMNsynmn.bizの開発でもとあるライブラリを導入する際にソフトウェアライセンスに関してヒヤっとした事例があったことを思い出しました。結果的にリリース前に解決ができたため問題はなかったのですが、これをきっかけに自身のソフトウェアライセンスに対する危機意識が高まったこともあり、記事化して振り返ってみたいと思います。Storeで販売されているライブラリを使用しています。Partyライブラリを使用しています。EULAというライセンスに準拠しますが、このライブラリを使用したアプリケーションを配布する際には内部で使用しているライブラリのライセンスにも準拠する必要があります。ライセンスは依存関係をもつので、使用するライブラリ自体のライセンスが問題なくても、その内部で使用しているライセンスもきちんと確認をする必要があります。License(LGPL)と表記されていることを発見しました。実際に発見をしたのは自分ではなく同僚のベテランエンジニアの方なのですが、その方がソフトウェアライセンスに詳しいこともあり、問題の発覚に至りました。LGPLライセンスはどう問題なのかLGPLライセンスの公式のリンクはこちらです。opensource.orgLGPLライセンスの解説などはこちらなどを参照してください。Left、つまり「GPLライセンスのプログラムを使用した場合、制作物もGPLライセンスで配布する必要がある」というものです。自作のソフトウェアにGPL/LGPLライセンスのソースコードを組み込んだ場合には、(LGPLは条件付きですが)組み込んだソフトウェア自体もGPL/LGPLライセンスで「公開」する必要があるため、特にソースコードを公開したくない商用のソフトウェアを開発する際にはかなり注意する必要があります。Video自体がDLLなどのバイナリーにビルドされていることもあり、自身で直接確認することができませんでした。開発元に問い合わせた結果LGPLライセンスの緩和条件が確認できない以上、そのままライブラリを組み込むのはリスクがあります。分からないものは仕方がないので、開発元であるRenderHeads社にメールで問い合わせをしました。COMPRESSIONは使ってないけど、macOSのプラグインにリンクが残っているから、次のリリースで削除するよ」というものでした。VideoからLGPLライセンスのコードが完全に取り除かれました。HapInAVFoundationまとめ今回遭遇した事例をまとめると以下になります。次のリリースで修正をしてもらうそしてこの出来事から得られた教訓は以下になります。ソフトウェアライセンスは原文をちゃんと読んで内容を確認することソフトウェアライセンスにも依存関係があるので、内部で使用しているライブラリのライセンスもきちんと確認することGPL/LGPLライセンスは特に取り扱いが注意なので、見かけた場合にはきちんと確認をすること確証が得られない場合は開発元に問い合わせることソフトウェアライセンスは適切に扱わないとソースコード開示の事態につながってしまったり、会社や開発者の信用を損なってしまう恐れがあります。最近のOSSではMITライセンスなど比較的緩いライセンスが用いられることも多いですが、今回登場したLGPLライセンスなど種類によっては取り扱いの注意が必要なものもあるため、外部のライブラリやアセットを利用する際には入念に確認をしたほうがよいでしょう。逆に自身の書いたコードやリポジトリにちゃんとライセンスを明記することも重要です。自分もまだまだ勉強不足な部分も多いので、今後もソフトウェアライセンスには気を配っていきたいと思います。エンジニアの松原です。LiveのメッセージをUnityで取得してみるこんにちは、エンジニアの渡辺(@mochi_neko_7)です。1日目の記事になりま...2022-06-24NetworkedProperty(に相当する機能)のすゝめエンジニアの岡村です。5はてなブログをはじめよう!Synamonさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。