InterBase World Interview

InterBase Wrold Interview and Review

本コーナーでは、PSネットワーク発行のDelphiマガジンにて連載中のInterBase World Interview and Review 掲載記事を、PSネットワーク様の承諾をいただいて公開いたします。
Marina Novikova氏 は ロシアの企業で英文翻訳とテクニカル・ライターをするかたわら、InterBase Worldの管理者をなさっています。Marina氏はInterBase Worldで、毎週のようにインタビューやレビューを更新されているのですが、このインタビューは、技術的なことやビジネスに関することだけでなく、各ゲストの人となりがよく現れていて、私はいつも楽しみにしています。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=92

JayBirdとShiftJIS データベース

JayBird と ShiftJIS データベース

[Firebird-jp-general][00960] ~が文字化ける

■環境
FrieBird1.5
JayBird1.0
Java1.4.2
上記の環境でDBから「~」の入った文字を取得すると
「?」と文字化けしています。
解決策はないのでしょうか
ちなみに、今までMYSQLを使用していたのですが文字化け
したことなかったので。。。
なお、DBもSJISでJDBCドライバロード時にSJIS指定しています。

[Firebird-jp-general][00967] Re: [00960] ~が文字化ける

環境は「クライアントがWindowsかどうか」も影響します。
Windows上でJavaアプリを作っているものと想定します。
JDBCドライバ中に isc_encodings.properties と言うファイルが
あります。(バージョンによって内容は違うかもしれませんが)該当
ファイル中に
| #Windows Japanese
| SJIS_0208       MS932
| 
| #Shift-JIS, Japanese
| SJIS_0208       SJIS
と言う記述があるので、下をコメントにしてもう一度jarファイルを
生成しなおしてください。
「FireBirdの SJIS_0208 は、Java の MS932」と言う関連付けを
しなければ、Windowsでは文字化けします。
(逆に、Windows以外では SJIS_0208 <-> SJISでないと駄目)
他のD/BのJDBCドライバでは普通クライアントコード側で指定できる
ものですが、JayBird(FirebirdSQL)はそうなっていないようです。
# ソースを見てないのでできるのかもしれませんが。
これによる弊害として、クライアントOSが不定となるAppletや
JavaWebStartで SJIS_0208が使用できない、と言うことがあげられます。

firebirdsql-full.jarの修正とテスト

早速、firebirdsql-full.jarを修正してみました。

>jar xf firebirdsql-full.jar
として、jarファイルを解凍します。isc_encodings.properties の該当箇所を編集後、
>jar cf firebirdsql-full-win.jar *
として、jarファイルを作成します。
次に、JayBirdのサンプルコードをばっさりと切り捨てながらシンプルなテストコードを作成。
(Example.java)
public class Example
{
  public static void main (String args[]) throws Exception
  {
    String databaseURL = "jdbc:firebirdsql:localhost/3050:d:/db/test.gdb?lc_ctype=SJIS_0208";
    String user = "sysdba";
    String password = "masterkey";
    try { 
      password = args[0];
    } catch (ArrayIndexOutOfBoundsException e) { 
      // At least an argument is needed
      System.out.println("Password is needed"); 
      System.out.println(e.getMessage()); 
      return; 
    }
    String driverName = "org.firebirdsql.jdbc.FBDriver";
    java.sql.Driver d = null;
    java.sql.Connection c = null;
    java.sql.Statement s = null;
    java.sql.ResultSet rs = null;
    try {
      try {
        Class.forName ("org.firebirdsql.jdbc.FBDriver");
      }
      catch (java.lang.ClassNotFoundException e) {
        // A call to Class.forName() forces us to consider this exception :-)...
        System.out.println ("Firebird JCA-JDBC driver not found in class path");
        System.out.println (e.getMessage ());
        return;
      }
      try {
        // We pass the entire database URL, but we could just pass "jdbc:interbase:"
        d = java.sql.DriverManager.getDriver (databaseURL);
        System.out.println ("Firebird JCA-JDBC driver version " +
                            d.getMajorVersion () +
                            "." +
                            d.getMinorVersion () +
                            " registered with driver manager.");
      }
      catch (java.sql.SQLException e) {
        System.out.println ("Unable to find Firebird JCA-JDBC driver among the registered drivers.");
        showSQLException (e);
        return;
      }
      try {
        c = java.sql.DriverManager.getConnection (databaseURL, user, password);
        System.out.println ("Connection established.");
      }
      catch (java.sql.SQLException e) {
        System.out.println ("Unable to establish a connection through the driver manager.");
        showSQLException (e);
        return;
      }
      // Let's disable the default autocommit so we can undo our changes later...
      try {
        c.setAutoCommit (false);
        System.out.println ("Auto-commit is disabled.");
      }
      catch (java.sql.SQLException e) {
        System.out.println ("Unable to disable autocommit.");
        showSQLException (e);
        return;
      }
      try {
        s = c.createStatement ();
        rs = s.executeQuery ("select name1 from t_japanese");
      }
      catch (java.sql.SQLException e) {
        System.out.println ("Unable to submit a static SQL query.");
        showSQLException (e);
        // We can't go much further without a result set, return...
        return;
      }
      try {
        java.sql.ResultSetMetaData rsMetaData = rs.getMetaData ();
        System.out.println ("The query executed has " +
                            rsMetaData.getColumnCount () +
                            " result columns.");
        System.out.println ("Here are the columns: ");
        for (int i = 1; i >= rsMetaData.getColumnCount (); i++) {
          System.out.println (rsMetaData.getColumnName (i) +
                              " of type " +
                              rsMetaData.getColumnTypeName (i));
        }
      }
      catch (java.sql.SQLException e) {
        System.out.println ("Unable to extract result set meta data.");
        showSQLException (e);
        // What the heck, who needs meta data anyway ;-(, let's continue on...
      }
      // Ok, lets step thru the results of the query...
      try {
        System.out.println ("t_japanese name1 is printed bellow...");
        while (rs.next ()) {
          System.out.println (rs.getString ("name1"));
        }
      }
      catch (java.sql.SQLException e) {
        System.out.println ("Unable to step thru results of query");
        showSQLException (e);
        return;
      }
    }
    // This finally clause will be executed even if "return" was called in case of any exceptions above.
    finally {
      System.out.println ("Closing database resources and rolling back any changes we made to the database.");
      // Now that we're all finished, let's release database resources.
      try { if (rs!=null) rs.close (); } catch (java.sql.SQLException e) { showSQLException (e); }
      try { if (s!=null) s.close (); } catch (java.sql.SQLException e) { showSQLException (e); }
      // Before we close the connection, let's rollback any changes we may have made.
      try { if (c!=null) c.rollback (); } catch (java.sql.SQLException e) { showSQLException (e); }
      try { if (c!=null) c.close (); } catch (java.sql.SQLException e) { showSQLException (e); }
    }
  }
  // Display an SQLException which has occured in this application.
  private static void showSQLException (java.sql.SQLException e)
  {
    // Notice that a SQLException is actually a chain of SQLExceptions,
    // let's not forget to print all of them...
    java.sql.SQLException next = e;
    while (next != null) {
      System.out.println (next.getMessage ());
      System.out.println ("Error Code: " + next.getErrorCode ());
      System.out.println ("SQL State: " + next.getSQLState ());
      next = next.getNextException ();
    }
  }
}

sdkのコンパイラでコンパイルして、実行。

>javac -classpath firebirdsql-full-win.jar Example.java
>java -classpath .;firebirdsql-full-win.jar Example hogehoge
Firebird JCA-JDBC driver version 0.1 registered with driver manager.
Connection established.
Auto-commit is disabled.
The query executed has 1 result columns.
Here are the columns:
NAME1 of type CHAR
t_japanese name1 is printed bellow...
ほげほげ
ぷー
それ~どうした
次に、オリジナルのjarファイルを指定して、実行してみます。

>java -classpath .;firebirdsql-full.jar Example hogehoge
Firebird JCA-JDBC driver version 0.1 registered with driver manager.
Connection established.
Auto-commit is disabled.
The query executed has 1 result columns.
Here are the columns:
NAME1 of type CHAR
t_japanese name1 is printed bellow…
ほげほげ
ぷー
それ?どうした

文字化けしていることが確認出来ました。

テストテーブルは、以下の通りです。

CREATE TABLE "T_JAPANESE" 
(
  "NAME1"  CHAR(10) CHARACTER SET SJIS_0208
)

旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=91

Interview with Mark O’Donohue on InterBase World

Interview with Mark O’Donohue
2003 / 2 / 17
2004 / 5 / 1 翻訳版 DelphiマガジンVol.34 掲載
Written by Marina Novikova
on InterBase World (URL http://www.interbase-world.com/)
翻訳:林 務(株式会社アペックス)

 本インタビューは、InterBase World のWebサイトでMarina Novikova氏によって公開されたものを、Marina氏とMark氏の許可によって翻訳したものです。
 Mark O’Donohue氏はFirebirdSQL Foundationの初代総裁を務められています。FirebirdプロジェクトをHelen Borrie氏と協働して立ち上げるために尽力され、Helen氏と共にその名付け親ともなった方です。Mark氏は、インタビューの中でも語っておられるように、ユーザーとしての立場から、Firebirdの開発を支えておられます。裏方に徹して、開発者のために奔走される氏の働きに敬意を表します
 Marina Novikova氏はロシアの企業で英文翻訳とテクニカル・ライターをするかたわら、InterBase Worldの管理者をなさっています。Marina氏はInterBase Worldで、毎週のようにインタビューやレビューを更新されているのですが、このインタビューは、技術的なことやビジネスに関することだけでなく、各ゲストの人となりがよく現れていて、私はいつも楽しみにしています。


Marina Novikova:  ご自身のことをお聞きしてもよろしいですか。

Mark O’Donohue:  そうですね、全般的に言って、私自身はきわめて平均的な男性だと思います。40歳になりますが、妻がいて子供が3人います。最近、アデレードへ旅行をしてきたのですが、これはその時の写真です。Josie(10歳)、Jacob(7歳)、Fergus(4歳)、それから車を運転しているところです 。(妻の写真がありませんが、彼女はボーランド・カンファレンスに行きたいと言っていたので・・・:-)私は1980年からソフト書きの仕事をしていて、現在はLinux上でのJavaの仕事がメインとなっています。最近私たち(家族のことですが)はフィリップ島へ引っ越しました、私が働いているオーストラリアのメルボルンが一番近い都市なんですが、そこまで2時間くらいかかる所なんです。フィリップ島は素晴らしいところで、次の扉を開ける とその一端をご覧いただけます、とはいっても我が家はちょうど建て替え中なんですけどね。

Marina Novikova:  どんな趣味をお持ちですか?また、音楽はどんなものをお聴きになりますか?読書や映画ではどんなものがお好きですか?

Mark O’Donohue:  趣味から言うと、海で泳ぐこと、サーフィンをちょっとだけ、シュノーケーリング、ブギーボードやボート、島での生活のために欠かせないこと全て、読書やある種の古い車、などなど。 Caption: Adelaideでの結婚式に出席した時のMark、ちょっとビールを飲み過ぎたかな

音楽は、The Buggles, The GadFlys, Ichy & Scratchy, Miles Davis, The Bonzo Dog Doodah Band, Philip Glass, Gondwanaland, (誰かが Radiohead, Joy Divesion, the Clash のことは言ってたね)全てにおいてクリエイティブでちょっと変わったものが好きなんだ。

作家について、SFがとっても好きで、特に未来がどのようにして、どうなっているのかという事について新しいアイデアを持っているものが好きなので、Philip K Dick(大好きですね)、William Gibson, Joe Halderman, Iain M Banks, Brian M Stableford, それから、Stephen J Gould, Ritchard Rhodes 、それだけじゃなくてもっともっと沢山の作家達がいるんだけどね。

Marina Novikova:  ビールはお飲みになりますか?もしそうだったら、お好きな銘柄はなんでしょうか?

Mark O’Donohue:  このあたりの夏ってのはとにかく暑くてまいってしまうので、旨いビールは欠かせないね。最近のお気に入りは、NSWのHahn Premiumで、次に同じくらいお気に入りなのが SA産のCoopers Pale Aleだね。もっとも、昨日は(ここでのこれまでの最高気温44℃だったんだ)冷蔵庫にあるものなら何であれ、ありがたかったね。

Marina Novikova:  今までにもらったプレゼントで、一番ヘンだったものはなんでしょう?

Mark O’Donohue:  ファイルキャビネットなんだけど、妻からもらってね、そいつに何かがあるってわけじゃないんだけど、ただ、誕生日にそんなものをもらうなんて思いもよらないでしょう?

Marina Novikova:  これまでの人生で、最もエキサイトした日、あるいは、もっとも素晴らしいと思った日を覚えていらっしゃいますか。

Mark O’Donohue:  私のメモリはちょっと足りないので、難しい質問ですね。私にとってもっとも素晴らしい瞬間というのは子供達のことがほとんどなんです、子供達が生まれてからね。とてもシンプルなことばかりですが、一緒に自転車に乗ったり、一緒に散歩をしたり、難破船の残骸を見に行ったり、島を一周してみたり、そういったことがとても楽しいんです。[もっとも子供達のことは、また、とっても悪い出来事も多いのですがね、ま、それはまたの機会にお話ししましょう]

Marina Novikova:  どんなことがお嫌いですか。また、周囲の人々がどんなことをするとイライラしますか?

Mark O’Donohue:  私は物事をオープンに正直に行うたちなので、それは周囲の人々や顧客や消費者に対してなんですが、相手にも同じようにしてもらえると嬉しいですね。倫理学はビジネスにはなじまないという人々もいますが、百聞は一見にしかずですが、ある人がどう振る舞うかということは、その人がどういう人かと言うことを雄弁に物語ってくれます。そんなわけで、私は営業関係の人々や、役所の人々や、自己啓発野郎みたいな人たちのために時間を割くことはしないんです。

また、いらいらさせられるのは、作り笑いとか、おべんちゃら、そう、マクドナルドで経験するあれが典型ですがね。(このことで思い出すのは、マイクロソフトの社員や他の各種のカルトのメンバーといくつかの仕事をした時のことですね)

Marina Novikova:  自由になる時間がたくさんあったら、どんなことをしたいと思いますか?:)

Mark O’Donohue:  最近は自由になる時間なんてものはなかなかお目にかかれないんですが、この前は、読書をしましたね、それから私の博士号のための作業をして、その他の趣味の一つについてはさっき話したよね。

Marina Novikova:  あなたにとっての大きな夢というのは何でしょうか?

Mark O’Donohue:  Firebirdに関して言えば、OracleとMSSQLをノックアウトすることかな、パフォーマンス、スケーラビリティ、使い勝手のすべてにおいてね。

もっと現実的な夢と言うことだったら、Firebirdがオープンソースのプロジェクトとして長生きし続けること(出来るだけ長くね)、それから開発者たちが大変な努力を強いられなくても良くなること、かな。

Marina Novikova:  これまでにどんな国に行かれましたか。一番好きな国はどこですか。

Mark O’Donohue:  オーストラリアはくまなく旅行してまわってますね、、それからインドネシア、シンガポール、マレーシア、ニュージーランド、アメリカにも行きました。どこも素晴らしく、それぞれ独自の魅力がありました(マレーシアの食事とかね)。将来においては、中国へ行ってみたいですね、特別の魅力があるんだよねぇ、それから、また、ヨーロッパへもとっても行ってみたいですね、まだ行ったことがないんですよ。旅行はとても好きで、旅行によって新しい経験をするのが好きで、そこで出会う人々がとても好きなのです。でもね、新しいことがとてもいいなと感じるのと同じくらい、家に帰ってくるとやっぱりほっとするよねぇ。

Marina Novikova:  学歴についてお聞きしてもよろしいですか?

Mark O’Donohue:  大学でコンピューター・サイエンスの学位を取りました(途中まではメルボルン大学で、卒業は王立メルボルン工科大学でした)。コンピュータ関係の仕事をいろいろとやりながらだったので、勉強自体はほとんど片手間でした。随分前のことなんですが、私はコンパイラを専門に書いていて、Ada言語定義をパースするためのLR(1)パーサーを書きました(yacc が唯一のLALR(1)になったので仕事は打ち切られましたがね)

長いこと学問から離れていた後、非常勤で戻って、人工知能をやりました、それから歴史と科学哲学、最終的にはバイオテクノロジーで、博士号にたどり着きました(もう十年になりますが、いまだに非常勤です)-今でも私は注意力散漫なんですね。:-)

