

MITライセンスで公開されているライブラリを参考にした上で、独自の機能や設計を加えたライブラリを作り、公開しようと考えているのですが、その場合、参考にしたライブラリのライセンスに従うべきでしょうか？
またそうならばどのようにライセンスの記載を行うべきでしょうか。

ソースコードそのものとしては、900行ほどの参考元のコード中に存在する10行程度の関数がほぼそのまま（コメントや変数名を除き）残っている状態です。また大きな参考元は前述のライブラリですが、もう一つ同種のライブラリで設計面で参考にしたライブラリも存在します。こちらはどのように実装されているかを見た程度で実装そのものを移すといった事は行っていません。

元のソースコードを一部改変して公開という場合は元のライセンスを記載する必要がありますが、こういった場合はどのように判断すればよいのかわかりません。


CC BY-SA 3.0
2015-06-29T16:19:49.517
11859
2015-06-30T09:35:00.103
2015-06-30T07:46:35.443
49
10340
question
ライセンス mit-license
ライセンスの適用をすべきかどうかの境界とどのように行うべきかについて


技術的というより法的な内容なので、詳しい判断は知的財産権の専門家に相談したほうがいいと思います。ただし、そこまでシビアな内容ではなさそうなので、わかる範囲で回答しておきます。

元のソースコードとの共通部分がたった10行であっても著作権が無効になるわけではないので、元のソースコードのライセンスに従って表示を行う必要があるでしょう。それに、現在のソースコードが元のソースコードを改変した結果なのであれば、多くの改変の結果元のソースコードの痕跡がなくなってしまっていたとしても、それは元のソースコードの派生物だと考えるべきでしょう。

「どのように実装しているかを見て参考にした」の方についてはケースバイケースとしか言いようがありませんし、人によって判断がわかれるでしょうが、とりあえず元のソースコードのライセンスに従っておけば安全でしょう。

いずれにせよ、MITライセンスは最も制限の緩いライセンスのひとつであり、そのライセンスの影響を受けるとしてもほとんど不都合はないはずです。元のソースコードがGPLならいわゆる「GPL汚染」に十二分に注意しなければなりませんが、MITライセンスならとりあえず従っておくという方針で構わないと思います。

> またそうならばどのようにライセンスの記載を行うべきでしょうか。

それについては、MITライセンスの本文で示されているとおりです。参考訳から引用すれば、

> 上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

<http://osdn.jp/projects/opensource/wiki/licenses%2FMIT_license>

ということで、つまり元のソースコードのライセンス表示をまるごとコピーしてReadmeなりマニュアルなりに付記しておき、「このソフトウェアは〇〇というライブラリを使用しています。以下は〇〇というライブラリのライセンス表示です」などと一言付け加えておけば十分だと思います。


CC BY-SA 3.0
2015-06-30T09:09:25.373
11883
2015-06-30T09:09:25.373
10330
11859
answer


[オープンソースのコードを取り込んだ時のライセンス表記について -
30歳からのブラウザづくり](http://d.hatena.ne.jp/mozxxx/20110529/p4)

で面白い表記が紹介されていたので、参考までに。

> 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 とかだと書いてありますね。

<http://www.webdav.org/neon/history.html>

ファイル先頭に加え、実際の引用部分にも書かれていました。

[code]

    /* 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)
    {
    
[/code]

ライセンス上の理由を抜きにしても、そのコード片の由来が示されているのは後から見たときに役立ちそうですね。


CC BY-SA 3.0
2015-06-30T09:35:00.103
11887
2015-06-30T09:35:00.103
8000
11859
answer