iKnow! API KICK OFF! Developer Challenge に参加するためオープンソースソフトに初チャレンジ ( ラボブログ )を読んで、サイトのコードを公開することに関して書こうと思ったけど、よく考えたら私も動いてるサイトのコードを公開したことはないなぁ。。。
(ライブラリとかで切り出したのはあるけど)
ただ、JSやってると非公開とか基本的にない(難読化しても結構読めるし)ので、その辺若干ちょっと突っ込んでみます。
・ライセンスの選択
>利用者が便利なBSD(使う側が基本的に好きにできる)、公開者が便利なGPL(公開者はぱくられても向こうのソース読める)
>仕事とか、会社とかが絡んだり、よくわからなければGPLが無難かも。
・脆弱性に関して
>サーバサイドに対する危険性は上がるかも。ただ、最近それほどない気がする(まともにORM使ってればSQL Injectionもほぼ無いし)
>クライアントサイドは信頼性のないドメイン使えばOK。XSSはドメインを乗っ取られるってことだけど、元々信頼性の無いドメインなら乗っ取られても怖くないw
・開発コスト
>確かにあがると思う。単純に公開しているソース圧縮して置いとくだけでも、最新版に追従させたり若干面倒。
>後は、ちゃんと使ってもらうには使いやすく書かないとだめだし、見栄も張る必要あるし。。。w
>公開前提でそれ用のツールを使ってればそれほどではないかもしれないけど、それ用のツールをそろえるのはかなり大変だと思う。
・パクられる
>そんなに気にしなくていいと思う。簡単なアプリをわざわざパクる人はいないし、大規模な物ならパクるのも一苦労だし。
>特にGPLならぱくった側もソースを公開する義務を負うので、ぱくってもらうのもそんなに悪くないと思う。
>(ただ、WebアプリのソースにGPLソフトを使った場合の公開範囲がどこまでになるかはよくわからない)
・設定情報の保持
>conf.ini.sampleとか作って設定例を書いとく方法とかいいかも。
で、せっかくなのでソース拝見いたしました。
なるほど。iKnow!のAPIって普通に単語毎のRSSが置いてあるだけなのか。
ところで、
英語日和の訪問済みリンクの色が背景と同色なのはわざとでしょうか?