利用者:ぜ/開発ガイドライン

提供: MacWiki
移動: 案内検索

フリーソフトを作成/配布するときに心がけていること、心がけていきたいことをまとめてみる。


インストール[編集]

  • なるべく簡単であること
    • ドラッグ&ドロップが理想
  • アンインストールできること
    • アンインストールできないソフトは、試したくない

動作・機能[編集]

  • 次の操作を行うときは、ダイアログを出してユーザーの了承を得る
    • 外部のシェルコマンドを実行する(起動時以外で)
    • システムの設定を変更する
    • ネットワークに接続する

初期設定[編集]

  • 選択肢が1つしかない設定は、デフォルトで設定してしまうべき
    • 例:Emacs のファイルシステムのエンコーディング:utf-8
  • 人によって好みが分かれるものは設定を強要しない
    • 例:Emacs のカラー設定
  • UNIX のドットファイルには絶対手を付けない
    • 玄人は設定を変えられることを極端に嫌う
    • 設定の自由度が高いため、副作用なく書き換えることは不可能

メニュー項目の表記[編集]

  • Apple 純正ソフトや、似たような機能を持つソフトの表記を参考にする
  • ダイアログでユーザーの意向を問うメニュー項目には、名前の末尾に「...」をつける

バージョン表記[編集]

  • 小数点 .9 の次を .10 にしない
    • sort 時に順番に並んでくれないので不便
    • そもそも不自然。普通、FreeBSD 4.9 の次が 4.10 ということはわからない
      • 忙しくて思考能力が落ちているときに、4.10 と 4.1.1 の新旧を区別できるだろうか?
  • 困ったら日付を使う
    • 例:20050507 版
    • 表記が長くなるが、更新時期が明白になるので僕は好きだ。
  • ずっと一貫した表記を使いつづける。途中でルールを変更しない。

配布ライセンス[編集]

  • ある程度の規模のソフトは、利用ライセンス/再配布ライセンスを明記する
  • 独自ライセンスを宣言せず、できるだけ既存のライセンスを利用する
    • 独自ライセンスを宣言すると、GPLの他のライセンスとの整合性を検証するのが大変
    • 無駄にエントロピーを増やすだけ
  • 外部コンポーネントを利用する場合、ライセンスの曖昧なものは使わない

配布ページ[編集]

  • スクリーンショットを貼る
    • テキストよりも遥かに雄弁
    • ソフトをインストールしなくても、動作時のイメージが伝わってくる
  • ウェブページのユーザビリティ
    • 表紙ページには、ユーザー全員に必要な情報だけを記載する
    • FAQ などは別ページにしてリンクを辿ってもらえばよい
    • ドキュメントへのリンクは1クリック以内にとどめること
  • 表紙の目立つところにダウンロードリンク/ボタンを設置する
    • 少なくとも他のテキスト中のリンクと区別できるようにする
    • 新バージョンに更新したいだけのユーザーにとって、ガイド的な文章は不要
  • 動作要件を明記する
    • 動かないソフトをダウンロードしても仕方がない

配布ファイル[編集]

  • ファイル形式は .dmg か .zip, .tgz にする
    • StuffIt が入っていない最近の機種では .sit, .hqx などは困ってしまう。
  • ダウンロードサイズを明記する
    • ナローバンドユーザーのための配慮
    • 特に英語ページ(後述)を作るなら、サイズの明記は必須だと思う
      • 日本 -> 外国では意外とバンド幅が細いかもしれない
      • 日本のようにブロードバンド化されている国は多くない
  • チェックサムを明記する
    • あまり使われていないだろうが、改竄チェックに気を使う姿勢は重要
    • md5 ではなく、sha1 以降を使う

付属ドキュメント[編集]

  • 独自機能・追加機能は必ずドキュメント化する
    • ソフトウェアはドキュメント通りに動いてナンボだと思う
    • ドキュメント化されてない機能を使うのは開発者周辺の人たちのみ
    • ドキュメントはオンラインにあっても構わない
  • ソフトの更新時に、ドキュメントの更新も忘れない
    • 機能アップしたとしても、ドキュメント通り動かないものはバグと同じ
  • アンインストール方法を記載する
  • 連絡先を明記する
  • 謝辞を書く

英語化[編集]

  • ユーザー数が大幅に増える
  • 海外のユーザーは日本のユーザーよりもフィードバックに積極的 → ソフトウェアの品質が向上する
  • 自分のソフトを世界標準にしてしまうと、世界標準に追随して修正を繰り返す必要がなくなる
  • 少々英語が拙くても情報がないより遥かにまし
  • とはいえ、あまり英語が酷いと、ソフトウェアの品質も疑われる...


コメント[編集]

コメント等ありましたら、お気軽にどうぞ。