はてなキーワード: CopyRightとは
タイトルが途中で切れてしまった。本当は、
なんとなく便乗
http://anond.hatelabo.jp/20090711161753
最近オタ系の個人ニュースサイトでも、割とおおっぴらにエロ漫画のレビューなんかへのリンクを見かけるようになった気がする。まれに「怪作」とでも呼ぶべき代物が登場する分野なので、それはそれで不快だと思った事はない。エロ漫画レビュー専門のブログなんかもたまに見かけるようになった。
んで個人的に、そろそろこの界隈の人達も、何らかの認識を一致させておく必要があるんじゃないかと思う事案があるわけ。P2Pで大量に出回ってる漫画ファイル。
あれ凄いわ。発売直後に速攻で流れるんだもん。人気のありそうな物は片っ端から、殆ど全て。中には、秋葉原あたりで発売日前にフラゲして、そのまま発売日前にばらまかれる事すらある。人気漫画家に限れば発売から10日以内に流れる確率70%。一ヶ月以内に流れる確率90%って感じ(俺の個人的印象)。
ちなみに、先月の成年コミック(黄色いマークがついてるやつ)の流出状況はこんな感じだ。
タイトル(一部伏せ字) | 作者(一部伏せ字) | 発売日 | 推定流出時期 |
---|---|---|---|
**の夜 | *玄 | 6/19 | 発売1日前 |
****されたい | ****たかし | 6/26 | 発売4日後 |
****のつくり方 | **の者 | 6/17 | 発売12日後 |
****な日 | * | 6/27 | 発売2日後 |
***性活! | **Q弥 | 6/17 | 発売9日後 |
*****・はらみっくす | **しゅん | 6/10 | 発売16日後 |
****じゃダメかしら? | ***えい | 6/19 | 発売9日後 |
**** *****と妹の…!なコト | **かづき | 6/25 | 発売6日後 |
新装版 ***ママ | *六 | 6/25 | 発売9日後 |
***嫁 | **あるちゅ | 6/29 | 発売6日後 |
覚えたて | **・フィーユ | 6/5 | 発売6日後 |
****プリンセス!! | *****宝田 | 6/27 | 発売4日後 |
そんっなに**させたいの? | *****宝田 | 6/27 | 発売4日後 |
**** DOLL | *安 | 6/1 | 発売1日前 |
**はら | **薯 | 6/1 | 発売34日後 |
こういう状況が未だに放置され続けているわけよ。放置されているものだから、「出版社に通報してもあいつらは絶対に動かない。警察が動くと自分達が困るからだ」と、まるでヤクザかチンピラの言いがかりみたいにやりたい放題やってるわけだ。
自腹でエロ漫画レビューしてる人達は、自分達が身を置く文化圏の中にこういう奴らが少なからず混じっている事に対して、そろそろ何らかの見解を示すべきなんじゃないか?
それと、出版社がこういう不法行為を黙認している理由が全く分からない。出版不況が叫ばれているこのご時世だから、知っていて黙認しているとはとても思えない。仮に知らないのであれば、ネットと親和性の高いオタク相手の商売の割りに鈍いとしか思えない。かといって、批判するだけじゃあ何も生み出さないわけで、せめて「違法アップロード許すまじ!」の声を上げて、出版社や漫画家へのアピールをすべきなんじゃなかろうか。
guldeen これはひどい, copyright, p2p, comic, ero エロ漫画家のひんでんブルグ氏も自分のブログでちらっと触れてたが、例えば中華圏など「訴訟しても賠償金がロクに得られない」国で主にワレズされてるってのが問題。作者に利益が来ないフリーライド問題は根が深い。 2009/07/13
そういうブツってのも、日本のP2Pやアップローダーから流出した物が出所だったりするけどね。
http://anond.hatelabo.jp/20090713192556
エロゲやソフトみたいな単価高いものだと違法DLの影響力はハンパないけど、エロマンガや同人誌みたいな、せいぜい単価1000円の品の場合は、違法DLがあってもなくてもさして変わるもんじゃないと思います。
たとえそうであっても、正当な権利を持っている出版社や漫画家が黙認する理由にはなり得ないな。著作権を侵害されているのは確定的に明らかなんだからさ。
それと、出版業界自体が全体的に右肩下がりの状況で、エロ分野なんてのはまさにそれがモロに出ているわけで、「犯人捜し」の結果として違法アップロードがやり玉に挙げられて、業界全体がダウンロード違法化に傾かないとも限らんだろう。
元々、インターネットというのは、学者さんたちが、自分たちの研究成果を蓄積して共有するために作った場所だから、インターネット上に存在しているものは、すべて「人類の共有財産だ」というのはどう思う?
建築目的はこの際関係ない。この道は参勤交代のために作られたものだから……並みに意味がない。TCP/IP を策定したのは学者であっても現在の回線を維持してるのは営利企業だし。もっとも当初からライセンスを使ってそういう利用条件を義務付けておけば面白い展開が見られたかもね。全コンテンツに対してパブリックドメイン化を強制するみたいな。商用ネットとしては使いづらそうだけど歴史的IF論や立法論としては面白いと思う。無断でアップロードする奴をどう事前に遮断するかが肝だろうね。
「増田の杜」自身は著作権を主張しているよ。何についてのRightsだが知らんが自分の権利は守ってほしいみたいだ。
「話は聞かせてもらったぞ
y_arimはシベリア送りだ」
http://anond.hatelabo.jp/20090309232518
buyobuyo 死ねばいいのに 飢えてしんじゃえよ。 2009/03/09
http://anond.hatelabo.jp/20090309225846
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
ちょっと変えてみた
虐殺独裁者buyobuyo
「話は聞かせてもらったぞ
y_arimはシベリア送りだ」
http://anond.hatelabo.jp/20090309232518
buyobuyo 死ねばいいのに 飢えてしんじゃえよ。 2009/03/09
http://anond.hatelabo.jp/20090309225846
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
buyobuyo
「話は聞かせてもらったぞ
y_arimはシベリア送りだ」
http://anond.hatelabo.jp/20090309232518
buyobuyo 死ねばいいのに 飢えてしんじゃえよ。 2009/03/09
http://anond.hatelabo.jp/20090309225846
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
http://anond.hatelabo.jp/20090309225846
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
http://anond.hatelabo.jp/20090309232518
buyobuyo 死ねばいいのに 飢えてしんじゃえよ。 2009/03/09
こんな事スターリンしかいわねーよwwwwwwwww
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
「話は聞かせてもらったぞ
buyobuyoはシベリア送りだ」
説明責任どこー?
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
はてサ=はてな虐殺サヨクキタ━ヾ( )ノ゛ヾ( ゚д)ノ゛ヾ(゚д゚)ノ゛ヾ(д゚ )ノ゛ヾ( )ノ゛━━!!
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
・buyobuyoはサヨクじゃない
http://anond.hatelabo.jp/20090310131522
ダイレクトに変更
はてサ=はてな虐殺サヨクキタ━ヾ( )ノ゛ヾ( ゚д)ノ゛ヾ(゚д゚)ノ゛ヾ(д゚ )ノ゛ヾ( )ノ゛━━!!
http://anond.hatelabo.jp/20090310131522
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
ツリーに入れといた
■id:y_arimへ
id:y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
説明責任どこー?
http://anond.hatelabo.jp/20090310131522
これは俺も聞きたい>有村
id:y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
説明責任どこー?
http://b.hatena.ne.jp/entry/http://anond.hatelabo.jp/20090309225846
y_arim anonymous, music, copyright, freedom, capitalism そもそも「はてサ」の中には左翼もいればリベラリストもいるわけで。buyobuyo氏はリベラリスト寄りでしょう。あと「左翼」にも穏健なのからアナーキストまでよりどりみどりで、全然一枚岩じゃない。
・buyobuyoはサヨクじゃない
都合の悪い連中は都合が悪くなった後にサヨクから外すはてサwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
さらにMさんの説明で面白いと思ったのは、この会社がダウンロード販売しているデータは普通のPDFファイルで、一切のプロテクトをかけておらずコピーも自由なのだが、その代わり
全ページに購入したユーザー名が入る
仕様になっているのだそうで、もし不正なコピーがネットに流出したら、即、誰に販売したデータなのかがわかるようになっているのだそうです。
これで思い出したけど、AIP系の雑誌のオンライン論文も、PDFで落とすと全てページに、
下記のようにDL者情報が入って、少なくとも威圧感は発揮してるわ(下記はJAPの例, XXXはDLした端末のIPアドレス)。
Downloaded 24 Jan 2009 to XXX.XXX.XXX.XXX. Redistribution subject to AIP license or copyright; see http://jap.aip.org/jap/copyright.jsp
学術論文って、多くの雑誌ではライセンス上はいろんな制限が課されてて(紙でもオンラインでも、本当はかなり制限があるんだけど)、
たとえばオンラインの場合でも1論文あたり$10くらいで購入するか、自分がその学会の会員だとかでアクセス権があるか、
もしくは所属機関がサイトライセンスを買ってくれていれば(見かけ上)ほぼフリーアクセスになったりする。
ところが、その論文アクセス代がバカにならなかったり(さまよってるうちに数十の論文を落として読み比べてたり)、
サイトライセンスを持ってない貧乏機関に所属してたりすると、認証がすごく面倒だったりする。
で、(本当はお互いにライセンス違反なんだけど)サイトライセンスが使える機関に所属している知り合いにお願いして
入手代行をお願いしたりして・・・PDFだからオンラインコピーは自由だし・・・って、アッー!な話なわけで。
IPアドレスで所属機関と研究室がバレる→所属機関まるごと処分対象→コピッた研究者もバレる→期間内でも白い目で見られる
って流れになるのがわかってるので、ある程度の抑制と自粛を図る気にはなるなぁ、と。
学校で隣の席のやつに落書きを見せて楽しむ程度だな、私の許せる限度は。
不特定多数に向けて(手数料程度だとしても)お金をとって渡したりする行動は、そこまでするなら一次創作しろって思う。
webのネタにするなら、「無許可です、すみません(苦笑」の一言ぐらいは入れておくのが礼儀だろう。
「無許可で勝手にやってる小ネタゆえ、もちろん権利主張などいたしませんので許してください。」と言うのがスジってもんだろう。
だからこそ「無断転載もどうぞご自由にどうぞ。報告などいりませぬ」って思うぐらいの謙虚さがあってこそ、一次創作者も黙認するってものだ。
二次創作なのにコピーライトやサインを入れる奴ってサイテーだと思う。
コメントせずにはいられなかったように見受けられる。何でって?ホッテントリあるあれを読んだからだよ。あとで読んで。
日記見たけど、http://d.hatena.ne.jp/SiroKuro/ やっぱりオタクの人なのね。美少女とかのアニメが好きな感じ?
いきなり人をこいつ呼ばわりするのはどうかと思うよ。そういう常識的なところが欠けている人が多い印象、オタクの人って。
なにがどう残念なの?そもそも残念な奴ってどういう意味?あなたにとって私がこんな感じなのが残念なの?
「あとでみる」ってこんな短い文章なのに?読んだからコメント書いたんじゃないの?ねぇ、どうなの?
2008年08月17日 altana11 この記事もそうだけど、気持ち悪いという言葉には悲しいくらい力がない。気持ち悪い気持ち悪いと相手を否定しても否定する相手が多数派なのでどんどん孤独になっていく。どうあがいても否定されるのは少数派。寂しい
え、同人誌書いたりコミケ行ったりする奴が少数派でしょう。どっちが多数かはあまり関係ないけど。気持ち悪いというか卑怯者?他人の創造物を無断で改変する失礼な奴?まぁ言葉はなんでもいいんだよ。ああいう周りの見えていない人間どもが嫌い。最近の開き直り具合は世も末だと思う。
どうしようもないし、とめられるともとめようとも思わないけど、なくなってほしいと望むね。せめて、嫌悪感は伝えたい。それはサイテーと思われるような事なんだよと。伝えれば嫌な気持ちになってやめる人もいるでしょう。
2008年08月17日 popopom 変な日本語, 同人, license なんか男子中学生が書いたような文章だな。ブクマコメに対する食いつきといい。/“ホッテントリあるあれ”って何?どのエントリのことだろう?
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/y_arim/20080815/1218830796
これです。「に、あるあれ」のにを間違えて消しちゃっていました。
2008年08月17日 KoshianX copyright こういう認識の人間も実際にいるからなあ。西遊記やら三国志やら古典の二次創作は許せるとか言い出すんだろうな、ドラゴンボールみたいな。で、どこから古典?みたいな話に。
今現在話題で人気に乗っかるのと、古典とじゃぜんぜん違うじゃない。
2008年08月17日 sea_side !エントリー, 文化 あまり関係ないけど、過度なオリジナル志向も害だと思うねぇ。
え、なにそれ。オリジナル作品しか作ってない人は害なの?同人誌を書いていないクリエイターは社会にとって害悪な存在?ぜんぜんわかりません。
2008年08月17日 fake-01 copyright, 同人, 二次創作 「せめて、嫌悪感は伝えたい。」権利ではなくて、嫌悪感の問題って事ですか。なら、気持ち悪いから、黙ってろって言われるのも、想定してるね。こんな感情論だけでは意味ないので、まず、著作権というものを学べ。
感情を無視するのは良くないよ。人々の感情あっての法律だから。黙ってろと何百回でも言ってもいいよ。黙らないけど。
2008年08月17日 y_arim anonymous, illustration, copyright, creator, doujin, 言及されました ところでおれのオリジナルイラストを見てくれ こいつをどう思う?
猥褻だと思いました。http://hatena.g.hatena.ne.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E6%83%85%E5%A0%B1%E5%89%8A%E9%99%A4%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3
* 性器の露出する画像、風俗店情報は原則として削除を行う(はてな発信情報、ユーザー・はてな発信情報、ユーザー発信情報)
* 性器の露出する画像、風俗店情報が掲載された外部ウェブサイトへのリンクは原則として削除を行う(はてな発信情報、ユーザー・はてな発信情報、ユーザー発信情報)
* 性器を表す単語、及びそれに順ずる猥褻語は原則として削除を行う(はてな発信情報、ユーザー・はてな発信情報、ユーザー発信情報)
* はてなが明らかに第三者に嫌悪感を与える情報であると考え得る情報については削除を行う(ユーザー・はてな発信情報、ユーザー発信情報)
* 第三者からの通告を受け、当該情報が嫌悪感を与える情報かどうかが定かでない場合、発信者への照会手続きを行う(ユーザー・はてな発信情報、ユーザー発信情報)
2008年08月17日 m-bird これはひどい そもそも増田って嫌だよ 匿名という安全性にあやかっているのが気持ち悪い。不特定多数にDisる行動は、そこまでするなら実名でしろって思う。// http://d.hatena.ne.jp/m-bird/about
こんにちは、筑波大の水野貴史さん。いつもお世話になっております。フリーオ便利そうですよね。
2008年08月17日 mgkiller 「今現在話題で人気に乗っかるのと、古典とじゃぜんぜん違うじゃない。」ネタを拝借するという点では同じ。君は法律的観点を持ち出さず感情論でのみ物を言ってるからそこを分断するのは論が破綻してるよ。
あのさ、共通点をさがしてるんじゃないんだから。私の文意ではまったく別。現時点での人気度合いがオフセットとして働く形で己の創作物の価値を高めているって意味で全く違う。そりゃ西遊記の人気があるからドラゴンボールの人気が上がったという面もゼロではないかもしれないけど古典と現行品では雲泥の差じゃん。コミケの同人誌と同じっていう方がムリあるよ。三国志はもともと史実じゃん。そんなの挙げて言い訳してみっともない。
その不愉快なものに対してすぐ釣りとか言うのやめてほしいな。本心を言っているだけなのに。釣りだってことにすれば何か納得できるっていうわけなの?どんな意見でももうちょっと真剣に受け止めるほうがいいんじゃないの?さもなくば無言でスルーしようよ。はいはい釣りね~とか言うのはみっともないと思う。
~ですね、分かります。
とかいうコメントは全部、とても頭悪いと思う。それで気が済むとしたらお目出度い奴としか言いようが無い。冗談ならいいけど。
ハテブコメントは、オタクの人が多いから意見が大きく偏るなぁ。少数意見のはずのものが多数のように見えてしまいますね。
あと、http://anond.hatelabo.jp/20080817123327 これを書いたのは私です。
ここで、二次創作物といっているのはいわゆるコミケなどであつかわれている類の同人誌のことです。MADアニメでもいいです。コスプレなども含まれるかもしれません。原作漫画をアニメ映画化とか、小説を漫画化とか、商取引上で著作権者同士の合意に基づいて派生されたものは、一次創作物だと思っています。
http://d.hatena.ne.jp/ezil/20080818
他人のものなのに、これは俺のものだよって言ってるのがおかしいよ。パクっといて自分のものって主張すんな。と思います。そのキャラクターはお前が生み出したものじゃないだろ、なに自分のサインつけてんだよ。って思います。
共同著作物ならオリジナルの作者名が必要だろ?だからって勝手に名前使うなよ、ちゃんと許可とれよ。って思います。
2008年08月19日 tizell 「~がスジだろう」「~が礼儀だろう」「~するってものだ」と、想像で書いてることばっかり。「お前の想像するようなルールは存在しないよ」としか言えない。
多くの常識的感覚は明文化されたルールにはなっていないものだよ。人とであったら挨拶しようとか、親切にされたらお礼を言おうとか、そういうものでしょ?それがスジでしょう。それが礼儀でしょう。そうするべきでしょう。それとおんなじ。他人が作った創造物を無断で利用したり改変するのはよくないよ。
「法律に書いてあるのかよ!」ていう小学生みたいなこと言わないで。
どちらも全国展開して売り出されたもので、大金をかけて宣伝されたものという認識です。個人が自分のウェブサイトに載せました、とか近所の電柱にチラシを張りましたとか、そういうのが大金をかけて宣伝されていないものです。全国展開している雑誌に広告を載せたり、大手の流通に乗せたりしている品物という意味で、個人レベルのアピールとは桁違いの知名度そもった物であるという意味で言いました。
自分の創作活動100に対して1の割合ぐらいの息抜きで、パロディーとかIFとかやるのはいいと思う。自分の制作活動の5割とかそれ以上の大きな割合を二次創作が閉めているような人間は嫌いだし、それを買うことで肯定する客も嫌い。そのぐらいの小さな割合でなら許す。
あと、二次創作を原作者にむけて作るのならいいとおもう。原作者を楽しませるために、まず最初に原作者にみせ、原作者の許可のもとで他者にも見せるならわかる。
嫌い、以上の事は言っていません。非常識、人間性がなってない、と思ってるといいたかっただけ。あーあー聞こえなーい、しらねー、と気にせず傍若無人に好き勝手原作をレイプする人がたくさんいて止めようがないのは百も承知。一言、人として間違ってる、礼節がなってないと言ってやりたかったから増田に書いただけ。まわりはオタクが沢山居て同人誌を書いている友人もいてコピーライト自分ってサインする人も沢山居て、そういう人には何を言っても無駄だけど、こうして増田に書いたら賛否もいっぱいいろんな人が応答してくれて、かなり満足ですよ。
2008年08月17日 soylent_green 気持ちはわかるんだが、どうしようもないね。
2008年08月17日 gadgetman 元ネタ原作者より儲けてる同人作家がいるかも…とか想像すると、なんか嫌な方向にもやもやするんで、わからなくもない。/id:KoshianXがここで西遊記とか持ち出す意味がわからん。二次創作マンセーな方ですか?
2008年08月17日 toward_to_terrada この手のエントリのはてブ見ると何でオタクが迫害されるのか良く分かるよ・・・。それこそ100文字では言い切れない位に。
2008年08月17日 tnai45 自分の好きな作品が18禁同人のネタにされるのは確かに嫌だ。だから、なるべくそういうのは見ないようにしてる。
2008年08月17日 tek_koc 人気をあやかろうって視点では確かに不気味だと思う。芸人の真似して笑いを取るみたいな感じ。
2008年08月17日 daca 二次創作を嫌がる人も中にはいる。多数派だって印象はないし、故にあまり顧慮されない傾向はある。ただ好意的黙認を受けた二次創作は、自らも利用されることに好意的であってほしい気はする。 GPL増殖的な。
2008年08月18日 winter-snow わかる。金がらみになるとすごいさめる。そこまでするもんじゃないだろうって。
2008年08月18日 Hlao 気持ちはなんとなく分る(…略…)
2008年08月18日 mike_n ヲタ わたしも二次創作は苦手(気持ち悪いと思うこともある)(…略…)
2008年08月20日 midou_shin そういう感情は分かる(…略…)
2008年08月21日 lefthanded そんなに批判されるようなこと書いてるようには思えないが…。自分は二次創作自体は嫌いじゃないが、二次創作物の権利を声高に主張するような人はだめだと思う。まあ、そんな人多くないと思うけど。
ちょっと感情的になりすぎでは。あなたの友人にも言えないでいる人いると思いますよ。
http://anond.hatelabo.jp/20090207183508
二次創作なんて語事態が気持ち悪いね。自己肯定なのだろうけど。他人のふんどしで相撲をとるっていうの、創作者の風上にも置けない。
「天台宗トップの住職がチベット問題について涙ながらに語る」の動画( http://www.youtube.com/watch?v=BjlbL0j_qQ8)だけど、ACCSが消したみたいだね。
This video is no longer available due to a copyright claim by Association of Copyright for Computer Software
青山繁晴が「消すな」と関西テレビに言ってるから、関西テレビは消さないかもしれないけど、ACCSが何で消すんだ?ACCS何者?
http://d.hatena.ne.jp/sirouto2/20070921/p2
「ドアを閉めましょう」というのが「在宅で仕事をする人が生産効率を高めるための」「Tips」なのか。それに気付かない人がいるのか。なぜ誰も突っ込まないのか。
最後が実はジョークなのはよくある。
http://the-getting-things-done.blogspot.com/2007/08/productivity-tips-for-home-office.html
Close your door - If there are distractions at home, like people calling round or noisy kids, make it a rule to not be disturbed when your door is shut.
ドアを閉めよう - 例えば人が訪ねてきたり、子供達が喧しかったり、そんな気が散る原因が家にあるなら、ドアが閉じてからは邪魔されないようにしよう。
http://web-marketing.zako.org/hacks/lifehacks/productivity-tips-for-the-home-office.html
10.ドアを閉めましょう
元気な子供や、何度も電話が鳴るような気が散る要素が家にあるのであれば、神経質にならないためにも、仕事中はドアを閉じるようにしてください。
The original post is 翻訳ブログを作成するための5つのポイント
キャッシュの話でないのであれば、複製を保存せず、透過的に変換する行為については著作権侵害には問えないだろう。
一時期流行った「赤ちゃん語変換」みたいなサイトならともかく、「半角」と「全角」の違いであればクライアント側のグリフでいかようにもなってしまう話である。 著作者本人がいくら「半角」での表示を期待していても、それを「全角」文字として表示してしまうコンピュータはたくさんあるのだ。
アスキーアートなんて、まともに絵として表示される環境の組み合わせは相当限定されているはずだが、絵として表示できなければ著作権侵害になってしまうのかってな話だ。
RSS は生の XML のまま表示させないといかんのかってな話だ。
だいたいにして著作権法の同一性保持権は「著作物の性質並びにその利用の目的及び態様に照らしやむを得ないと認められる改変」を認めている。
表示能力に劣る携帯端末での文書表示が目的ならこの改変は認められるのではないだろうかと思うがどうだろうか。
キャッシュの話であれば、もう fj.soc.copyright やらでさんざん議論されていたような気はするが。
ひろゆきが言うように複製を保持してそれを公衆送信可能にすることは、現行の著作権法では著作権の侵害になる。
しかし、現在ではインターネットの公正な利用の範疇として、キャッシュ機能は検索エンジン等で広く利用されている。 皆がそれを利用している。
/* Ten */ if (typeof(Ten) == 'undefined') { Ten = {}; } Ten.NAME = 'Ten'; Ten.VERSION = 0.06; /* Ten.Class */ Ten.Class = function(klass, prototype) { if (klass && klass.initialize) { var c = klass.initialize; } else if(klass && klass.base) { var c = function() { return klass.base[0].apply(this, arguments) }; } else { var c = function() {}; } c.prototype = prototype || {}; c.prototype.constructor = c; Ten.Class.inherit(c, klass); if (klass && klass.base) { for (var i = 0; i < klass.base.length; i++) { var parent = klass.base[i]; if (i == 0) { c.SUPER = parent; c.prototype.SUPER = parent.prototype; } Ten.Class.inherit(c, parent); Ten.Class.inherit(c.prototype, parent.prototype); } } return c; } Ten.Class.inherit = function(child,parent) { for (var prop in parent) { if (typeof(child[prop]) != 'undefined' || prop == 'initialize') continue; child[prop] = parent[prop]; } } /* // Basic Ten Classes **/ /* Ten.JSONP */ Ten.JSONP = new Ten.Class({ initialize: function(uri,obj,method) { if (Ten.JSONP.Callbacks.length) { setTimeout(function() {new Ten.JSONP(uri,obj,method)}, 500); return; } var del = uri.match(/\?/) ? '&' : '?'; uri += del + 'callback=Ten.JSONP.callback'; if (!uri.match(/timestamp=/)) { uri += '&' + encodeURI(new Date()); } if (obj && method) Ten.JSONP.addCallback(obj,method); this.script = document.createElement('script'); this.script.src = uri; this.script.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(this.script); }, addCallback: function(obj,method) { Ten.JSONP.Callbacks.push({object: obj, method: method}); }, callback: function(args) { // alert('callback called'); var cbs = Ten.JSONP.Callbacks; for (var i = 0; i < cbs.length; i++) { var cb = cbs[i]; cb.object[cb.method].call(cb.object, args); } Ten.JSONP.Callbacks = []; }, MaxBytes: 8000, Callbacks: [] }); /* Ten.XHR */ Ten.XHR = new Ten.Class({ initialize: function(uri,opts,obj,method) { if (!uri) return; this.request = Ten.XHR.getXMLHttpRequest(); this.callback = {object: obj, method: method}; var xhr = this; var prc = this.processReqChange; this.request.onreadystatechange = function() { prc.apply(xhr, arguments); } var method = opts.method || 'GET'; this.request.open(method, uri, true); if (method == 'POST') { this.request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); } var data = opts.data ? Ten.XHR.makePostData(opts.data) : null; this.request.send(data); }, getXMLHttpRequest: function() { var xhr; var tryThese = [ function () { return new XMLHttpRequest(); }, function () { return new ActiveXObject('Msxml2.XMLHTTP'); }, function () { return new ActiveXObject('Microsoft.XMLHTTP'); }, function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); }, ]; for (var i = 0; i < tryThese.length; i++) { var func = tryThese[i]; try { xhr = func; return func(); } catch (e) { //alert(e); } } return xhr; }, makePostData: function(data) { var pairs = []; var regexp = /%20/g; for (var k in data) { var v = data[k].toString(); var pair = encodeURIComponent(k).replace(regexp,'+') + '=' + encodeURIComponent(v).replace(regexp,'+'); pairs.push(pair); } return pairs.join('&'); } },{ processReqChange: function() { var req = this.request; if (req.readyState == 4) { if (req.status == 200) { var cb = this.callback; cb.object[cb.method].call(cb.object, req); } else { alert("There was a problem retrieving the XML data:\n" + req.statusText); } } } }); /* Ten.Observer */ Ten.Observer = new Ten.Class({ initialize: function(element,event,obj,method) { var func = obj; if (typeof(method) == 'string') { func = obj[method]; } this.element = element; this.event = event; this.listener = function(event) { return func.call(obj, new Ten.Event(event || window.event)); } if (this.element.addEventListener) { if (this.event.match(/^on(.+)$/)) { this.event = RegExp.$1; } this.element.addEventListener(this.event, this.listener, false); } else if (this.element.attachEvent) { this.element.attachEvent(this.event, this.listener); } } },{ stop: function() { if (this.element.removeEventListener) { this.element.removeEventListener(this.event,this.listener,false); } else if (this.element.detachEvent) { this.element.detachEvent(this.event,this.listener); } } }); /* Ten.Event */ Ten.Event = new Ten.Class({ initialize: function(event) { this.event = event; }, keyMap: { 8:"backspace", 9:"tab", 13:"enter", 19:"pause", 27:"escape", 32:"space", 33:"pageup", 34:"pagedown", 35:"end", 36:"home", 37:"left", 38:"up", 39:"right", 40:"down", 44:"printscreen", 45:"insert", 46:"delete", 112:"f1", 113:"f2", 114:"f3", 115:"f4", 116:"f5", 117:"f6", 118:"f7", 119:"f8", 120:"f9", 121:"f10", 122:"f11", 123:"f12", 144:"numlock", 145:"scrolllock" } },{ mousePosition: function() { if (!this.event.clientX) return; return Ten.Geometry.getMousePosition(this.event); }, isKey: function(name) { var ecode = this.event.keyCode; if (!ecode) return; var ename = Ten.Event.keyMap[ecode]; if (!ename) return; return (ename == name); }, targetIsFormElements: function() { var target = this.event.target; if (!target) return; var T = (target.tagName || '').toUpperCase(); return (T == 'INPUT' || T == 'SELECT' || T == 'OPTION' || T == 'BUTTON' || T == 'TEXTAREA'); }, stop: function() { var e = this.event; if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } else { e.cancelBubble = true; e.returnValue = false; } } }); /* Ten.DOM */ Ten.DOM = new Ten.Class({ getElementsByTagAndClassName: function(tagName, className, parent) { if (typeof(parent) == 'undefined') { parent = document; } var children = parent.getElementsByTagName(tagName); if (className) { var elements = []; for (var i = 0; i < children.length; i++) { var child = children[i]; var cls = child.className; if (!cls) { continue; } var classNames = cls.split(' '); for (var j = 0; j < classNames.length; j++) { if (classNames[j] == className) { elements.push(child); break; } } } return elements; } else { return children; } }, removeEmptyTextNodes: function(element) { var nodes = element.childNodes; for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) { node.parentNode.removeChild(node); } } }, nextElement: function(elem) { do { elem = elem.nextSibling; } while (elem && elem.nodeType != 1); return elem; }, prevElement: function(elem) { do { elem = elem.previousSibling; } while (elem && elem.nodeType != 1); return elem; }, scrapeText: function(node) { var rval = []; (function (node) { var cn = node.childNodes; if (cn) { for (var i = 0; i < cn.length; i++) { arguments.callee.call(this, cn[i]); } } var nodeValue = node.nodeValue; if (typeof(nodeValue) == 'string') { rval.push(nodeValue); } })(node); return rval.join(''); }, onLoadFunctions: [], loaded: false, timer: null, addEventListener: function(event,func) { if (event != 'load') return; Ten.DOM.onLoadFunctions.push(func); Ten.DOM.checkLoaded(); }, checkLoaded: function() { var c = Ten.DOM; if (c.loaded) return true; if (document && document.getElementsByTagName && document.getElementById && document.body) { if (c.timer) { clearInterval(c.timer); c.timer = null; } for (var i = 0; i < c.onLoadFunctions.length; i++) { c.onLoadFunctions[i](); } c.onLoadFunctions = []; c.loaded = true; } else { c.timer = setInterval(c.checkLoaded, 13); } } }); /* Ten.Style */ Ten.Style = new Ten.Class({ applyStyle: function(elem, style) { for (prop in style) { elem.style[prop] = style[prop]; } } }); /* Ten.Geometry */ Ten.Geometry = new Ten.Class({ initialize: function() { if (Ten.Geometry._initialized) return; var func = Ten.Geometry._functions; var de = document.documentElement; if (window.innerWidth) { func.getWindowWidth = function() { return window.innerWidth; } func.getWindowHeight = function() { return window.innerHeight; } func.getXScroll = function() { return window.pageXOffset; } func.getYScroll = function() { return window.pageYOffset; } } else if (de && de.clientWidth) { func.getWindowWidth = function() { return de.clientWidth; } func.getWindowHeight = function() { return de.clientHeight; } func.getXScroll = function() { return de.scrollLeft; } func.getYScroll = function() { return de.scrollTop; } } else if (document.body.clientWidth) { func.getWindowWidth = function() { return document.body.clientWidth; } func.getWindowHeight = function() { return document.body.clientHeight; } func.getXScroll = function() { return document.body.scrollLeft; } func.getYScroll = function() { return document.body.scrollTop; } } Ten.Geometry._initialized = true; }, _initialized: false, _functions: {}, getScroll: function() { if (!Ten.Geometry._initialized) new Ten.Geometry; return { x: Ten.Geometry._functions.getXScroll(), y: Ten.Geometry._functions.getYScroll() }; }, getMousePosition: function(pos) { // pos should have clientX, clientY same as mouse event if ((navigator.userAgent.indexOf('Safari') > -1) && (navigator.userAgent.indexOf('Version/') < 0)) { return { x: pos.clientX, y: pos.clientY }; } else { var scroll = Ten.Geometry.getScroll(); return { x: pos.clientX + scroll.x, y: pos.clientY + scroll.y }; } }, getElementPosition: function(e) { return { x: e.offsetLeft, y: e.offsetTop }; }, getWindowSize: function() { if (!Ten.Geometry._initialized) new Ten.Geometry; return { w: Ten.Geometry._functions.getWindowWidth(), h: Ten.Geometry._functions.getWindowHeight() }; } }); /* Ten.Position */ Ten.Position = new Ten.Class({ initialize: function(x,y) { this.x = x; this.y = y; }, subtract: function(a,b) { return new Ten.Position(a.x - b.x, a.y - b.y); } }); /* // require Ten.js **/ /* Ten.SubWindow */ Ten.SubWindow = new Ten.Class({ initialize: function() { var c = this.constructor; if (c.singleton && c._cache) { return c._cache; } var div = document.createElement('div'); Ten.Style.applyStyle(div, Ten.SubWindow._baseStyle); Ten.Style.applyStyle(div, c.style); this.window = div; this.addContainerAndCloseButton(); document.body.appendChild(div); if (c.draggable) { this._draggable = new Ten.Draggable(div, this.handle); } if (c.singleton) c._cache = this; return this; }, _baseStyle: { color: '#000', position: 'absolute', display: 'none', zIndex: 2, left: 0, top: 0, backgroundColor: '#fff', border: '1px solid #bbb' }, style: { padding: '2px', textAlign: 'center', borderRadius: '6px', MozBorderRadius: '6px', width: '100px', height: '100px' }, handleStyle: { position: 'absolute', top: '0px', left: '0px', backgroundColor: '#f3f3f3', borderBottom: '1px solid #bbb', width: '100%', height: '30px' }, containerStyle: { margin: '32px 0 0 0', padding: '0 10px' }, // closeButton: 'close.gif', closeButton: 'http://s.hatena.com/images/close.gif', closeButtonStyle: { position: 'absolute', top: '8px', right: '10px', cursor: 'pointer' }, _baseScreenStyle: { position: 'absolute', top: '0px', left: '0px', display: 'none', zIndex: 1, overflow: 'hidden', width: '100%', height: '100%' }, screenStyle: {}, showScreen: true, singleton: true, draggable: true, _cache: null },{ screen: null, windowObserver: null, visible: false, addContainerAndCloseButton: function() { var win = this.window; var c = this.constructor; var div = document.createElement('div'); win.appendChild(div); Ten.Style.applyStyle(div, c.containerStyle); this.container = div; if (c.handleStyle) { var handle = document.createElement('div'); Ten.Style.applyStyle(handle, c.handleStyle); win.appendChild(handle); this.handle = handle; } if (c.closeButton) { var btn = document.createElement('img'); btn.src = c.closeButton; btn.alt = 'close'; Ten.Style.applyStyle(btn, c.closeButtonStyle); win.appendChild(btn); new Ten.Observer(btn, 'onclick', this, 'hide'); this.closeButton = btn; } if (c.showScreen) { var screen = document.createElement('div'); Ten.Style.applyStyle(screen, Ten.SubWindow._baseScreenStyle); Ten.Style.applyStyle(screen, c.screenStyle); document.body.appendChild(screen); this.screen = screen; new Ten.Observer(screen, 'onclick', this, 'hide'); } }, show: function(pos) { pos = (pos.x && pos.y) ? pos : {x:0, y:0}; with (this.window.style) { display = 'block'; left = pos.x + 'px'; top = pos.y + 'px'; } if (this.screen) { with (this.screen.style) { display = 'block'; left = Ten.Geometry.getScroll().x + 'px'; top = Ten.Geometry.getScroll().y + 'px'; } } this.windowObserver = new Ten.Observer(document.body, 'onkeypress', this, 'handleEscape'); this.visible = true; }, handleEscape: function(e) { if (!e.isKey('escape')) return; this.hide(); }, hide: function() { if (this._draggable) this._draggable.endDrag(); this.window.style.display = 'none'; if (this.screen) this.screen.style.display = 'none'; if (this.windowObserver) this.windowObserver.stop(); this.visible = false; } }); /* Ten.Draggable */ Ten.Draggable = new Ten.Class({ initialize: function(element,handle) { this.element = element; this.handle = handle || element; this.startObserver = new Ten.Observer(this.handle, 'onmousedown', this, 'startDrag'); this.handlers = []; } },{ startDrag: function(e) { if (e.targetIsFormElements()) return; this.delta = Ten.Position.subtract( e.mousePosition(), Ten.Geometry.getElementPosition(this.element) ); this.handlers = [ new Ten.Observer(document, 'onmousemove', this, 'drag'), new Ten.Observer(document, 'onmouseup', this, 'endDrag'), new Ten.Observer(this.element, 'onlosecapture', this, 'endDrag') ]; e.stop(); }, drag: function(e) { var pos = Ten.Position.subtract(e.mousePosition(), this.delta); Ten.Style.applyStyle(this.element, { left: pos.x + 'px', top: pos.y + 'px' }); e.stop(); }, endDrag: function(e) { for (var i = 0; i < this.handlers.length; i++) { this.handlers[i].stop(); } if(e) e.stop(); } }); /* Hatena */ if (typeof(Hatena) == 'undefined') { Hatena = {}; } /* Hatena.User */ Hatena.User = new Ten.Class({ initialize: function(name) { this.name = name; }, getProfileIcon: function(name) { if (!name) name = 'user'; var pre = name.match(/^[\w-]{2}/)[0]; var img = document.createElement('img'); img.src = 'http://www.hatena.ne.jp/users/' + pre + '/' + name + '/profile_s.gif'; img.alt = name; img.setAttribute('class', 'profile-icon'); img.setAttribute('width','16px'); img.setAttribute('height','16px'); with (img.style) { margin = '0 3px'; border = 'none'; verticalAlign = 'middle'; } return img; } }, { profileIcon: function() { return Hatena.User.getProfileIcon(this.name); } }); /* Hatena.Star */ if (typeof(Hatena.Star) == 'undefined') { Hatena.Star = {}; } /* // Hatena.Star.* classes // **/ if (window.location && window.location.host.match(/hatena\.com/)) { Hatena.Star.BaseURL = 'http://s.hatena.com/'; } else { Hatena.Star.BaseURL = 'http://s.hatena.ne.jp/'; } Hatena.Star.Token = null; /* Hatena.Star.User */ Hatena.Star.User = new Ten.Class({ base: [Hatena.User], initialize: function(name) { if (Hatena.Star.User._cache[name]) { return Hatena.Star.User._cache[name]; } else { this.name = name; Hatena.Star.User._cache[name] = this; return this; } }, _cache: {} },{ userPage: function() { return Hatena.Star.BaseURL + this.name + '/'; } }); /* Hatena.Star.Entry */ Hatena.Star.Entry = new Ten.Class({ initialize: function(e) { this.entry = e; this.uri = e.uri; this.title = e.title; this.star_container = e.star_container; this.comment_container = e.comment_container; this.stars = []; this.comments = []; }, maxStarCount: 11 },{ flushStars: function() { this.stars = []; this.star_container.innerHTML = ''; }, bindStarEntry: function(se) { this.starEntry = se; for (var i = 0; i < se.stars.length; i++) { if (typeof(se.stars[i]) == 'number') { this.stars.push(new Hatena.Star.InnerCount(se.stars[i],this)); } else { this.stars.push(new Hatena.Star.Star(se.stars[i])); } } if (se.comments && !this.comments.length) { for (var i = 0; i < se.comments.length; i++) { this.comments.push(new Hatena.Star.Comment(se.comments[i])); } } this.can_comment = se.can_comment; }, setCanComment: function(v) { this.can_comment = v; }, showButtons: function() { this.addAddButton(); this.addCommentButton(); }, addAddButton: function() { if (this.star_container) { this.addButton = new Hatena.Star.AddButton(this); this.star_container.appendChild(this.addButton); } }, addCommentButton: function() { if (this.comment_container) { this.commentButton = new Hatena.Star.CommentButton(this); this.comment_container.appendChild(this.commentButton.img); } }, showStars: function() { var klass = this.constructor; // if (this.stars.length > klass.maxStarCount) { // var ic = new Hatena.Star.InnerCount(this.stars.slice(1,this.stars.length)); // this.star_container.appendChild(this.stars[0]); // this.star_container.appendChild(ic); // this.star_container.appendChild(this.stars[this.stars.length - 1]); // } else { for (var i = 0; i < this.stars.length; i++) { this.star_container.appendChild(this.stars[i]); } }, showCommentButton: function() { if (this.can_comment) { this.commentButton.show(); if (this.comments.length) this.commentButton.activate(); } else { // this.commentButton.hide(); } }, addStar: function(star) { this.stars.push(star); this.star_container.appendChild(star); }, addComment: function(com) { if (!this.comments) this.comments = []; if (this.comments.length == 0) { this.commentButton.activate(); } this.comments.push(com); }, showCommentCount: function() { this.comment_container.innerHTML += this.comments.length; } }); /* Hatena.Star.Button */ Hatena.Star.Button = new Ten.Class({ createButton: function(args) { var img = document.createElement('img'); img.src = args.src; img.alt = img.title = args.alt; with (img.style) { cursor = 'pointer'; margin = '0 3px'; padding = '0'; border = 'none'; verticalAlign = 'middle'; } return img; } }); /* Hatena.Star.AddButton */ Hatena.Star.AddButton = new Ten.Class({ base: ['Hatena.Star.Button'], initialize: function(entry) { this.entry = entry; this.lastPosition = null; var img = Hatena.Star.Button.createButton({ src: Hatena.Star.AddButton.ImgSrc, alt: 'Add Star' }); this.observer = new Ten.Observer(img,'onclick',this,'addStar'); this.img = img; return img; }, ImgSrc: Hatena.Star.BaseURL + 'images/add.gif' },{ addStar: function(e) { this.lastPosition = e.mousePosition(); var uri = Hatena.Star.BaseURL + 'star.add.json?uri=' + encodeURIComponent(this.entry.uri) + '&title=' + encodeURIComponent(this.entry.title); if (Hatena.Star.Token) { uri += '&token=' + Hatena.Star.Token; } new Ten.JSONP(uri, this, 'receiveResult'); }, receiveResult: function(args) { var name = args ? args.name : null; if (name) { this.entry.addStar(new Hatena.Star.Star({name: name})); //alert('Succeeded in Adding Star ' + args); } else if (args.errors) { var pos = this.lastPosition; pos.x -= 10; pos.y += 25; var scroll = Ten.Geometry.getScroll(); var scr = new Hatena.Star.AlertScreen(); var alert = args.errors[0]; scr.showAlert(alert, pos); } } }); /* Hatena.Star.CommentButton */ Hatena.Star.CommentButton = new Ten.Class({ base: ['Hatena.Star.Button'], initialize: function(entry) { this.entry = entry; this.lastPosition = null; var img = Hatena.Star.Button.createButton({ src: Hatena.Star.CommentButton.ImgSrc, alt: 'Comments' }); img.style.display = 'none'; this.observer = new Ten.Observer(img,'onclick',this,'showComments'); this.img = img; }, ImgSrc: Hatena.Star.BaseURL + 'images/comment.gif', ImgSrcActive: Hatena.Star.BaseURL + 'images/comment_active.gif' },{ showComments: function(e) { if (!this.screen) this.screen = new Hatena.Star.CommentScreen(); this.screen.bindEntry(this.entry); var pos = e.mousePosition(); pos.y += 25; this.screen.showComments(this.entry, pos); }, hide: function() { this.img.style.display = 'none'; }, show: function() { this.img.style.display = 'inline'; }, activate: function() { this.show(); this.img.src = Hatena.Star.CommentButton.ImgSrcActive; } }); /* Hatena.Star.Star */ Hatena.Star.Star = new Ten.Class({ initialize: function(args) { if (args.img) { this.img = args.img; this.name = this.img.getAttribute('alt'); } else { this.name = args.name; var img = document.createElement('img'); img.src = Hatena.Star.Star.ImgSrc; img.alt = this.name; with (img.style) { padding = '0'; border = 'none'; } this.img = img; } new Ten.Observer(this.img,'onmouseover',this,'showName'); new Ten.Observer(this.img,'onmouseout',this,'hideName'); if (this.name) { this.user = new Hatena.Star.User(this.name); this.img.style.cursor = 'pointer'; new Ten.Observer(this.img,'onclick',this,'goToUserPage'); } if (args.count && args.count > 1) { var c = document.createElement('span'); c.setAttribute('class', 'hatena-star-inner-count'); Ten.Style.applyStyle(c, Hatena.Star.InnerCount.style); c.innerHTML = args.count; var s = document.createElement('span'); s.appendChild(img); s.appendChild(c); return s; } else { return this.img; } }, ImgSrc: Hatena.Star.BaseURL + 'images/star.gif' },{ showName: function(e) { if (!this.screen) this.screen = new Hatena.Star.NameScreen(); var pos = e.mousePosition(); pos.x += 10; pos.y += 25; this.screen.showName(this.name, pos); }, hideName: function() { if (!this.screen) return; this.screen.hide(); }, goToUserPage: function() { window.location = this.user.userPage(); } }); /* Hatena.Star.InnerCount */ Hatena.Star.InnerCount = new Ten.Class({ initialize: function(count, e) { this.count = count; this.entry = e; var c = document.createElement('span'); c.setAttribute('class', 'hatena-star-inner-count'); Ten.Style.applyStyle(c, Hatena.Star.InnerCount.style); c.style.cursor = 'pointer'; c.innerHTML = count; new Ten.Observer(c,'onclick',this,'showInnerStars'); this.container = c; return c; }, style: { color: '#f4b128', fontWeight: 'bold', fontSize: '80%', fontFamily: '"arial", sans-serif', margin: '0 2px' } },{ showInnerStars: function() { var url = Hatena.Star.BaseURL + 'entry.json?uri=' + encodeURIComponent(this.entry.uri); new Ten.JSONP(url, this, 'receiveStarEntry'); }, receiveStarEntry: function(res) { var se = res.entries[0]; var e = this.entry; if (encodeURIComponent(se.uri) != encodeURIComponent(e.uri)) return; e.flushStars(); e.bindStarEntry(se); e.addAddButton(); e.showStars(); } }); /* Hatena.Star.Comment */ Hatena.Star.Comment = new Ten.Class({ initialize: function(args) { this.name = args.name; this.body = args.body; } },{ asElement: function() { var div = document.createElement('div'); with (div.style) { margin = '0px 0'; padding = '5px 0'; borderBottom = '1px solid #ddd'; } var ico = Hatena.User.getProfileIcon(this.name); div.appendChild(ico); var span = document.createElement('span'); with(span.style) { fontSize = '90%'; } span.innerHTML = this.body; div.appendChild(span); return div; } }); /* Hatena.Star.NameScreen */ Hatena.Star.NameScreen = new Ten.Class({ base: [Ten.SubWindow], style: { padding: '2px', textAlign: 'center' }, containerStyle: { margin: 0, padding: 0 }, handleStyle: null, showScreen: false, closeButton: null, draggable: false },{ showName: function(name, pos) { this.container.innerHTML = ''; this.container.appendChild(Hatena.User.getProfileIcon(name)); this.container.appendChild(document.createTextNode(name)); this.show(pos); } }); /* Hatena.Star.AlertScreen */ Hatena.Star.AlertScreen = new Ten.Class({ base: [Ten.SubWindow], style: { padding: '2px', textAlign: 'center', borderRadius: '6px', MozBorderRadius: '6px', width: '240px', height: '120px' }, handleStyle: { position: 'absolute', top: '0px', left: '0px', backgroundColor: '#f3f3f3', borderBottom: '1px solid #bbb', width: '100%', height: '30px', borderRadius: '6px 6px 0 0', MozBorderRadius: '6px 6px 0 0' } },{ showAlert: function(msg, pos) { this.container.innerHTML = msg; var win = Ten.Geometry.getWindowSize(); var scr = Ten.Geometry.getScroll(); var w = parseInt(this.constructor.style.width) + 20; if (pos.x + w > scr.x + win.w) pos.x = win.w + scr.x - w; this.show(pos); } }); /* Hatena.Star.CommentScreen */ Hatena.Star.CommentScreen = new Ten.Class({ base: [Ten.SubWindow], initialize: function() { var self = this.constructor.SUPER.call(this); if (!self.commentsContainer) self.addCommentsContainer(); return self; }, style: { width: '280px', height: '280px', overflowY: 'auto', padding: '2px', textAlign: 'center', borderRadius: '6px', MozBorderRadius: '6px' }, handleStyle: { position: 'absolute', top: '0px', left: '0px', backgroundColor: '#f3f3f3', borderBottom: '1px solid #bbb', width: '100%', height: '30px', borderRadius: '6px 6px 0 0', MozBorderRadius: '6px 6px 0 0' }, containerStyle: { margin: '32px 0 0 0', textAlign: 'left', padding: '0 10px' }, getLoadImage: function() { var img = document.createElement('img'); img.src = Hatena.Star.BaseURL + 'images/load.gif'; img.setAttribute('alt', 'Loading'); with (img.style) { verticalAlign = 'middle'; margin = '0 2px'; } return img; } },{ addCommentsContainer: function() { var div = document.createElement('div'); with (div.style) { marginTop = '-3px'; } this.container.appendChild(div); this.commentsContainer = div; }, showComments: function(e, pos) { var comments = e.comments; if (!comments) comments = []; this.commentsContainer.innerHTML = ''; for (var i=0; i<comments.length; i++) { this.commentsContainer.appendChild(comments[i].asElement()); } if (e.starEntry && !e.can_comment) { this.hideCommentForm(); } else { this.addCommentForm(); } var win = Ten.Geometry.getWindowSize(); var scr = Ten.Geometry.getScroll(); var w = parseInt(this.constructor.style.width) + 20; if (pos.x + w > scr.x + win.w) pos.x = win.w + scr.x - w; this.show(pos); }, bindEntry: function(e) { this.entry = e; }, sendComment: function(e) { if (!e.isKey('enter')) return; var body = this.commentInput.value; if (!body) return; this.commentInput.disabled = 'true'; this.showLoadImage(); var url = Hatena.Star.BaseURL + 'comment.add.json?body=' + encodeURIComponent(body) + '&uri=' + encodeURIComponent(this.entry.uri) + '&title=' + encodeURIComponent(this.entry.title); new Ten.JSONP(url, this, 'receiveResult'); }, receiveResult: function(args) { if (!args.name || !args.body) return; this.commentInput.value = ''; this.commentInput.disabled = ''; this.hideLoadImage(); var com = new Hatena.Star.Comment(args); this.entry.addComment(com); this.commentsContainer.appendChild(com.asElement()); }, showLoadImage: function() { if (!this.loadImage) return; this.loadImage.style.display = 'inline'; }, hideLoadImage: function() { if (!this.loadImage) return; this.loadImage.style.display = 'none'; }, hideCommentForm: function() { if (!this.commentForm) return; this.commentForm.style.display = 'none'; }, addCommentForm: function() { if (this.commentForm) { this.commentForm.style.display = 'block'; return; } var form = document.createElement('div'); this.container.appendChild(form); this.commentForm = form; with (form.style) { margin = '0px 0'; padding = '5px 0'; // borderTop = '1px solid #ddd'; } //if (Hatena.Visitor) { // form.appendChild(Hatena.Visitor.profileIcon()); //} else { // form.appendChild(Hatena.User.getProfileIcon()); //} var input = document.createElement('input'); input.type = 'text'; with (input.style) { width = '215px'; border = '1px solid #bbb'; padding = '3px'; } form.appendChild(input); this.commentInput = input; var img = this.constructor.getLoadImage(); this.loadImage = img; this.hideLoadImage(); form.appendChild(img); new Ten.Observer(input,'onkeypress',this,'sendComment'); } }); /* Hatena.Star.EntryLoader */ Hatena.Star.EntryLoader = new Ten.Class({ initialize: function() { var entries = Hatena.Star.EntryLoader.loadEntries(); this.entries = []; for (var i = 0; i < entries.length; i++) { var e = new Hatena.Star.Entry(entries[i]); e.showButtons(); this.entries.push(e); } this.getStarEntries(); }, createStarContainer: function() { var sc = document.createElement('span'); sc.setAttribute('class', 'hatena-star-star-container'); sc.style.marginLeft = '1px'; return sc; }, createCommentContainer: function() { var cc = document.createElement('span'); cc.setAttribute('class', 'hatena-star-comment-container'); cc.style.marginLeft = '1px'; return cc; }, scrapeTitle: function(node) { var rval = []; (function (node) { if (node.tagName == 'SPAN' && (node.className == 'sanchor' || node.className == 'timestamp')) { return; } else if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) { return; } var cn = node.childNodes; if (cn) { for (var i = 0; i < cn.length; i++) { arguments.callee.call(this, cn[i]); } } var nodeValue = node.nodeValue; if (typeof(nodeValue) == 'string') { rval.push(nodeValue); } })(node); return rval.join(''); }, headerTagAndClassName: ['h3',null], getHeaders: function() { var t = Hatena.Star.EntryLoader.headerTagAndClassName; return Ten.DOM.getElementsByTagAndClassName(t[0],t[1],document); }, loadEntries: function() { var entries = []; //var headers = document.getElementsByTagName('h3'); var c = Hatena.Star.EntryLoader; var headers = c.getHeaders(); for (var i = 0; i < headers.length; i++) { var header = headers[i]; var a = header.getElementsByTagName('a')[0]; if (!a) continue; var uri = a.href; var title = ''; // Ten.DOM.removeEmptyTextNodes(header); var cns = header.childNodes; title = c.scrapeTitle(header); var cc = c.createCommentContainer(); header.appendChild(cc); var sc = c.createStarContainer(); header.appendChild(sc); entries.push({ uri: uri, title: title, star_container: sc, comment_container: cc }); } return entries; } },{ getStarEntries: function() { var url = Hatena.Star.BaseURL + 'entries.json?'; for (var i = 0; i < this.entries.length; i++) { if (url.length > Ten.JSONP.MaxBytes) { new Ten.JSONP(url, this, 'receiveStarEntries'); url = Hatena.Star.BaseURL + 'entries.json?'; } url += 'uri=' + encodeURIComponent(this.entries[i].uri) + '&'; } new Ten.JSONP(url, this, 'receiveStarEntries'); }, receiveStarEntries: function(res) { var entries = res.entries; if (!entries) entries = []; for (var i = 0; i < this.entries.length; i++) { var e = this.entries[i]; for (var j = 0; j < entries.length; j++) { var se = entries[j]; if (!se.uri) continue; if (encodeURIComponent(se.uri) == encodeURIComponent(e.uri)) { e.bindStarEntry(se); entries.splice(j,1); break; } } if (typeof(e.can_comment) == 'undefined') { e.setCanComment(res.can_comment); } e.showStars(); e.showCommentButton(); } } }); /* Hatena.Star.WindowObserver */ Hatena.Star.WindowObserver = new Ten.Class({ initialize: funct
Googleの中の人たちが日本でテレビ局と交渉した翌日の出来事。
そんでYouTubeからメールが来てた。折角なんでここに置いておきますね。
差出人名義 <DMCA Complaints> copyright_counternotice@youtube.com
件名 Video Removed: Copyright Infringement
Dear Member:
This is to notify you that we have removed or disabled access to the following material as a result of a third-party notification by (某民放局), Inc. claiming that this material is infringing:
(クリップ名): http://www.youtube.com/watch?v=(クリップID)
Please Note: Repeat incidents of copyright infringement will result in the deletion of your account and all videos uploaded to that account. In order to avoid future strikes against your account, please delete any videos to which you do not own the rights, and refrain from uploading additional videos that infringe on the copyrights of others. For more information about YouTube's copyright policy, please read the Copyright Tips guide.
If you elect to send us a counter notice, to be effective it must be a written communication provided to our designated agent that includes substantially the following (please consult your legal counsel or see 17 U.S.C. Section 512(g)(3) to confirm these requirements):
A physical or electronic signature of the subscriber.
Identification of the material that has been removed or to which access has been disabled and the location at which the material appeared before it was removed or access to it was disabled.
A statement under penalty of perjury that the subscriber has a good faith belief that the material was removed or disabled as a result of mistake or misidentification of the material to be removed or disabled.
The subscriber's name, address, and telephone number, and a statement that the subscriber consents to the jurisdiction of Federal District Court for the judicial district in which the address is located, or if the subscriberis address is outside of the United States, for any judicial district in which the service provider may be found, and that the subscriber will accept service of process from the person who provided notification under subsection (c)(1)(C) or an agent of such person.
Such written notice should be sent to our designated agent as follows:
DMCA Complaints
YouTube, Inc.
1000 Cherry Ave.
Second Floor
Please note that under Section 512(f) of the Copyright Act, any person who knowingly materially misrepresents that material or activity was removed or disabled by mistake or misidentification may be subject to liability.
Sincerely,
YouTube, Inc.