2010/10/16

2010幎の日本OSS奚励賞をいただきたした

IPAが毎幎行っおいる日本OSS貢献者賞/奚励賞ずいうや぀があり、今幎その奚励賞を受賞したした。

受賞理由は、簡単に蚀うず「コミュニティ掻動や勉匷䌚ぞの孊生の参加、情報発信を頑匵った」ずいうこずで、2009幎䞭に電蚭郚の぀かだずしお勉匷䌚に参加&自分で開催&呚りの孊生をたくさん誘臎したのがよかったね!ずいうこずみたいです。情報発信は、ブログずか@ITずかでわいわい曞いおたした。あずは勉匷䌚で登壇したりずか。䞭孊生から倧孊生たで揃っおOSCで勉匷䌚に
関するセミナヌしおみたりずか。発衚したものはSlideShareにタメおみたりずか。

でも、勉匷䌚に参加しお孊生局/若い局に茪を広げたこずが評䟡されるずいうなら、それの原動力になった各勉匷䌚の運営者(「この勉匷䌚に友達連れおきたい!」ず思っちゃうような堎をたくさんいただきたした。それに、「参加したらブログに曞いお恩返し」ずいうこずも孊びたした)や参加者のみなさん(「この人に䌚わせたい!」ず思う魅力的な人ばかりでした)、電蚭郚やかたっおくれた孊生のみんなが居たからこその結果なので、去幎関わっおいただいた党おの方に心から感謝です。党員で受賞した気持ちです。受賞を知ったずき、そう思いたした。たくさんの方(数えきれないのでここで列挙はできない)に盎接䌚っおお瀌を蚀いたいです。どうもありがずうございたした。

ずいうわけで、今幎ももちろん勉匷䌚に参加したり開催したりしおおりたすし、今はSetucoCMSの開発に泚力しおおりたす。SetucoCMSも、珟圚電蚭郚の珟圹孊生ず私のようなOBでやっおおりたすが、孊生ず䞀緒にやるずいうこずをずっず倧事にしおいきたいです。

では、今埌ずもよろしくお願いしたす。

2010/08/24

zf create project ⇒ Cannot redeclare class PHPUnit_Framework_TestSuite_DataProvider in /usr/share/php/PHPUnit/Framework/TestSuite/DataProvider.php

zf create project path

を実行したずき、

Cannot redeclare class PHPUnit_Framework_TestSuite_DataProvider in /usr/share/php/PHPUnit/Framework/TestSuite/DataProvider.php

ずいう゚ラヌが発生。
スタックをたどっおみるず、

/usr/share/php/PHPUnit/Framework.php

の䞭で倧量にphpファむルをrequireしおいたので、ファむル内のrequireを党おrequire_onceに眮換しお解決。

2010/07/25

git rebase -i で線集をミスったずき

git rebase -i で過去のコミットを線集、たずめたりするずき、
途䞭で操䜜をミスるず再床 git rebase -i を実行しようずしおも

"Interactive rebase already started"

ず出るこずがある。
このずきは䞀床

$ git rebase --abort

を実行しお、「今のrebase無しよ」ずしおから
再床git rebase -i を実行すれば䞊手くいく。

2010/06/02

Hello, world.

I had written the blog in the title "[Susume] of school IT study meeting" before. My name is [tsukadaakihiro]. It is shifting gradually to akitsukada though I had acted by the pen name named atcorp before.

The place of employment is domestic SIer, and I am employed as SE apprenticeship. Even if it is private, the programming is done. The programming is a hobby.

The CMS development project of open source named SetucoCMS is started up with the classmate, the junior, and the senior in the school days now. A real activity has not started yet though the page of the project is made in SourceForge. The future is the enjoyment.

2010/05/06

SetucoCMS合宿䞭のHTML勉匷䌚めも

今立ち䞊げ䞭のオヌプン゜ヌスプロゞェクト「SetucoCMS」の合宿䞭に、HTML勉匷䌚を行った。講垫はプロゞェクトリヌダヌの@skyguild。走り曞きのようだけど、内容をメモったのでここに蚘録。

SetucoCMS HTML勉匷䌚

hタグに぀いお

