質問: MITライセンスで公開されているライブラリを参考にした上で、独自の機能や設計を加えたライブラリを作り、公開しようと考えているのですが、その場合、参考にしたライブラリのライセンスに従うべきでしょうか? またそうならばどのようにライセンスの記載を行うべきでしょうか。 ソースコードそのものとしては、900行ほどの参考元のコード中に存在する10行程度の関数がほぼそのまま(コメントや変数名を除き)残っている状態です。また大きな参考元は前述のライブラリですが、もう一つ同種のライブラリで設計面で参考にしたライブラリも存在します。こちらはどのように実装されているかを見た程度で実装そのものを移すといった事は行っていません。 元のソースコードを一部改変して公開という場合は元のライセンスを記載する必要がありますが、こういった場合はどのように判断すればよいのかわかりません。
回答: オープンソースのコードを取り込んだ時のライセンス表記について - 30歳からのブラウザづくり で面白い表記が紹介されていたので、参考までに。 > > The sock_readline() function is: > > > Copyright (c) 1999 Eric S. Raymond > > > Permission is hereby granted, free of charge, to any person > > obtaining a copy of this software and associated documentation > > (略) > > > ちょっと調べてみると、 WebDAV のクライアントライブラリである Neon の `src/socket.c` に書かれていた著作権表記のようです。最近のNeonでは `sock_readline()` が書き直されているようで上記の記述は見られませんが、 Neon 0.5.1 とかだと書いてありますね。 ファイル先頭に加え、実際の引用部分にも書かれていました。 ``` /* This is from from Eric Raymond's fetchmail (SockRead() in socket.c) * since I wouldn't have a clue how to do it properly. * This function is Copyright 1999 (C) Eric Raymond. * Modifications Copyright 2000 (C) Joe Orton */ int sock_readline(nsocket *sock, char *buf, int len) { ``` ライセンス上の理由を抜きにしても、そのコード片の由来が示されているのは後から見たときに役立ちそうですね。