それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

図書館サイトをダウンさせてしまった。。デバッグしたい!自治体はGPLでソフトウェアを納品させるべき

図書館のサイトをダウンさせた

f:id:takuya_1st:20160313041707j:plain

図書館の予約をしようと、ログインし検索しようとしました。

ログインパスワードが分からなかったので、新規登録で上書きしようとした。*1

新規登録で番号入力ミスを何度すると、サイトが丸ごとダウンした。

私の住所地の図書館のサイトをダウンさせてしまった。

簡単にダウンしすぎ・・・

再登録でダウン。

いつもは検索を何度かおこなったり、複数ページが出てきたら、まとめてタブで開いたり。

そんなことをしてると、サイト表示のレスポンスタイムがやばくなる。

怖い・・・怖いんですよ。岡崎市立図書館の1件があるから、怖くて仕方ない。

図書館のソースコードを改修したくなった。

検索レスポンスの遅さがいつも気になる。 検索キャッシュ掛けてない気がする。 セッション扱いがオカシイ。

公開情報*2で上書きで再登録が可能なのは、身近な悪意に脆弱過ぎませんか。

私達市民が、公共システムの不備に気付いても、どうすることも出来ません。バグ報告スレもありません。

図書館システムに不満があるから、公開して欲しいとう私的欲求ですが。

非公開で困るのは、図書館システムに限りません。マイナンバーのような生活安全の根幹に関わるシステムのソースコードが非公開な現状があります。、恐ろしい時代になったと思う。

だから、自治体にはソースコードを公開して欲しい。

自治体が図書館のソースコード適切に公開するためにはどうすればいいか考察してた。

図書館がどのように公開してくたら嬉しいか、考察した。

図書館がソースコードを公開するにはどうすればいいか考えた。

  • 公開する先
  • 最低限公開する必要があるもの
  • ライセンス
  • 公開の理由づけ。

図書館のソースコードを公開するとしたら

もしソースコードを公開するするとしたら、図書館に望むことは次の通り。

ライセンスはGPLgithub に公開して欲しいです。

また、ソースコードだけじゃなく、「蔵書一覧ファイル」も公開して欲しいです。

詳しく書いていきます。

何をどこに公開するべきか。

ソースコードgithub に公開して欲しい。

ソースコードと書誌(貸出状況)データベースをgithub に公開して欲しい。

ソースコードがあればバグやミスがわかるし、システム運営者を気軽に変えることも、ソースコードを修正すことが出来る。

蔵書目録も公開して欲しい

蔵書情報を公開して欲しいです。書誌詳細のMARCデータは不要です。ISBNがあれば十分です。

次の5項目を公開すれば十分です。

5項目とはISBN・貸出中・予約中・配架場所・図書分類コードです。たったこれだけでいいんです。

データ形式はテキストファイル・タブ区切り、文字コードUTF-8 BOM無しが適切です。

蔵書情報も公共財です。情報公開して欲しい。

なぜなら図書館は税で運営されているでしょう、だから蔵書情報一覧も公開対象の公文書(公共財)と考えて欲しい。*3

なんのための公開か

ライセンスをGPLで公開して欲しい

GPLはソフトウェアを公共財として扱うソフトウェアライセンスです。自治体向きなライセンスです。*4

地方自治体は、図書館のOPACソースコードを発注する際に、成果物すべてをGPLのライセンスで納品させてほしい。

GPLで納品できない業者は排除してもいいと思う。

すべては市民もボランティアで改修できるように。

ソースコードさえ公開してくれれば、市民もソースコードにコミット(寄与)します。バグを見つけたら修正パッチ送ります。自分たちの自治体サービスが向上する。喜んで協力する。

システム発注が適切に行われているか、ソフトウェア資産価値の判断に、市民が参加でき監視もできる様になります

いつの時点で、図書館は公開を検討するべきか。

発注時に「仕掛け」が必要。

いつまでもバグを抱えたまま運営されたらたまらない。

利用者が要望書いても「予算」の都合で対応できないと平然と言い訳する。それなら、私がパッチ書いてテストしておきます。

GPLはそれを可能にするソフトウェアライセンス体系です。

バグや機能不足を抱えたまま、次の予算要求まで待たされるのは切ないです。要望があってもベンダ依存があってシステム改修できない。担当者は歯がゆいことだと思います。小規模追加改修や運営団体交代業者を可能にするには発注時のGPLライセンス義務化だと思います。

公共事業の発注時に将来の公開を考慮した要件を書いてほしい。

自治体ICTを進めるために。調達要件を変える

GPLソースコードを納品させる。

GPL納品です。ただそれだけでいいんです。

システムの調達要件に、「GPLで全ソースコードを付けて納品をすること」と付記する。その1行を追加するだけでいいんです。。

ソースコード納品が、ICT推進スタート地点です。

IoTもWEBも全てソースコードがアレばこそなんです。

ソースコードGPLで納品させて欲しい。BSDライセンスでもapacheライセンスでもなく、GPLがベターです。