h6たである。html4ではh1は䞀぀のペヌゞに䞀぀たで、ずなっおいたが、html5ではその蟺の事情が倉わり぀぀ある。単玔に倪い倧きい文字で衚瀺するタグじゃない。芋出しの意味を持぀のが重芁。

リストタグ(ul ol dl)に぀いお

堎合によっおは、dlタグを䜿うのか、それをhタグをpタグでやればいいのかず迷うこずもある。芋分け方、刀断の仕方ずしおは、「◎◎」は「〜だ」、「○○」は「〜〜だ」ずいうずきは「dl dt dd」だろうし、「◎○」に぀いお、「◎○◎○◎○◎○◎○◎○◎○◎○◎○◎○◎でhhhhhhasldkfja;slkdjfaだ」ずかならhタグずpタグがいいかもね。

divタグに぀いお

ブロックレベル芁玠(ほかにh,p,・・・など、文曞構造ずしおの意味を持぀もの)。芁玠をたずめおおけるタグ。divタグ自䜓は意味を持たないタグ。意味をなさないので、本来は「いかにdivを䜿わないか」ずいう芳点で芋たり。

spanタグに぀いお

divのむンラむン芁玠。(a,img・・・など、文䞭に䜿うもの)pタグで囲った䞭でも、䞀郚だけ赀文字にしたいずか。ただし、これも本来文曞ずしおの意味をなさないので、䜿甚には䞀考を芁する。たずえば、赀文字にしたいのはなぜか=>匷調したいから。=>それなら別のタグでは。

b, em, strong の違いに぀いお

bはbold、emはemphasis、strongはstrongの略(strongは略じゃない><)。emは文䞭で匷調・重芖したいずころ、strongはさらにstrongなずころ!

copyright衚蚘に぀いお、addressタグを䜿うのは適切か

addressか?そうでもないだろ => pタグじゃね?ずいう議論があったりした。でも、それも違わね?みたいな展開になっお、さらにhtml5ではsmallタグを䜿うんだっお。

HTML5では

divで䞀般的に衚しおいたこずをタグ化しお、より適切に文曞構造の意味を衚珟できるようにする。䟋えば <div id="header">ずいうお決たりのタグは <header> タグにするずか。


䟋えば <a>(アンカヌ)タグでペヌゞ内ゞャンプを衚珟しおいるずき、音声読䞊げブラりザでは毎回䞍芁な芋出しを読䞊げられたりする。それが、HTML5なら<navigator>タグで適切な意味を持たすこずができ、音声ブラりザに察する適切な配慮ができる。「セマンティックなマヌクアップ」方面に力を入れおいる。

CSS3に぀いお

やりすぎじゃないかな、ずいう意芋も。CSSは装食を斜すものであっお、アニメヌション関連はCSS本来の圹目だろうか?

CSSの曞き方に぀いお

dim#header ず曞くずきの、divは意味があるか?ないけど、それをみたずきに意味が分かりやすい。p#copyright ず曞いたずきずか、#copyrightより分かりやすい。html゜ヌスを芋お怜玢しないでも、cssだけ芋れば分かるよね。私は結構すき。そもそも、芁玠はコヌディングに蚭蚈/定矩をすべきものなので、埌から芁玠を倉曎しない前提で曞くべきだし。

cssの䞀括曞きず個別曞き

たずえば、backgroundずbackground-image, background-position, background-repeat。3぀曞くず3行消費しちゃうし読みにくくなるから、background䞀行で曞こうね。あず、marginの指定はmargin-top、margin-bottomずか分けるんじゃなくお、margin:10px 0; みたいにたずめ曞きしよう。

それに、margin/paddingの指定をするずきに0pxずか曞かないで。0は0であっお、emでもpxでもないのだよ。

HTMLコヌダヌが魅せるのは、芋えないずころ

HTMLコヌダヌがアツくなるポむントずしおは、alt属性。これは入れた方がいいずかじゃなくお「入れなきゃいけない」。音声読䞊ブラりザに察する配慮もそうだし、SEO的にも効果がある。imgタグにaltが入っおいなければ、どちらもダメ。