私が初めてInteBase(それとStarBase)に関わるようになったのは1990年頃でしたが、VAX/VMSとHP-UX上で稼働していました。我々はその時から数年間それをよく使っていました、OracleやVAX/RDBやその他のデータベースと比較してね、そう、それは宝石でした。

私がその会社を辞めてから、しばらく触ってなかったんですが、2000年の3月に博士号のプロジェクトのためにlinux上で稼働するデータベースが必要になったのでまた使い始めたというわけです。

Marina Novikova:  どうしてハイテク領域の仕事をしようと思ったのですか?

Mark O’Donohue:  大学にいた時のことですが、コンピューターと私はやけに馬があったんです。私はとてもラッキーだったので、技術的なことにすぐ飛びついて、(願わくは)現実のプロジェクトの中で現実世界の仕事にうまく適用して見せることができたんだ。私の仕事上の興味は、OOプログラミングに向かわせたんだけど、java、linux、暗号化、もっと最近のものでは、linuxのクラスタリングに行って、そして、またFirebirdに戻ってきたという訳なんだ。:-)

Marina Novikova:  最初に書いたプログラムはどんなものですか?

Mark O’Donohue:  私が最初に「実用的」なプログラムを書いたのは1979年のことです、パスカルでパンチカードに書いたものですが、自動的にキャラクターを演じるというもので、ロールプレイングゲームのためのものでした。SourceForgeのPCGenの統計から、多くの人がまだこうしたものに興味を持っていることがわかりますね。

Marina Novikova:  あなたのお言葉についてお聞きしたいのですが、「Firebird/InterBase/Yaffil へのロシアの影響、この全体的なmis-adventureの中で、重要な部分で競合しているか、ますます競合する可能性が高くなっている」と言われましたが、どういう意味なんでしょうか。

Mark O’Donohue:  mis-adventureについて。

過ぎ去ったことを協調したいわけではありませんが、このことについては真剣に考えています、つまり Firebird/InterBase/Yaffil のことについてですが、これはmis-adventureだと思うのです。あなただって、オープンソースのプロジェクトを始めようとしたら、わざわざ混乱したり愚かなやり方で始めようとはしないでしょう。ありがたいことに、なんとか落ち着いてきたので、2003年から2004年にかけてFirebirdがさらに前進することは間違いないと思っています。

ロシアの影響について。

Firebirdのユーザーとデベロッパーのコミュニティの両方に関して、とても強烈な国際的な代表者が存在します。しかしながら、多くの多国語間のやりとりは英語で行われてきました、そして言葉の問題は人々がコミュニティに参加するための大きな障壁になる可能性があります。幸運にも、プロジェクトが英語力が貧困でも何とかなるということがわかって(私自身の英語力は決して高くはありません)、いろんな言語のニュースリストやWebサイトがあって、それが言語の壁を乗り越える一助になっているんだなと考えています。しかし、私としては人々がFirebirdをその人自身のプロジェクトに使ってくれるように(私がそうしたようにね)なってくれるといいなと思っていて、しかも、そうしたことが彼らが英語のニュースリストに参加していなくても出来るようになっていないといけないと思うんです。そして、そうした人々はどんどん参加したり、Firebirdの将来についての決定を支援する権利を持っているんです。そう、私がそうであるようにね。大勢の人たちからの意見を聞くことはとても嬉しいことです。:-)

ロシア語圏の人々は、実際のところ、Firebirdの将来において大変力を発揮すると思います。いま、ロシアのFirebirdユーザーはすでに大勢いるわけですが、ここ2年くらいに間に、そういう風になってきて、Firebirdの開発者のかなりの部分がロシア人になっています(Yaffilについても同じ事が言えます)。私が言いたかったことは簡単なことなのですが、このことによって、ロシア語圏の人々は、Firebirdを利用したり開発したりすることが楽になっているんだろうなということなんです。

Marina Novikova:  ボーランドが手を引いた後、他の数名の開発者たちとFirebirdチームを結成して、コードを書き続けようと決めましたね。この決断についてどのようなお考えですか。

Mark O’Donohue:  とても多くの人々が頑張っていました、また、多くのものが失われました、InterBase6.0の中止が決定された時期(1999年の12月)とオープンソース製品としてのドアが開かれた時期(2000年の6月、Claudioの年表 を見てね)のことです、結局全てにおいて(全てというのは、その後も引き続いてボーランドにおいて決定されたことも含んでですが)実際に起きたことを通して信用は失墜してしまいました。

ボーランドとISCの取引が失敗に終わった時、沢山の苦悩だけが残りました、不信感と疑惑だけが周囲を漂っているような状況でした。私にとって、純粋にオープンソース・プロジェクトの観点からいって、オープンソース・プロジェクトを立ち上げることは、できれば政治的に中立などこかでというのがいい考えだと思いました。いくらか根回しをした後で、出来る限り多くの人たちとコンタクトを取って、それからHelen Borrieに助けられて、FirebirdプロジェクトをSourceForegeで立ち上げたのです。

個人的に言うと、私がこのプロジェクトに参加したのは、将来のソフトウェア業界でオープンソースが中心的な役割を果たすだろうと思ったからなのですが、90年代初期を通じて大好きになったデータベースのことだったからです(それに加えて、商用製品に対して、十分対抗しうるものでした)。これはチャンスだと思って、一部を担っていこうと思ったのです。

それからは、ほんのちょっとだけ時間を使って、我々がやっていることの全体像をつかもうとしています(このことが少しだけでも素晴らしいことだって事は約束しますよ)他のグループを見渡すと、例えば、学校の周りの親たち、スポーツクラブの人々、カーマニア、切手収集家、チェス指し、キルティング・サークル、等々ですが、純粋に収益を最大化しようと言う観点から見ると、多くのグループは実にセンスがない(もちろん自己啓発野郎を除いてね)。プロフェッショナルの組織でさえも、例えばパイロット、トラック運転手、農民、整備工、どれも製品や仕事に対する誇りについて純粋に関心をもつ傾向があります。誤解があってはいけませんが、対価を得ることは仕事の重要な一面です、しかしそれだけでなく、良い仕事をすることも大事なことです、あなたのまわりの人たちもみんなそうだと思いますが、それから我々のFirebirdの開発に参加して、作品を創り出したり、手を加えていくということも同じように大事なことなんです。

Firebirdプロジェクトでは、自分でこれが緊急だと考えたものをいつでもやってきました。最初は、コーディングから始めました(実際、私の唯一の成果は、10時間かけてlinux上でビルドするためのソースコードをリリースしたことなんですが)。しかし、ほんの些細なもののために毎晩、というか翌朝の5時まで作業を続けていて(現在も開発作業は、同じような状態で続けられているのですが)、もっと楽になるにはどうしたらいいかがわかりませんでした。私はFirebirdにとって最も緊急な仕事は何であるかということについて、安定したビジネス・モデルを作り上げること、より安全な財政的フレームワークを構築することだと感じていました、それがユーザーと開発者の双方のストレスを減じることにつながると思ったのです。今どうなっているでしょうか、たくさんのつまらない管理的仕事ばかりですが、使える時間を全部使ってFirebirdSQL Foundationの設立準備を進めています。

私もコードに戻って、より深刻な問題に取り組みたいと思っています。周りのみんなもよく知っていることだけど(ここから謙遜フィルタ無しね)私自身は素晴らしいアーキテクトでプログラマなんですよ。[Claudioに一度話したことがあるのを覚えています、このくそったれ に6ヶ月もくれれば、Jimの目を見開かせるような仕事をしてみせるよ、とね](さあ、謙遜フィルタを入れ直そう)しかし、私はまだ表面をなぞっているにすぎないと感じています。悲しいかな、私にはその時間がないのです(沢山の管理的な仕事がありすぎて、時間が足りません)しかし嬉しいことに、FFの援助によって可能になったことですが、また、我々が考えもしなかったことですが、他の誰かにそれをしてもらうことが出来るのです。

Marina Novikova:  Firebirdのコミュニティについてお話し頂けますか、あなたからみて2002年のパーソン of the yearはどなたでしょう?

Mark O’Donohue:  今年と言うことでは、Dmitry Yeamanovをノミネートしたいね、次点がNickolay Samofatovかな、それからErik Kunzeだね。開発はハードな仕事だし、時間がかかるので、昨年中は、彼らが我々のFirebirdコア・エンジンのプロジェクトに火をともし続けてくれたね。

