| Deutsch | English | Français | Nederlands | 日本語 | Svenska |
distributed.net クライアント ソース公開!
distributed.net のStatsサーバで使用されているSQL及び処理コードの大部分を公開開始しました! cvs.distributed.netでStatsのソース(及びその他のソース)が閲覧できます。
前回の更新から多くの変更が加えられていますが、最も大きな変化は、 MacOSのコードに Dan Oetting の最新版Altivecコアが加えられたことでしょう。 Happy compiling :)
- 以前のソースはアーカイブにあります(tar形式)。
distributed.netからリリースされているその他のプログラムに関するソース:
- distributed.net公式Win32用ロググラフ表示ユーティリティ"Log Visualizer" Version 1.3(26 KB) Win32 API Visual C++ ソースコード: (コンパイル済みのものはアドオンページにあります)
- distributed.net公式Win32用"MooSounds"ユーティリティ Version 1.0a(88 KB) Win32 MFC Visual C++ ソースコード (コンパイル済みのものはアドオンページにあります)
- 公式Javaベース"Log Visualizer" ソースコード Version 1.6(48 KB) (コンパイル済みバイナリ同梱)
上記のいくつか及びstatsのSQL/PHPコードは、http://cvs.distributed.net/からCVSフォーマットにて入手可能です。
ソースコードに関するFAQ:
このソースからdistributed.netクライアントを生成することは出来ますか?
いいえ。もしもソースにバッファ関係のルーチンが加わったとしても、 それらは実際のクライアントによって生成されるバッファとは互換性がありません。
ダウンロードをしてみたのですが、どうすればよいですか?
Unix系ユーザーの方は、「./configure list」と入力してみてください。 クライアントがサポートしている環境の一覧が表示されます。 もしもお使いのハードウェア・ソフトウェア環境が表示されなかった場合は、 設定スクリプトの書き方を参考に、自分で設定してください。 そう難しい作業ではありません。 一度これにより Makefile を作成してしまえば、 「make」コマンドで全てコンパイルできるようになります。
不幸なことにUnix系マシンを使用することが出来ない方は、 Makefile / Project ファイルをあなたのマシンから探し出してください。 ファイル名は、 makefile.vc (MS Visual C++)、 makefile.wat (Watcom for DOS, NetWare, Win16, OS/2, Win32cli)、 smakefile (Amiga)、 Platforms/beos/* (BeOS with CodeWarrior (だったような…))、 make-vms.com (VMS) などとなっています。
NASMってなんですか?
ネット上で配布されているx86アセンブラで、MS/Intel風の構文で記述します。 詳しくはNASMのホームページもしくは sourceforgeをご覧下さい。
実行ファイルを生成できました。どうすればよいですか?
「./dnetc --help」と入力すれば、コマンドやオプション一覧が表示されます。
コンパイルできるソースがあるということは、 そのクライアントが存在するということですか?
移植に関するページをご覧ください。
<insert-your-favorite-compiler-OS-hardware-here>の欄に入力できる環境がありません!
Jeff Lawsonまでメールを下さい、そして共に解決しましょう。
このソースの一部を、自分のプロジェクトで利用したいのですが?
Jeff Lawson、 Dave Avery宛に、あなたのプロジェクトに関することをメールしてください。 多くのケースでは、ソースと実行ファイル内に「DCTIにより作成された」旨を記述していただき、改善された場合は連絡していただくことで許諾しています。
まだ対応されていないプロセッサ用のコア作成や、既存コアの高速化に成功しました!
素晴らしい! あなたの貢献を歓迎し、次期リリースのクライアントと統合させていただきます。 また、もしもあなたがここにあるコードを理解でき、 これと似たようなコードが使われているのを発見した場合は、どうぞ知らせてください! 我々は常日頃クライアントコードの記述に焦点を当てながらプログラミングのできる人材を探しています。
なぜdistributed.netは未だに完全なオープンソースとしないのですか?
我々はこのページからリンクされているソースについては公開していますが、 公開するソースの選択には充分な注意が払われています。 確かに重要な部分を我々が意地悪に消去していると映るかもしれません。
正直な話、バイナリのみでクライアントをリリースしていても、 それなりの知識を持った人がパッチをあてたバイナリを作成し、 クライアントに本来と違う動作をさせる可能性も否定できません。 実際これは簡単なことですが、おやめいただきますようお願いします。 また、通信プロトコルを公開しないことによるセキュリティも完全ではありませんし、 充分だと主張する気もありません。
実際に関心が高いと思われる解読アルゴリズムに関する部分のソースコードは、 このページで全て公開されています。 公開されていないのは、ファイルアクセスのコード、そしてネットワークソケットのコードで、 上記の悪意でもない限り、理解しても恐らく楽しいものではないでしょう。 クライアントの動作に興味がある人も、コアの高速化を図ろうとする人も、 コアやプラットフォーム依存部分に関するソースは全て公開されているので、 充分望みにかなうものであると認識しています。
これらの問題についてをより深く、より一般的に解説した文書を コード認証に用意しました。