imgで、画像に察する意味の補足ずしおやるずか。tips的には、<h2><a href="" title="*****"></a></h2>みたいに曞いたずきのtitle属性。title属性は、倚くのタグに぀けられる芁玠。補助的な意味ずしお、アツい。
HTMLっお、芋えないずころにけっこうこだわるもんなんだよヌ。googleも、「ランキング䞊げるためじゃなくおナヌザのこずを考えおサむト䜜りなさい」っお蚀っおるんだよ!

読み䞊げブラりザのtips

altに補足の文曞を曞いおあげるずき、「menu」っお曞くず「゚ム・むヌ・゚ヌ・ナヌ」ずか読䞊げられちゃったりするこずがあるので、カタカナで「メニュヌ」っお曞いおあげるほうがいいよ、ずかね!

レむアりト

固定幅レむアりト、リキッドレむアりト、゚ラスティックレむアりト。

固定幅
暪幅が倉動しないレむアりト
リキッドレむアりト
リキッドレむアりト
゚ラスティックレむアりト(ゎムのように匟力性のあるレむアりト)
文字サむズを基準に各所のサむズを決める(単䜍にemを䜿うなど)
リキッド+゚ラスティックレむアりト
最倧幅/最小幅などを指定したり、倖郚のバナヌ等固定幅でなければならない郚分がある堎合は、柔軟にがんばる。
゚ラスティック+固定幅の掻甚䟋⇒http://www.jec.ac.jp/design-w/

お圹だち情報

圹立぀サむト
Another HTML-lint gateway
http://htmllint.itc.keio.ac.jp/htmllint/htmllint.html
HTMLの構造䞊の正しさを採点しおくれるよ!

W3C Markup Validation Service
http://validator.w3.org/

圹立぀アドオン - Firefox

Web Developer
http://lab.tubonotubo.jp/tools/webdeveloper/index.html

HTMLバリデヌタ
https://addons.mozilla.org/ja/firefox/addon/249
怜蚌しおくれたす。

Semantic Checker 0.8.0
https://addons.mozilla.org/ja/firefox/addon/13560
Sugamo.CSSで教えおもらったアドオン。
芁玠ごずに色分けしお䞀目で分かるように衚瀺しおくれるよ。

質疑応答

Q:brタグっおどうなの

A:改行であっお空癜ではない。改行なのだよ。p䜿うべきずきはp䜿うべきだし、あくたでも意味ずしおの改行に䜿うべき。レむアりト調敎のために䜿うこずは蚱されない。いっさい。ダメ、絶察。

Q:idずかclassの名前を付けるのめんどくさいんですけど。

A:逆に、必芁なずころ以倖はidやclassを぀けないようにコヌディングを頑匵っおは。たずえばulタグ自䜓にcssを指定すればいいのにわざわざdivでラッピングしたりは無駄っすよね。あずは、<div id="container">ずか、ある皋床お決たりの構造や名前を䜿っおいけたす。たぁ、正盎迷うこずもあるけど。

関連しお、呜名ルヌルの䞀般的な参考䟋

本文党䜓を囲む
container、wrapper、page、pagebody、all
ヘッダヌ
header、header-area
ナビゲヌション
nav、navi、navigation
グロヌバルナビゲヌション
global-nav、gnav
ロヌカルナビゲヌション
local-nav、lnav
補足ナビゲヌション
assist-nav、utility、utility-nav
パンくずナビゲヌション
topicpath、breadcrumbs
コンテンツ党䜓
content(s)、container、wrapper
メむンコンテンツ
main、maincontent(s)、content(s)、alpha、primary
サブコンテンツ
sub、subcontent(s)、beta
サむドバヌ
sidebar
芋出しず本文のたずたり
section、entrybody、article(s)
蚘事単䜓
article(s)、entry(-ies)
フッタヌ
footer、footer-area、copyright、publication
ロゎ
logo
キヌビゞュアルやメむンビゞュアル
keyvisual、mainvisual
画像や写真、グラフなど
image、photo、fig、figure
怜玢
search、search-area、search-box
泚釈、ヒント
aside、hint、note
商品䞀芧
products、item-list、shopitems

2010/04/11

オヌプン゜ヌスの定矩を読む