もちろん、David Jencks、Roman Rokyytskyy、Blas Rodriguez のみんながJaybird(Firebirdのjava type4 ドライバ)で行ってきた大きな成功と、多くの作業も、賞賛されるべきものだよ。

もちろん、これは大変短いリストなので、大きな貢献をしてくれた人々が沢山抜けてしまっているけどね。

Marina Novikova:  ロシアからの参加者がみんな酔っぱらってしまったら、FBプロジェクトが止まってしまうかもと危惧することはありませんか?

Mark O’Donohue:  ああ、そんなことはもう起きているよ。今後も起きるだろうねぇ(笑)。

Marina Novikova:  Firebirdのソースコードのコメントで、一番おかしなものは何でしょう?

Mark O’Donohue:  お、そいつは意外だね。思い出すのが難しいが、いくつかあったな、あれは、そう、jrd/enc.cppだね。

* “DES will be Totally Insecure within Ten Years,” M.E. Hellman,
* IEEE Spectrum, vol. 16, pp. 32-39, July 1979.

あきらかに、コードは80年代初頭のものなんですが。2003年のインターネット環境という違った理由で意味が変わってしまったが、しかしそれも根拠となって、セキュリティ監査を導入することになりました。:-)

Marina Novikova:  Firebirdという名称は、誰がどのようにして考え出したのですか?

Mark O’Donohue:  Ann Harrisonが提案してきたんだ。私が最初に聞いたのは、Helen Borrieからだったんですけどね。実際は、他にも約1,000の候補があって、SourceForgeに登録する時にどれを使うかさっさと決めてしまわないといけなくて、Firebirdは響きが良かったので、Helenと私はそいつでいこうと決めたのです。

Marina Novikova:  Firebirdは最終的には成功すると考えていらっしゃいますか?また、それを成し遂げるために何をしたらよいとお考えですか?

Mark O’Donohue:  成功することね。私は、Firebirdは安定したプロジェクトになると信じています。

Firebirdは現状では、コア・エンジンの開発、テスト、ドキュメント作成に対して対価を支払えるようなビジネスモデルを必要としていて、もちろん製品は無料で提供し続けなくてはならないし、ソースコードはオープンでなくてはならないよね。

単純に言えば、どうやってお金を得るかなんだけど、Firebirdから利益を受けている人々からそれを得て、開発者に還元するようにしたいんです。オープンソースでないプロジェクトでは、営業マンが開発者と利用者の間でこのお金を生み出しているわけです(加えて委託手数料もね)。これを行うにあたって、委託手数料を無しにして、なんとかするというのはオープンソース・プロジェクト全てにとっての聖杯なんだけど、答えはまだ模索中というところだね。沢山のソリューションを試したんだよ、企業のスポンサード、ドキュメントの販売(CDとかTシャツとかマグカップとかもね)、サポート・サービスの販売、Web広告、特別な「エンタープライズ」バージョンの販売、アドオンの販売等々。原則として、より多くのユーザー層があることが、なにしろ製品は無料なので、まあ助けになるわけだ。

完全な答えが出ない間、FirebirdSQL Foundationがその方向を示す第一段階になっています。Foundationは信用メカニズムを提供しています、企業や個人がお互いに相手を信用していない場合でさえも、お金を集めて、Firebirdの開発活動のために配分することが出来ます。Foundationはまだ発展途上ですが、会員たちによって、すでに一定の成功を収めつつあります。

別のやり方で、もしこの問題に対する正しい答えを知っているのであれば、ぜひ教えて下さい。:-)

Marina Novikova:  お好きな食べ物は何でしょう?プログラミングの前とか、最中に、おなかが減った時どんなものを食べますか?

Mark O’Donohue:  おなかが減っている時にプログラミングをした方がいいようです。おなかが減っているということが、プログラミングの生産性を維持し続けるために働いているという、セオリーがあるんですよ。おいしいものを食べて、空腹感がどこかにいって、実際、うたた寝し始めちゃうんですよ(ワインのボトルがあったりすると、もうてきめんなんだけど)(笑)

Marina Novikova:  他のオープンソース・プロジェクトやFirebirdプロジェクトで、実際に、開発上で一番難しい部分というのはなんでしょうか?

Mark O’Donohue:  開発者が支払う代償です。

前にオープンソース・プロジェクトは100人が周りで見ていて、一人か二人の人が実際の仕事をしていると書かれているのを見かけたことがあります。いいソフトウェアを開発して、テストをするということは、とても大変な作業です、また、安定的に関わることが可能な時間が必要なのです。パートタイムでのプログラミングが、ボランティア・ベースで行われる場合、空いている時間によって制限を受けます、そしてそれを捻出するのはとても大変なことです。しかし、プログラミングは中毒性のものなので、Firebirdに関わった人々は例外なく、出来る限りの時間を捻出して作業を進めています、より多くの問題を解決し、よりよいものを作り出すためにはそれが必要なのです。幾人かは幸運にも、彼らの仕事がその作業を支援してくれています、しかし、より多くのコントリビュートをしている人々は、そうした作業によって相当の代償を払っていて、時間を失うと共に収入を得るための機会を失っているのです。作業自体はとても楽しいものかもしれません、でもみんな食っていかなくてはなりません、Firebirdから離れていってしまう人々が出始めました(ありがたいことに一時的ではあったのですが)、なぜかというと支払うものがとても大きいからです、にも関わらず得られるものはほとんどない。コミュニティの側から、我々は誰かが犠牲にならずに、このエネルギーをつなぎ止めるための方策を見つけ出さなくてはならないと感じたのです。

他にもFirebirdが楽しいという側面があります。

Firebirdには、慈悲深い独裁者はいません。

ほとんどのオープンソース・プロジェクトでは、アーキテクチャーの方向性を決定づけ、原則的にプロジェクトを動かしている数人の個人が存在しています。Firebirdにはそうした人はいません、ですので、10名を超える開発者がみんな自分のこととして開発を進めています。

個人的には、Firebirdにはアーキテクトが必要だと思っています、中も外も知り抜いた誰かが、プログラミングに深く関わって、最終的な設計に関する事柄での発言権を持つこと、方向性を決定し、ビジョンを持って、スムーズに、なめらかに、素早く、アーキテクチャー的に一貫性を持った製品として導いてくれるような人が必要なのです。我々は多くの候補者を持っていますが、みんなフルタイムで関わることが出来ない状態です、また、財政的にもプロジェクトはフルタイムのアーキテクトを支援出来ないのです、まだね。

驚くべき事に、リーダーもアーキテクトも無しに、Firebirdはここまでうまくやってきました、多くの前進があり、より組織化されつつあるように見えます。

FirebirdはDelphiで書かれるべきだった

Firebirdは長い間、強力なユーザー・コミュニティを持ってきました、多くの人々は他のボーランド製品への愛情(マゾヒスティックな愛情なんて言われているけどね)を通して、Firebirdを導入しています。もしFirebirdがDelphiで書かれていたのであれば、開発者は飛び込んできたでしょうね(我々の何人かはCを思い出すために、古い教科書を引っ張り出さなくてはなりませんでしたからね)。

Marina Novikova:  あなたはYaffil(またその他の同様のプロジェクト)に対してどのような態度をおとりですか? このような沢山のプロジェクトの立ち上げによって、初心者がデータベース・サーバーを選択することがより困難になるとお考えですか?

Mark O’Donohue:  私は、Yaffilの中にも、我々と同じものが多くあることを理解しています。我々と同様に、彼らも前へ進む道を探っているのです。彼らは、実際にwin32環境でうまいやり方を成し遂げています。彼らが、財政的にプロジェクトを続けていくための方策を必要としていることも理解できます、そして彼らが戻ってきて、我々と一緒にオープンソース・モデルの開発で、財政問題を解決する道を見つけることを望んでいます。

Marina Novikova:  InterBase Worldのコミュニティに一言お願い致します。

Mark O’Donohue:  オープンソースのFirebirdSQLプロジェクトで、みんなが食っていけるようになることを願っています。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/site_rsrc/images/92/interview_mark_odonohue.html

Create系SQL

Firebird SQL – CREATE系コマンド
 DDL(Data Definition Lnaguage)系コマンド=データ定義言語に含まれる、CREATE/ALTER/DROP等のコマンド群は、データベースの構造を定義するために使用されます。CREATE系コマンドは、各データベースオブジェクトを作成するために使用します。

旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=85

Embeded Server

横山昭義 / MooSoft さん

Firebird 日本ユーザー会総会で Embedded Server の事をお聞きして興味を持ち実験的に走らせて見ました。
あっけなく...走ります。(当たり前か)
手順は、README_embedded.txt に記載してある通りfbembed.dll を gds32.dll にリネームして
  c:my_appapp.exe
  c:my_appgds32.dll
  c:my_appib_util.dll
  c:my_appfirebird.conf
  c:my_appfirebird.msg
  c:my_appintlfbintl.dll
  c:my_appudffbudf.dll
のように配置すれば OK でした。

パス指定は c:appdatatest.fdb 又は ….appdatatest.fdbで OK。
因みに一般的な
myserver:d:appdatatest.fdb
192.168.0.200:d:appdatatest.fdb
は NG

複数のプロセスからのアクセスは出来ません。
やってみると<他のプロセスが使用中>と怒られます。

でもこれって使い方によっては結構使えそうな...


林務さん

 embedded サーバーは、発想が面白いので、いろいろと応用が利くかと思います。
 私も、こいつを使って、メーラーとか作れないかなぁ、などと思っております。


横山昭義 / MooSoft さん

確かに色々応用が利きそうな仕様ですね。
もう少し詳しく調べてみようと思います。
私の方は、すぐ思い付いたのが CD-ROM のカタログ、プレゼン用のアプリくらいです。
Google で “firebird Embedded Server” やると結構引っかかってきますね。
英語からっきし駄目なもので調べ甲斐がありそうです。


馬場 / Neo さん

 私は、これを使っての業務システムのパッケージの開発をやっています。
スタンドアロン版はEmbeddedでネットワーク対応版にするのもちょっとしたUpdaterを作ればお手軽、と考えています。
Embedded Server実現方法が非常におもしろいアイデアで色々応用が考えられそうですね。


横山昭義 / MooSoft さん

Embedded Server で業務システムのパッケージ開発をやっておられるのですか。
確かにスタンドアローンは Embedded 、ネットワーク対応は FireBird と言うのは少しの変更で対応できますね。
私はパッケージはやっていないので、業務システムのスタンドアローンは現在ありませんが、何か案件があれば使ってみても良いですね。
ばば@ねお さん のように実際にパッケージ開発されているのをお聞きするのは大変有益です。
DB システム変更、新規導入にはかなり神経質になります。
実稼動しているシステムの存在を知ると安心感が違います。
大変有益な情報ありがとうございました。


加藤大受さん

 InterBase 5で単体のLIBSと使い分けてパッケージを作られていた方が数多くおられました。
組込みだと、SQL-Anywhereが有名ですが、こちらの製品はライセンスによって使える機能が変わってきます。
たとえば、一番安いライセンスだとプロシージャもトリガーも利用できません。
そのため、使うライセンスを意識した構築が必要になるので開発工数が増えたり、ソースの一元管理が難しくなるなども問題があると思います。

今年度はユーザー会でも4回のセミナーの開催を予定していますので、こういった情報を伝えられたらと思います。
場所の問題とメンバーが集まれば大阪でセミナーをやりたいと思います。単に私が大阪に行く理由を探しているだけですが・・・・
関西方面の方も多数参加していますので、ぜひ実現したいですね。


横山昭義 / MooSoft さん

大阪でセミナー...大歓迎です。
大阪に限らず関西にどの位のメンバーが居られるのか把握できませんが参加者が集まればぜひ実現したいですね。
大阪セミナー実現に何かお手伝いできることがあれば喜んで協力します。

約1年前、初めて FirBird で納品したアプリケーションは
PIC(1チップマイコン)のボード -> RS-232C -> Windows + Delphi + FirBird でした。 組み込みの案件が発生した時に備えてその辺りの情報は是非欲しいですね。 FireBird、Embedded Server 組み込みのニーズは案外あるかもしれませんね。 今は FireBird、Embedded Server が余りその辺りの開発者に知られていないのかもしれません。 こんな事言ってる私も Embedded Server を知ったのは1週間前です。(ーー;)

馬場 / Neo さん
私も前回の準備会の打ち上げの時に三浦さんがお話ししているのを聞いて初めて知りました。
Embedded Serverに限らず、実際のビジネスでの実践的に利用方法をいろいろな方とお話しできれば非常に有益な情報が得られそうですね。
小さな所では2次会で盛り上がったテーブルの作り方しかり。

中川さん
 Eembedded Serverの話題が盛り上がっていたので、仕事の合間の気分転換に 
「README_embedded.txt」を訳してみました(README_embedded_JP.txt)。
拙い訳ですので、間違い等の修正をお願いします。

林務さん
 

セキュリティに関するところですが。 Since both the server and the client run in the same address space, the security becomes just an agreement between both sides which can beeasily compromised.
直訳的:サーバーとクライアントの両方は同一のアドレス空間で実行されるので、セキュリティは両者間で容易に妥協できる合意に達する。
ひとひねり:サーバーとクライアントの両方は同一のアドレス空間で実行されるので、セキュリティに関しては、サーバー側とクライアント側の両者の間で、妥協することができるのです。
みたいな感じですかね。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=83

プレスリリース

PDF版はこちらです

プレスリリース
報道関係者各位

                                                                                  2004/04/05
                                                                      Firebird日本ユーザー会
                                                                            https://firebird.gr.jp

      非営利・中立のユーザグループ『Firebird日本ユーザー会』発足のご案内
~日本でのFirebirdの普及・発展を主な目的とするユーザー会の設立により、Firebirdのさらなる浸透を促進~

私たち日本のFirebirdユーザ-有志は、平成15 年6 月10 日にFirebird 日本ユーザー会設立に向けた準備会合としてスタートアップ・グループを設立し、ユーザー会設立について議論を重ねてきました。また、Yahoo eGroups を利用したFirebirdユーザーとの技術交流の促進を目的としたメーリングリストの設置、Firebird日本ユーザー会スタートアップグループのWebサイトでの技術情報の公開を行ってまいりました。約10ヶ月のスタートアップ・グループメンバーを中心とする、ユーザー会の設立に向けての準備作業が終了し、2004年4月3日に行われた『Firebird日本ユーザー会 第1回総会』にて、設立に関する規約および細則、役員人事等がユーザー会会員によって承認され、ここに『Firebird日本ユーザー会』が正式に発足したことをお知らせいたします。

『Firebird日本ユーザー会』の初代理事長にはFirebirdに関する多数の書籍・記事の執筆およびユーザーとの対話を積極的に行っている加藤大受氏が就任し、加藤氏および役員メンバーが中心となって、日本でのFirebirdの浸透を促進していきます。また、日本においてFirebirdのさらなる普及を目指すため、Firebirdに関心を持つ、個人・非営利組織・企業の皆様方のご参加とご協力を頂きたいと思います。