自治体は githubを図書館だと考えればいい。

今の世の中は、gitubがある。ITに不慣れな司書・役人のため、大胆な比喩をすれば「github は ソースコードの図書館」です。

つまり、githubに公開するとは、他市図書館への蔵書融通と同等だといえます。

さらにgithub図書館では、公開されたソースコードから有志が派生物を作り切磋琢磨しています。そこは「自然淘汰と生存競争」が激しい図書館です。市立図書館システムもgithub自然淘汰圧に晒し、生存競争をして進歩させてはどうでしょうか。市民サービス向上に繋がると思います。

図書館は「ソースコード」を蔵書目録に追加すると良い。

図書館は、システムのソースコードを<図書館蔵書>として扱えばどうでしょうか?

図書館は、書籍を購入し蔵書します。ソースも同じく蔵書扱いにすればイイ。つまり図書館は、システム購入時にそのソースコードも蔵書することが出来ます。。

こう考えれば図書購入もシステム発注も同様に扱えるでしょ?

ソースコードを蔵書しよう、そして公開を。ソースコードは閲覧可能にしよう。もっと光を!

なぜGPLを推すのか

GPLソースコード閲覧とソフト改修の自由の権利を守るものと考えて下さい。

GPLが大事にするものに閲覧権利の保証があります。「図書館の自由に関する宣言」と似ています。

図書館の自由に関する宣言について

図書館の自由に関する宣言wikipediaでみると次の通り。

第1 図書館は資料収集の自由を有する。
第2 図書館は資料提供の自由を有する。
第3 図書館は利用者の秘密を守る。
第4 図書館はすべての検閲に反対する。

GPLが守りたい自由について。

GPLを主催するFSFには次のような理念が書いてあります、

プログラムがどのように動作しているか研究し、必要に応じて改造する自由 (第一の自由)。
身近な人々を助けられるよう、コピーを再配布する自由 (第二の自由)。
プログラムを改良し、改良点を公開し、それによってコミュニティ全体が恩恵を受けられるようにする自由 (第三の自由)。
ソースコードへのアクセスは、この前提条件の一つです。

GPL図書館の自由に関する宣言も同じようなもの

大胆にいえば、GPLも図書館宣言も同じようなものです。

1つが、知る権利つまり知的欲求に対する保障。もう一つは、利用者の自由利用の保障。似ていませんか?

知的公共財の自由アクセスとして捉えれば、私が同じといった意図を分かっていただけたかと思います。

この一般市民の自由を守るという点において、GPLによるソースコードは管理は図書館(地方公共団体)にピッタリだと思います。

*5

ダウンさせた図書館さんすいませんでした。

岡崎市立図書館みたいに、通報&逮捕しないでくださいね。

かわりに、二度と同じようなことが起きないように、改修するから公開お願いします。



(了)






2016/03/14

書きなぐり文を体裁よく整えた。

2016/03/14 追記

FSFの自由ソフトウェア宣言を図書館宣言に似せて書けば、次のとおりだと思う。

第1 GPLはプログラムの動作研究の自由を守る 。
第2 GPLはプログラムの提供の自由を守る。
第3 GPLはプログラムの改良の自由を守る。
第4 GPLはソースコードの閲覧の自由を求め、検閲と秘匿に反対する。

似てると思うです。

似たようなこと考えてるんだ。

本の虫: アメリカ合衆国政府が公金を投じて開発されたソフトウェアは自由ソフトウェアにする法案を公開

日本も早く、自由ソフトウェアが普及して欲しい。

*1: この時点でセキュリティ的にアレコレやばげ、そこはおいておいて。

*2:図書カード番号+名前+電話番号

*3:個人的には、運用されているOSやサーバー・ソフトウェア・ミドルウェアの種類バージョンとセキュリティ対策の詳細も公開してしかるべきだと思う。入札や契約書だって公開請求されたら公開するわけだしさ。それに十分なセキュリティ対策をしていれば公開しても大丈夫だし。バージョン公開したら懸念があるようセキュリティ対策でないとの証明になる。ま、このへんはノウハウだから出せない部分が多いだろう。だから最低限は蔵書一覧と貸出予約状況一覧の公開。これが毎日更新されるだけでも十分なんだ。MARCや書誌情報は利用料と著作権あるから難しいし。だからISBNかNDL番号があるだけでいい。

*4:GPLってソースコード閲覧とソフト改修の自由の権利を守るためなの。閲覧権利の保証。ほら図書館の自由に関する宣言っぽいでしょ?ライセンスの細かい部分はそんなに単純ではないけれど、ここではGPLの理念の話をしてる。

*5:問題があるとすれば、いったん蔵書情報を公開してしまうと楽天ソフトバンクリクルートやCCCと言った情報会社が、広告表示や検索履歴収集コードとともに、ユーザ丸ごと自社サービス取込んでしまう懸念点が最大の問題かもしれない。