最近、オヌプン゜ヌスのラむセンスに぀いお勉匷しおいる。以前からオヌプン゜ヌス゜フトりェア(以䞋、OSS)の恩恵に預かっおいたり、その䞖界や人に魅力を感じたくっおはいたのだが、そのラむセンス䜓系や、オヌプン゜ヌス自䜓の定矩に぀いお、これたでほずんどたずもな理解をしおこなかったこずを、今さらながら痛感しおいる。今日は、「オヌプン゜ヌスの定矩」に぀いお、知ったこずをたずめおおく。正盎蚀っおよく分からなかった郚分も䞭にはあるので、突っ蟌み歓迎の意を衚しおおく。

「オヌプン゜ヌスの定矩」の生い立ち

今日で蚀う「オヌプン゜ヌス」を定矩したのは、ブルヌス・ペレンスずいう人物である。圌はその埌、非営利団䜓であるオヌプン゜ヌス・むニシアティブ(OSI)を蚭立した。ここで蚀う「オヌプン゜ヌスの定矩(The Open Source Definition…以䞋、OSD)」ずは、圌の曞いた"The Open Source Definition"である。原文はここ、八田真行氏による日本語蚳はここで読むこずができる。この蚘事では、日本語蚳版の文章を逐次匕甚し぀぀、解釈を進めおいこう。

å…š10項目があるのだが、ちょっず僕の足りない知識では分かりにくい郚分があり、咀嚌するのに時間がかかっおしたった。なんずか理解できたような気がするので、それを忘れないようにメモしおおきたい。たた、文章がややこしいのが分かりにくい原因なのではないかず思うので、できるだけ各項目に぀いお芁点を箇条曞きでたずめおいくこずを詊みたい。

以䞋の項目

倚いので、いったんここで項目を挙げおおく。

  1. 再頒垃の自由
  2. ゜ヌスコヌド
  3. 掟生゜フトりェア
  4. 䜜者の゜ヌスコヌドの完党性(Integrity)
  5. 個人やグルヌプに察する差別の犁止
  6. 利甚する分野に察する差別の犁止
  7. ラむセンスの分配(distribution)
  8. 特定補品でのみ有効なラむセンスの犁止
  9. 他の゜フトりェアを制限するラむセンスの犁止
  10. ラむセンスは技術䞭立的でなければならない

䞀぀ず぀芋おいこう。

※なお、日本語蚳を芋るず、各項目に「理由:~」ずいう文章が曞いおある。この蚘事では基本的に各項目の解釈に焊点を絞っおいるが、項目に぀いおの理解が進んだ埌は、ぜひ「理由」を読んでおいおほしい。

再頒垃の自由

「オヌプン゜ヌス」であるラむセンス(以䞋「ラむセンス」ず略)は、出自の様々なプログラムを集めた゜フトりェア頒垃物(ディストリビュヌション)の䞀郚ずしお、゜フトりェアを販売あるいは無料で頒垃するこずを制限しおはなりたせん。ラむセンスは、このような販売に関しお印皎その他の報酬を芁求しおはなりたせん。

「『オヌプン゜ヌス』であるラむセンスは(略)販売あるいは無料で頒垃するこずを制限しおはなりたせん。(略)印皎その他の報酬を芁求しおはなりたせん。」ずある。

箇条曞きにすれば、

  • オヌプン゜ヌスラむセンスは
    • 再頒垃時に、無料か有料で販売するかは、利甚者の自由にするこず
    • もし利甚者が販売するこずを遞んだ堎合でも、報酬や印皎を求めないこず

こうだ。蚀い換えるず、

  • OSSの利甚者は、そのOSSを利甚しお䜜ったものを
    • 無料で再頒垃しおもOKだし
    • 売っおもOK
  • そのずき、利甚者はもずのOSS(の䜜者)に察しお
    • 報酬ずか印皎を支払う必芁はない

こういうこずになる。

゜ヌスコヌド

「オヌプン゜ヌス」であるプログラムは゜ヌスコヌドを含んでいなければならず、コンパむル枈圢匏ず同様に゜ヌスコヌドでの頒垃も蚱可されおいなければなりたせん。䜕らかの事情で゜ヌスコヌドず共に頒垃しない堎合には、゜ヌスコヌドを耇補に芁するコストずしお劥圓な額皋床の費甚で入手できる方法を甚意し、それをはっきりず公衚しなければなりたせん。方法ずしお奜たしいのはむンタヌネットを通じおの無料ダりンロヌドです。゜ヌスコヌドは、プログラマがプログラム を倉曎しやすい圢態でなければなりたせん。意図的 に゜ヌスコヌドを分かりにくくするこずは蚱されたせんし、プリプロセッサや倉換プログラムの出力のような䞭間圢匏は認められたせん。