Firebird は、米国Borland Software社のInterBase®から派生したオープンソースのリレーショナル・データベースで、Firebirdプロジェクトは、非営利の財団法人FirebirdSQL Foundation(http://www.firebirdsql.org/foundation/ :本部オーストラリア) を中心としたコミュニティによって支えられ、開発が進められている、「小さくてもキレのある」リレーショナル・データベースです。ヨーロッパ・ロシア・中南米を中心として、広範なユーザが商用・非商用で利用しています。ライセンス形態はMPL の改版であるIPL(InterBase Public License) に基づいています。また、初代InterBase®のアーキテクトであったJim Starkey氏も2004年2月よりFirebirdプロジェクトに参加し、商用製品に負けないオープンソースのリレーショナル・データベースとして、さらなる機能拡張および信頼性向上のためのメンテナンスが行われています。
本年2月21日は、コードベースをCからC++へ移行したバージョン1.5がリリースされました。また、大幅な機能拡張を目指したバージョン2.0の開発と、64ビットCPU対応版の開発が並行して進められています。64ビット版の開発は、Jim Starkey氏が中心になって行われています。

Firebird日本ユーザー会
      Webサイト:https://www.firebird.gr.jp/
      事務局:
  東京都世田谷区駒沢二丁目11番5号 駒沢ウノサワビル3F
       (株)アペックス
           Firebird日本ユーザー会事務局

      2004年度役員:
            理事長   加藤 大受
            副理事長  山田 健一
            理 事   武田 浩一
            同   えんどう やすゆき
            同   宮副 英治
            同       三浦 しゅう
            同   林 務
            監 事      近藤 貞夫

Firebirdユーザー会設立にあたり、以下の皆様方からお祝いのお言葉を頂いております(敬称は省略させて頂いております)。

『Please accept my heartfelt congratulations on the formation and initial public meeting of the Japanese Firebird Users Group. It has been nearly 20 years since I began the implementation of what is now Firebird. At the time, there was no possible way to envisage that the product I was starting would become a world-wide open source project with hundred of thousands of users and hundreds of developers representing every continent, save Antarctica, on earth. I wish your organization and members the best of success in your future endeavors.

Firebird日本ユーザー会の設立総会の開会に際して、心からのお祝いを申し上げます。私がFirebirdのインプリメントを始めてからすでに20年が経とうとしています。その当時、Firebirdがこのようなプロダクトになろうとは夢にも思いませんでした。いまや、世界的なオープンソース・プロジェクトとなり、数十万のユーザと数百の開発者が世界各地に、まあ南極大陸は別ですが、存在しています。皆さんのユーザー会と会員の方々の、今後の発展を心よりお祈りしております。』

                                                                        IBPhoenix Jim Starkey

『I want to congratulate you and your steering group for making the Firebird Japan User Association a reality.  I know it took a lot of organisation and hard work to get to the inaugural meeting.
My very best wishes to you, and to the fellow FirebirdSQL Foundation members involved and to all of your new committee and members.
May the Source be With You!
Kia ora!

ステアリング・グループの皆様が、Firebird日本ユーザー会を現実のものとしたことにお祝いを申し上げます。設立総会のために、多くの人手と大変な努力が払われたことと思われます。
皆さんと、またFirebirdSQL Foundationのメンバーでもある仲間たち、またユーザー会の理事会の皆様、会員になられる皆様の、ご多幸を心よりお祈りしております。
ソースの導きがあらんことを!
ごきげんよう!』

                                               FirebirdSQL Foundation Public Officer Helen Borrie

                                                                                        
『Congratulations on the founding of the JFUG.  May you live long and prosper!

Firebird日本ユーザー会の設立おめでとうございます。末永く活動を続けられ、発展されますよう。
皆様のご多幸をお祈りしております。』

                                                                      IBPhoenix Ann Harrison
                                                                                         

『I would like to greet all the attendees of the Japanese Firebird Users Group and say that you are doing really a great deal! Firebird is becoming more and more popular all over the world and this makes all of us feel united and happy. I do believe that this meeting will help many people to see the advantages of the great product Firebird and join our community at FirebirdSQL Foundation! All the best from InterBase World!
Marina Novikova

Firebird日本ユーザー会の参加者の皆様に歓迎の挨拶をお送りします。また、皆様の活動に敬意を表します。Firebirdは全世界においてますますポピュラーになってきておりますことは幸いであり、私たちの連帯の絆を感じさせます。この設立総会が多くの方々が素晴らしい製品であるFirebirdの先進性に触れる機会を作り出し、私たちのコミュニティであるFirebirdSQL Foundationに参加して下さることを信じております。InterBase Worldより』

                                                              InterBase World Marina Novikova
                                                                                         

『Firebird日本ユーザー会設立を心から祝福します。良質なオープンソースプロダクトの日本ユーザー会がまた一つ増えることは喜ばしい限りです。世界的なレベルでのオープンソース運動の高まりが伝えられていますが、今回のFirebird日本ユーザー会の設立により、日本でのオープンソース運動のさらなる興隆に繋がることを期待して、エールを送ります。』
                                                                          もじら組スタッフ一同
                                                                                         
『Firebird 日本ユーザー会の設立、おめでとうございます。
私たちのところに「Microsoft Accessの代替になるオープンソースソフトウェアはありませんか」と、よく質問が来ます。OpenOffice.orgにとって、これは重要なテーマですし、多くのユーザにとっても期待しているところでしょう。何より、統合オフィスソフトとリレーショナルデータベースは、連携してその真価を発揮すると思います。これを機会に、コミュニティ活動におていも連携していきましょう。
今後のご活躍とご発展を期待しております。』
                                                  OpenOffice.org日本ユーザー会 運営スタッフ一同
                                                                      http://ja.openoffice.org/

Firebird日本ユーザー会に関するお問い合わせ先
 <報道関係者様>
  Firebird日本ユーザー会広報担当のe-mailアドレスまでご連絡ください。
   e-mail: pr@firebird.gr.jp
      <一般の方>
                 Firebird 日本ユーザー会Webサイト(https://www.firebird.gr.jp/ )
                内のお問い合わせフォームにてお願いいたします。

 

 


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=81

活動記録

 過去の活動を記録として保管しています。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=78

理事会

Firebird日本ユーザー会
第六期(2008年10月1日から2009年9月30日) 理事会

理事長

木村 明治

副理事長

間宮 祥公

理事

加藤 大受

〃

保坂 茂樹

〃

大西 達也

〃

林 務

監事

近藤 貞夫


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=76

規約

PDF版はこちらです

Firebird日本ユーザー会規約

第1章総則

(名称)
第1条 本会は、Firebird日本ユーザー会という。
(事務所)
第2条 本会は、事務所を東京都世田谷区駒沢二丁目11番5号に置く。
(目的)
第3条 本会は、国内における情報技術産業に関わる人々のみならず広く一般市民に対して、オープンソースのリレーショナルデータベース・Firebirdの普及と発展に関する事業を行い、低コストで高機能なリレーショナルデータベースを提供することを持って情報化社会の発展に寄与することを目的とする。
(活動の種類)
第4条 本会は、前条の目的を達成するため、次の種類の活動を行う。
(1)Firebird及びミドルウェア、関連ツールなどの研究開発及び普及促進
(2)Fireibrdに関する情報の公開、海外情報の紹介
(3)会員相互および外部との技術的・人間的交流
(事業の種類)
第5条 本会は、第3条の目的を達成するため、次の事業を行う。
(1)Firebird関連技術に関する調査研究、情報収集、配布。
(2)Firebirdの研究会、講習会、インターネットホームページの開設。
(3)その他本会の目的を達成するために必要な事業。

 

第2章会員

(種別)
第6条 本会の会員は、次の2種とする。
(1)正会員本会の目的に賛同して入会した個人及び団体
(2)準会員本会の事業を賛助する為入会した個人又は団体
(入会)
第7条 会員の入会について、特に条件は定めない。
2 会員として入会しようとするものは、理事長が別に定める入会申込書により、理事長に申し込むものとする。
3 理事長は、前項の申し込みがあったとき、正当な理由がない限り、入会を認めなければならない。
4 理事長は、第2項のものの入会を認めないときは、速やかに、理由を付した書面をもって本人にその旨を通知しなければならない。
(入会金及び会費)
第8条 会員は、総会において別に定める入会金及び会費を納入しなければならない。
2 大学及び短期大学、大学校、専修学校、各種学校、高校、中学等の学生については会費を免除することが出来る。この場合、免除を受けようとするものは理事長が別に定める会費免除申請書により、理事長に申し込むものとする。
3 学生の範囲の詳細については、理事会にて定めることとする。
(会員の資格の喪失)
第9条 会員が次の各号の一に該当する場合には、その資格を喪失する。
(1) 退会届の提出をしたとき。
(2) 本人が死亡し、若しくは失そう宣告を受け、又は会員である団体が消滅
したとき。
(3) 継続して1年以上会費を滞納したとき。
(4) 除名されたとき。
(退会)
第10条 会員は、理事長が別に定める退会届を理事長に提出して、任意に退会することができる。
(除名)
第11条 会員が次の各号の一に該当する場合には、総会の議決により、これを除名することができる。
(1) この規約に違反したとき。
(2) 本会の名誉を傷つけ、又は目的に反する行為をしたとき。
2 前項の規定により会員を除名しようとする場合は、議決の前に当該会員に
弁明の機会を与えなければならない。
(拠出金品の不返還)
第12条 既に納入した入会金、会費その他の拠出金品は、返還しない。

 

第3章役員

(種別及び定数)
第13条 本会に、次の役員を置く。
(1) 理事3人以上~10人以内
(2) 監事1人以上
2 理事のうち1人を理事長、1人を副理事長とする。
(選任等)
第14条 理事及び監事は、総会において選任する。
2 理事長及び副理事長は、理事の互選とする。
3 役員のうちには、それぞれの役員について、その配偶者若しくは三親等以内の親族が1人を超えて含まれ、又は当該役員並びにその配偶者及び三親等以内の親族が役員の総数の3分の1を超えて含まれることになってはならない。
4 特定非営利活動促進法第20条各号のいずれかに該当する者は、本会の役員になることができない。
5 監事は、理事又は本会の職員を兼ねてはならない。
(職務)
第15条 理事長は、本会を代表し、その業務を総理する。
2 副理事長は、理事長を補佐し、理事長に事故があるとき又は理事長が欠けたときは、理事長があらかじめ指名した順序によって、その職務を代行する。
3 理事は、理事会を構成し、この規約の定め及び総会または理事会の議決に基づき、本会の業務を執行する。
4 監事は、次に掲げる職務を行う。
(1) 理事の業務執行の状況を監査すること。
(2) 本会の財産の状況を監査すること。
(3) 前2号の規定による監査の結果、本会の業務又は財産に関し不正の行為又は法令若しくは規約に違反する重大な事実があることを発見した場合には、これを総会又は所轄庁に報告すること。
(4) 前号の報告をするために必要がある場合には、総会を招集すること。
(5) 理事の業務執行の状況又は本会の財産の状況について、理事に意見を述べること。
(任期等)
第16条 役員の任期は、2年とする。ただし、再任を妨げない。
2 補欠のため、又は増員により就任した役員の任期は、それぞれの前任者又は現任者の任期の残存期間とする。
3 役員は、辞任又は任期満了後においても、後任者が就任するまでは、その職務を行わなければならない。
(欠員補充)
第17条 理事又は監事のうち、その定数の3分の1を超える者が欠けたときは、遅滞なくこれを補充しなければならない。
(解任)
第18条 役員が次の各号の一に該当する場合には、総会の議決により、これを解任することができる。
(1) 心身の故障のため、職務の遂行に堪えないと認められるとき。
(2) 職務上の義務違反その他役員としてふさわしくない行為があったとき。
2 前項の規定により役員を解任しようとする場合は、議決の前に当該役員に弁明の機会を与えなければならない。
(報酬等)
第19条 役員は、その総数の3分の1以下の範囲内で報酬を受けることができる。
2 役員には、その職務を執行するために要した費用を弁償することができる。
3 前2項に関し必要な事項は、総会の議決を経て、理事長が別に定める。

 

第4章会議


(種別)
第20条 本会の会議は、総会及び理事会の2種とする。
2 総会は、通常総会及び臨時総会とする。
(総会の構成)
第21条 総会は、正会員をもって構成する。
(総会の権能)
第22条 総会は、以下の事項について議決する。
(1) 規約の変更
(2) 解散及び合併
(3) 事業計画及び収支予算並びにその変更
(4) 事業報告及び収支決算
(5) 役員の選任又は解任、職務及び報酬
(6) 入会金及び会費の額
(7) 借入金(その事業年度内の収入をもって償還する短期借入金を除く。第49条において同じ)その他新たな義務の負担及び権利の放棄。
(8) 事務局の組織及び運営
(9) その他運営に関する重要事項
(総会の開催)
第23条 通常総会は、毎年1回開催する。
2 臨時総会は、次に掲げる場合に開催する。
(1) 理事会が必要と認め、招集の請求をしたとき。
(2) 正会員総数の5分の1以上から会議の目的を記載した書面により招集の請求があったとき。
(3) 監事が第15条第4項第4号の規定に基づいて招集するとき。
(総会の招集)
第24条 総会は、前条第2項第3号の場合を除いて、理事長が招集する。
2 理事長は、前条第2項第1号及び第2号の規定による請求があったときは、その日から30日以内に臨時総会を招集しなければならない。
3 総会を招集する場合には、会議の日時、場所、目的及び審議事項を記載した書面により、開催の日の少なくとも5日前までに通知しなければならない。
(総会の議長)
第25条 総会の議長は、その総会に出席した正会員の中から選出する。
(総会の定足数)
第26条 総会は、正会員総数の2分の1以上の出席がなければ開会することはできない。
(総会の議決)
第27条 総会における議決事項は、第2 4条第3項の規定によってあらかじめ通知した事項とする。
2 総会の議事は、この規約に規定するもののほか、出席した正会員の過半数をもって決し、可否同数のときは、議長の決するところによる。
(総会での表決権等)
第28条 各正会員の表決権は平等なものとする。
2 やむを得ない理由により総会に出席できない正会員は、あらかじめ通知された事項について、書面をもって表決し、又は他の正会員を代理人として表決を委任することができる。
3 前項の規定により表決した正会員は、前2条及び次条第1項の規定の適用については出席したものとみなす。
4 総会の議決について、特別の利害関係を有する正会員は、その議事の議決に加わることができない。
(総会の議事録)
第29条 総会の議事については、次の事項を記載した議事録を作成しなければならない。
(1) 日時及び場所
(2) 正会員総数及び出席者数(書面表決者又は表決委任者がある場合にあっては、その数を付記すること) 。
(3) 審議事項
(4) 議事の経過の概要及び議決の結果
(5) 議事録署名人の選任に関する事項
2 議事録には、議長及び総会において選任された議事録署名人2名が、記名押印又は署名しなければならない。
(理事会の構成)
第30条 理事会は、理事をもって構成する。
(理事会の権能)
第31条 理事会は、この規約に別に定める事項のほか、次の事項を議決する。
(1) 総会に付議すべき事項
(2) 総会の議決した事項の執行に関する事項
(3) その他総会の議決を要しない業務の執行に関する事項
(理事会の開催)
第32条 理事会は、次に掲げる場合に開催する。
(1) 理事長が必要と認めたとき。
(2) 理事総数の3分の2以上から理事会の目的である事項を記載した書面により招集の請求があったとき。
(理事会の招集)
第33条 理事会は、理事長が招集する。
2 理事長は、前条第2号の場合にはその日から14日以内に理事会を招集しなければならない。
3 理事会を招集するときは、会議の日時、場所、目的及び審議事項を記載した書面により、開催の日の少なくとも7日前までに通知しなければならない。
(理事会の議長)
第34条 理事会の議長は、理事長がこれにあたる。
(理事会の議決)
第35条 理事会における議決事項は、第33条第3項の規定によってあらかじめ通知した事項とする。
2 理事会の議事は、理事総数の過半数をもって決し、可否同数のときは、議長の決するところによる。
(理事会の表決権等)
第36条 各理事の表決権は、平等なるものとする。
2 やむを得ない理由のため理事会に出席できない理事は、あらかじめ通知された事項について書面をもって表決することができる。
3 前項の規定により表決した理事は、前条及び次条第1項の適用については、理事会に出席したものとみなす。
4 理事会の議決について、特別の利害関係を有する理事は、その議事の議決に加わることができない。
(理事会の議事録)
第37条 理事会の議事については、次の事項を記載した議事録を作成しなければならない。
(1) 日時及び場所
(2) 理事総数、出席者数及び出席者氏名(書面表決者にあっては、その旨を付記すること) 。
(3) 審議事項
(4) 議事の経過の概要及び議決の結果
(5) 議事録署名人の選任に関する事項
2 議事録には、議長及びその会議において選任された議事録署名人2人が記名押印又は署名しなければならない。

 

第5章資産

(構成)
第38条 本会の資産は、次の各号に掲げるものをもって構成する。
(1) 設立当初の財産目録に記載された資産
(2) 入会金及び会費
(3) 寄付金品
(4) 財産から生じる収入
(5) 事業に伴う収入
(6) その他の収入
第39条削除
(管理)
第40条 本会の資産は、理事長が管理し、その方法は、総会の議決を経て、理事長が別に定める。

 

第6章会計

(会計の原則)
第41条 本会の会計は、特定非営利活動促進法第27条各号に掲げる原則に従って行わなければならない。
第42条 削除
(事業年度)
第43条 本会の事業年度は、毎年4月1日に始まり、翌年3月31日に終わる。
(事業計画及び予算)
第44条 本会の事業計画及びこれに伴う収支予算は、毎事業年度ごとに理事長が作成し、総会の議決を経なければならない。
(暫定予算)
第45条 前条の規定にかかわらず、やむを得ない理由により予算が成立しないときは、理事長は、理事会の議決を経て、予算成立の日まで前事業年度の予算に準じ収入支出することができる。
2 前項の収入支出は、新たに成立した予算の収入支出とみなす。
(予備費)
第46条 予算超過又は予算外の支出に充てるため、予算中に予備費を設けることができる。
2 予備費を使用するときは、理事会の議決を経なければならない。
(予算の追加及び更正)
第47条 予算成立後にやむを得ない事由が生じたときは、総会の議決を経て、既定予算の追加又は更正をすることができる。
(事業報告及び決算)
第48条 本会の事業報告書、財産目録、貸借対照表及び収支計算書等決算に関する書類は、毎事業年度終了後、速やかに、理事長が作成し、監事の監査を受け、総会の議決を経なければならない。
2 決算上剰余金を生じたときは、次事業年度に繰り越すものとする。
(臨機の措置)
第49条 予算をもって定めるもののほか、借入金の借入れその他新たな義務の負担をし、又は権利の放棄をしようとするときは、総会の議決を経なければならない。
第7章規約の変更、解散及び合併
(規約の変更)
第50条 本会が規約を変更しようとするときは、総会に出席した正会員の4分の3以上の多数による議決を経なければならない。
(解散)
第51条 本会は、次に掲げる事由により解散する。
(1) 総会の決議
(2) 正会員の欠亡
(3) 合併
2 前項第1号の事由により本会が解散するときは、正会員総数の4分の3以
上の承諾を得なければならない。
(残余財産の帰属)
第52条 本会が解散(合併による解散を除く)したときに残存する財産は、特定非営利活動促進法第11条第3項に掲げる者のうち、同種の活動を行っている特定非営利活動法人又は公益法人に譲渡するものとする。
(合併)
第53条 本会が合併しようとするときは、総会において正会員総数の4分の3以上の
議決を経なければならない。

 

第8章公告の方法

(公告の方法)
第54条 本会の公告は、本会の掲示場に掲示する。

 

第9章事務局

(事務局の設置)
第55条 本会に、本会の事務を処理するため、事務局を設置する。
2 事務局には、事務局長及び必要な職員を置く。
(職員の任免)
第56条 事務局長及び職員の任免は、理事長が行う。
(組織及び運営)
第57条 事務局の組織及び運営に関し必要な事項は、総会の議決を経て、理事長が別に定める。

 

第10章雑則

(細則)
第58条この規約の施行について必要な細則は、理事会の議決を経て、理事長がこれを定める。

附則
1 この規約は、本会の成立の日から施行する。
2 本会の設立当初の役員は、別表のとおりとする。
3 本会の設立当初の役員の任期は、第16条第1項の規定にかかわらず、本会の成立の日から平成17年3月31日までとする。
4 本会の設立当初の事業年度は、第43条の規定にかかわらず、本会の成立の日から平成17年3月31日までとする。
5 本会の設立当初の事業計画及び収支予算は、第44条の規定にかかわらず、設立総会の定めるところによる。
6 本会の設立当初の入会金及び会費は、第8条の規定にかかわらず、次に掲げる額とする。
(1) 正会員個人年会費一口3,000円
団体年会費一口30,000円
(2) 準会員個人年会費一口無料

別表

設立当初の役員

役職名

氏名

理事長

加藤大受

副理事長

山田健一

理事

武田浩一

同

えんどうやすゆき

同

宮副英治

同

三浦しゅう

同

林務

監事

近藤貞夫


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=75

What’s new in Firebird v1.5

 

Back to Firebird Project HOME
この文書はFirebirdの1.0リリースに対してバージョン1.5で行われた最も重要な変更について示したものです。Firebird 1.0について詳しい方が対象となります。変更点と強化点の全てを記すと膨大なため、ここでは強調すべき点にとどめます。全ての変更点については、 Firebird 1.5のリリースノートをご覧下さい。(6言語のPDF File があります)

新しいコードベース

今回のリリースでは、オリジナルのCからC++への移植されたコードによってビルドされています、その作業は2000年に始められていました。広範囲にわたるコードのクリーンアップとバグ・フィックスが続けられてきました、並行して新規のメモリ管理と言語(訳注:SQL、API等)の拡張が行われました。

オプティマイザの強化

v.1.5の開発プロセスの間に、SQLクエリー・オプティマイザは検査され、いくつかの強化と修正が行われました。その結果、クエリーのスピードは30%から60%も向上しました。
 

新アーキテクチャー
New Architectures

Windowsプラットフォームに新しく2つの特筆すべき機能として、クラシックサーバとエンベディットサーバが追加されました。ここ8年間にわたって、Windowsではクラシックサーバが存在しませんでした。クラシックサーバによってマルチプロセッサを有効に活用できるので、Windows版スーパーサーバの制限を逃れることが出来ます。使い勝手の面では、Windows版クラシックサーバは実験的でしかありません。エンベディッド・サーバはDLLとして提供され、シングルクライアントとしてFirebirdスーパーサーバに接続する機能を包含しているので、スタンドアロンアプリケーションやブリーフケースアプリケーションを効果的に短期間に開発することが可能となります。
 

新しい言語フィーチャー

 SQL92準拠の、CASE、COALESCEそしてNULLIFを含むいくつかの重要な新しい言語フィーチュアが加わりました。これらやその他の新しい言語実装の構文に関しては、リリース・ノートの中の言語拡張の部分を参考にしてください。  

包括的トリガー

 今では1つのトリガによって、Before又はAfterトリガで、そのトリガ内で必要とするすべてのDMLアクションをカバーさせるために、条件付きのインサート/更新/削除アクションを書くことができます。 (訳注:for insert or updateのようなマルチトリガのことです)
 これは、1フェーズで複数のトリガを行うアビリティを損なわずに、トリガの作成や保守をいっそう容易にします。

 

データベース・エリアス

 新しいaliases.confファイルでは、データベース用のサーバー・サイド・エイリアスを指定することができます。したがって、クライアント側でデータベースの完全なパスを用意する必要はありません。
 クライアント・アプリケーションから新しい Server[/Port]:Alias構文 で接続することができます。 

 

Varcharのトリミング

Varchar型のデータは、実データ長+2byteの長さでright trimされて返されます。注意:クライアントがサーバにリクエストをする際にTrimが行われます、Firebird 1.5のクライアント(fbclient.dll 又は libfbclient.so)はTrimを行います、この場合接続先のサーバが1.5以前のバージョンであってもTrimは行われます。以前のバージョンのクライアントを利用する場合には、たとえ接続先が1.5以降のサーバであったとしても、Trimは行われません。
 

インデックス数の拡張

リリース1.0と1.5の両方で、テーブル毎に定義可能なインデックス数の最大値は64から256に拡張されています。

 

Execute Statement

このPSQLの拡張によって、適切な dynamic SQLを記述した文字列を実行することによって、あたかも登録済のDSQLであるかのように実行されます。トリガーとストアドプロシージャの中で利用可能です。(訳注:テーブル名等を動的に変更するトリガーやストアドプロシージャが、この機能によって可能になりました)

 

新しいコンテクスト変数

CURRENT_CONNECTIONとCURRENT_TRANSACTIONが追加されました:これらはInterger型の値を持ちます。システムによって決定され、アクティブな接続と現在のトランザクションに関する値を一つずつ返します。DSQLとPSQLで使用可能です。
 

名前付制約の強化

名前付参照整合性制約のインデックスは、今ではユーザー定義識別子で指定されるかもしれません。

警告:

このフィーチュアを利用する場合、データベースは(Firebird)v.1.0.xまたはInterBaseにダウングレード出来ないでしょう。

トランザクション・セーブ・ポイント

 SQL99準拠の新しいユーザー・セーブ・ポイント(別名:ネストしたトランザクション)は、トランザクションをロールバックすることなく、ビジネスロジックエラーを扱う便利な方法を提供します。 DSQLにおいてだけ有効です。

 

新しい設定ファイル

 いくつかのファイル名がこのリリースで変更されました。
新しい名称は、殆どの場合「FireBird」または「fb」のバリエーションを含みます。例えば、以前のgds32.dllは今はfbclient.dllと呼ばれます。
 それらの1つが現在firebird.confという名称で提供される拡張設定ファイルです。
 ファイアバード1.5は高められたセキュリティ設定と、いくつかの有効なチューニングオプションを、このファイルでの設定によって提供します。 

当時の外部画像の一部は取得できないため、表示していません。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=73