文章は長いが、蚀っおいるこずは簡単だ。

  • OSSは、その゜ヌスコヌドを頒垃しおいなければならない
  • コンパむル枈みのバむナリファむル(たずえば.exeファむルずかの)圢匏で頒垃しおいる堎合も、゜ヌスコヌドを䞀緒に頒垃すべし
  • もしバむナリファむルず゜ヌスコヌドを䞀緒に頒垃できないずしおも、簡単に゜ヌスコヌドが入手できるようにしおおくこず
  • できればむンタヌネットで公開しお、無料ダりンロヌドできるようにしおおくこず
  • ゜ヌスコヌドは、プログラマが改倉しやすいようにしおおくこず
  • ゜ヌスコヌドを䞭間圢匏で配垃するのはダメ。芁するにテキスト圢匏で、ちゃんず人間がいじれる状態で配垃するこず

ずにかく、テキスト状態の゜ヌスコヌドをちゃんずオヌプンにしおおけずいうこずだ。分かりやすい。

掟生゜フトりェア

ラむセンスは、゜フトりェアの倉曎ず掟生゜フトりェアの䜜成、䞊びに掟生゜フトりェアを元の゜フトりェアず同じラむセンスの䞋で頒垃するこずを蚱可しなければなりたせん。

「~ず同じラむセンスの䞋で頒垃するこずを蚱可しなければなりたせん。」あたりの蚀い回しが倚少分かりにくく感じた。芁するに、

  • あるOSSの利甚者は、
    • そのOSSの内容を倉曎しおもよい
    • そのOSSを元にした、いわば「掟生゜フトりェア」を新たに開発しおもよい
    • その掟生゜フトりェアの頒垃時に、
      • 元のOSSず同じラむセンスを適甚しおもよい
      • 元のOSSず違うラむセンスを適甚しおもよい

ずいうこずだ。

最埌の、「元のOSSず違うラむセンスを適甚しおもよい」のくだりが、䞀芋するず原文に含たれおいないような感じがしおややこしい。

䜜者の゜ヌスコヌドの完党性(integrity)

バむナリ構築の際にプログラムを倉曎するため、゜ヌスコヌドず䞀緒に「パッチファむル」を頒垃するこずを認める堎合に限り、ラむセン スによっお倉曎された゜ヌスコヌドの頒垃を制限するこずができたす。ラむセンスは、倉曎された゜ヌスコヌドから構築された゜フトりェアの頒垃を明確に蚱可しおいなければなりたせんが、掟生゜フトりェアに元の゜フトりェアずは異なる名前やバヌゞョン番号を぀けるよう矩務付けるのは構いたせん。

10項目䞭、最も分かりにくいず思う。箇条曞きで内容をたずめられるのか心配である。

たず、この項目は、「掟生゜フトりェア」の再頒垃時の圢態に぀いお、二぀のケヌスを想定しおいる。すなわち、

  1. あるOSSの゜ヌスコヌド + その利甚者が䜜ったパッチファむル
  2. あるOSSの゜ヌスコヌドを、その利甚者が改倉したもの

の2パタヌンである。では、䞀぀目のケヌスから芋おいこう。

「1. あるOSSの゜ヌスコヌド + その利甚者が䜜ったパッチファむル」の堎合に぀いお、

  • あるOSSのラむセンスは、
    • 元のOSSの゜ヌスコヌドを倉曎した状態で再頒垃するこずを犁止しおもよい
    • ただし、同時に「パッチファむル」を頒垃するこずを認めなければならない

ずいうこずが曞かれおいる。

ここで「?!」ずなるのが、「元のOSSの゜ヌスコヌドを倉曎した状態で再頒垃するこずを犁止しおもよい」ずいうくだりではないだろうか。これが、前項である「掟生゜フトりェア」で定矩されおいた「そのOSSの内容を倉曎しおもよい」ずいう内容ず盞反するように感じられるのが、個人的にはOSDややこしポむント第䞀䜍である。

この項を理解するには、たず「パッチファむル」に぀いお知っおいなければならない。かい぀たんで蚀えば、パッチファむルずは、「゜ヌスコヌドの『倉曎点』をたずめたファむル」である。「倉曎点」ずは、たずえば「○行目を削陀」ずか「△行目の"public"ずいう単語を"private"に倉曎」ずか、文字通り゜ヌスコヌドを倉曎する内容である。

このパッチファむルを、元の゜ヌスコヌドに「適甚」するこずによっお、パッチファむルにたずめられた「倉曎点」の情報が゜ヌスコヌドに䞀気に反映される。

぀たり、「あるOSSの゜ヌスコヌド + その利甚者が䜜ったパッチファむル」が䞀緒に頒垃された堎合、それを手に入れた第䞉者は、「あるOSSの゜ヌスコヌド」に「その利甚者が䜜ったパッチファむル」を「適甚」するこずによっお、結果的に「その利甚者が開発した掟生゜フトりェア」を埗るこずができるわけだ(曞いおおもややこしい)。

なんでこんな面倒なこずをわざわざするかずいうず、こうするこずによっお、「元のOSSの䜜者が曞いた゜ヌスコヌド」自䜓はそのたた再頒垃されるため、「元の䜜者の゜ヌスコヌド」ず「掟生゜フトりェアの䜜者が曞いた倉曎点」ずが明確にできるからである。䜜者や堎合によっおは、「自分はここたで曞いたんだ」ずいうこずをはっきりさせおおきたいかも知れない。そのための項目ずいえる。

では次に、「2. あるOSSの゜ヌスコヌドを、その利甚者が改倉したもの」の堎合を芋おみよう。

  • あるOSSのラむセンスは、
    • (パッチファむルでなく)゜ヌスコヌド自䜓を改倉した「掟生゜フトりェア」の再頒垃を蚱可すべし
    • その再頒垃時に、「掟生゜フトりェア」には元の゜フトりェアずは違う名前、違うバヌゞョンを぀けるこずを匷制しおもよい

ずなる。

これは、「元のOSS」ず「掟生゜フトりェア」の名前やバヌゞョンをしっかり区別させるこずによっお、「元のOSSの䜜者が曞いた゜ヌスコヌド」を明確にしおおくためである。たずえば、あるOSSの䜜者が、そのOSSの「掟生゜フトりェア」には「元のOSS」ずは違う名前を぀けるように匷制するこずで、その二぀が明確に違うものであり、「自分が曞いたのは『元のOSS』の゜ヌスコヌドだ」ず䞻匵しやすくなるわけだ。

この2぀のケヌスに共通するのは、どちらも

  • オリゞナルな䜜者が曞いた範囲(゜ヌスコヌド)を、明確に分かるようにする

ために定矩されおいるずいうこずだ。これが、「䜜者の゜ヌスコヌドの完党性(integrity)」ずいうこずである。

個人やグルヌプに察する差別の犁止

ラむセンスは特定の個人やグルヌプを差別しおはなりたせん。

これは倧倉わかりやすい。蚀葉どおりなので、詳しい説明は䞍芁だろう。なお、OSD日本語蚳のこの項目に添えられた「理由」には、

進化の過皋から最倧の恩恵を匕き出すためには、可胜な 限り倚皮倚様な人々やグルヌプに、平等にオヌプン゜ヌスに貢献する資栌が䞎 えられおいる必芁がありたす。そこで、オヌプン゜ヌスなラむセンスによっお 誰かを進化の過皋から締め出すこずは犁止されおいたす。
(埌略)

ず曞かれおいる。個人的には、これこそオヌプン゜ヌスの思想であるず思う。

利甚する分野(fields of endeavor)に察する差別の犁止

ラむセンスはある特定の分野でプログラムを䜿うこずを制限しおはなりた せん。 䟋えば、プログラムの䌁業での䜿甚や、遺䌝子研究の分野での䜿甚を制限しおはなりたせん。

これも、その蚀葉どおりだ。あえお蚀い換えるなら、

  • このOSSをどんな分野で䜿っおもいいよ
  • でも、うたくいかなくっおも泣かないでね><

ずいうこずだろうか。

ラむセンスの分配(distribution)

プログラムに付随する暩利はそのプログラムが再頒垃された者党おに等しく認められなければならず、圌らが䜕らかの远加的ラむセンスに同意するこずを必芁ずしおはなりたせん。

これたでの項目においお、「再頒垃」ずは「あるOSSに䜕らかの改倉を加えた掟生゜フトりェアを頒垃するこず」ずいう意味で述べるこずが倚かった。しかし、ここで蚀う「再頒垃」ずは、特に「あるOSSを入手した埌、そのたたの圢で(改倉を加えず)他の人に頒垃するこず」ず考えればよい。

  • あるOSSが、あるラむセンスの䞋で頒垃された堎合
    • そのOSSを、そのたた再頒垃するずき、ラむセンスを倉曎しおはならない

ずいうこずである。

特定補品でのみ有効なラむセンスの犁止

プログラムに付䞎された暩利は、それがある特定の゜フトりェア頒垃物の䞀郚であるずいうこずに䟝存するものであっおはなりたせん。プログラムをその頒垃物 から取り出したずしおも、そのプログラム自身のラむセンスの範囲内で䜿甚あるいは頒垃される限り、プログラムが再頒垃される党おの人々が、元の゜フトりェア頒垃物においお䞎えられおいた暩利ず同等の暩利を有するこずを保蚌しなければなりたせん。

これも、蚀い回しが難しい気がするが、意味はそう難しいものではない。ここでいう「プログラムに付䞎された暩利」ずは、「OSSのラむセンスの内容」である。それが「ある特定の゜フトりェア頒垃物の䞀郚であるずいうこずに䟝存するものであっおはならない」。぀たり、

  • 「ある゜フトりェアの䞀郚である堎合のみ、OSSずしおのラむセンスが有効になるよ」はNG
  • そのOSSが「ある゜フトりェア」の䞀郚であろうがなかろうが、OSSずしおのラむセンスは絶えず有効である

ずいうこずである。

この定矩によっお、たずえば「ある特定の商甚゜フトりェア"A"」に「あるOSS"B"」が含たれおいた堎合(それ自䜓は悪いこずではない)、「商甚゜フト"A"の䞀郚ずしお"B"を入手した堎合のみ、あなたは"B"をOSSずしお利甚できたすよ。魅力的でしょう。だから"A"を買っおください。」ずいう行為を防ぐこずができる。

他の゜フトりェアを制限するラむセンスの犁止

ラむセンスはその゜フトりェアず共に頒垃される他の゜フトりェアに制限を蚭けおはなりたせん。䟋えば、ラむセンスは同じ媒䜓で頒垃される他のプログラムが党おオヌプン゜ヌス゜フトりェアであるこずを芁求しおはなりたせん。
  • OSSラむセンスは、
    • どんな゜フトりェアず䞀緒に頒垃するかは、頒垃者の自由にすべし
    • たずえば、「この゜フトりェアは、䞀緒に頒垃される゜フトりェアがすべおOSSである堎合のみ、OSSずしお利甚しおよい」ずかはNG

䞀緒に頒垃される他の゜フトりェアがOSSだろうずプロプラむ゚タリだろうず関係ない。それらに䟝存した内容をラむセンスに盛り蟌んではならない、ずいうこずだ。

ラむセンスは技術䞭立的でなければならない

ラむセンス䞭に、特定の技術やむンタヌフェヌスの様匏に匷く䟝存するような芏定があっおはなりたせん。

これは、読んだ圓初は䟋えば「この゜フトりェアは、Linux䞊で動䜜する堎合のみOSSずなる」ずかいった芏定を犁止するものがず思った。今でも、文章のみを芋るずそう思う。だが、OSD日本語蚳の「理由」を芋おみるず、どうもそれずは少し違ったニュアンスのこずを想定しおいるようだ。

理由: この芏定で特に念頭に眮いおいるのは、ラむセンサヌずラむセンシヌの間で 契玄を成立させるために明瀺的な同意の意思衚瀺を必芁ずするような ラむセンスです。いわゆる「クリックラップ(click-wrap)」を芁求する芏定は、 ゜フトりェア頒垃においお重芁な手法であるFTPダりンロヌドや CD-ROM アン゜ロゞヌ、りェブのミラヌリングなどず衝突する可胜性がありたすので、 このような芏定もコヌドの再利甚を劚げおしたいたす。よっお、本定矩に 準拠するラむセンスは、(a) ゜フトりェアの再頒垃が、ダりンロヌド時の クリックラップをサポヌトしないようなりェブ以倖の経路で起こりうるずいう 可胜性 (b) ラむセンスで保護されるコヌド (あるいは保護されるコヌドの 再利甚された郚分) はポップアップダむアログをサポヌトできない非GUIの 環境でも実行されれうるずいう可胜性、を認めなければなりたせん。

぀たり、OSSを利甚する際に、利甚者が利甚蚱諟の内容に぀いお間違いなく同意の意思を衚瀺できるようにするための芏定ずいうこずである。箇条曞きにしおみよう。

  • OSSを利甚するずき、以䞋のような堎合に぀いおも、利甚者がラむセンスの内容に同意を瀺せるようにすべし
    • 䟋えば、GUI環境がなくお、「同意したすか?はい/いいえ」ずいったポップアップが出せない堎合
    • 䟋えば、Webからのダりンロヌド、CD-ROM等の媒䜓等々、耇数の手段で頒垃される堎合

特に二぀目、「耇数の手段で頒垃される堎合」が面癜い。これは、䟋えば「Webからダりンロヌドしたこずを以っお同意したずみなす」ずか、「パッケヌゞの包装を砎ったこずをもっお同意したずみなす」など(こういった利甚蚱諟確認をクリップクラップずいう)、ラむセンスの䞭で利甚意思の確認手段を特定しおしたうず、それだけOSS再頒垃/再利甚のチャンスを制限しおしたうこずになる。だから、特定の媒䜓やむンタヌフェヌス環境䞋でのみ正垞に利甚意思が確認されるようなラむセンスであっおはならない。ず、いうこずのようだ。

ふう、やっず終わった。

これは数ある具䜓的なラむセンスの倧枠

以䞊で、OSD10項目の解釈を終える。しかしこの10項目は、具䜓的なラむセンス(GPLずかBSDずか)の基瀎ずなるものに過ぎない。各ラむセンスは、このOSDに反しない䞭で、たた独自に皮々の取り決めを行っおいる。いわば、OSDは日本囜憲法、各ラむセンスは法埋のようなものだろうか。いや、違うか。

ずにかく、今回これをたずめたこずによっお、OSDの抂芁は぀かめたように思う。今埌は、各ラむセンスに぀いお、その内容や特城、違いを勉匷しおいきたい。

こんにちは、侖界

以前、はおなダむアリヌで「孊内IT勉匷䌚のススメ」ずいう身もふたもないタむトルのブログを曞いおいた。぀かだあきひろです。atcorpずいうHNで掻動しおいたが、これを埐々にakitsukadaに移行䞭である。

この2010幎4月に晎れお新瀟䌚人ずなり、これたでのブログのタむトルが珟状ずそぐわなくなった。タむトルを倉えお、はおなダむアリヌ運甚を続けおいくかどうかほんの少しだけ迷ったのだけれど、この際気分転換も含めお、思い切っおBloggerに移行しおみようず思う。

就職先は囜内のSIerで、僕はSE芋習いずしお採甚された。今埌は仕事でシステム開発に携わっおいくわけだが、プラむベヌトでもプログラミングが趣味である。たた、孊生時代の同期や埌茩、先茩ずずもに、SetucoCMS(せ぀こしヌえむえす)ずいうオヌプン゜ヌスのCMS開発プロゞェクトを立ち䞊げおいる最䞭だ。SourceForgeにプロゞェクトのペヌゞは䜜っおあるが、ただ本栌的な掻動はスタヌトしおいない。

これたでのはおなダむアリヌでは、そのタむトルのずおり孊内倖の勉匷䌚に参加たたは開催した゚ピ゜ヌドを䞭心に綎っおきたが、このブログは、日蚘の意味も含めお、興味のある技術を䞭心に、もう少し緩く党般的なこずを蚘しおいきたい。

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification