Linux Software Map (LSM)はLinuxで動作するソフトウェアの仕様を記述するための標準的なテキストファイルである。またはこれらのファイルから構築されるデータベースをさす場合もある。拡張子はlsmである。LSMはLinuxで動作する新しいソフトウェアのリリースをアナウンスする標準的手法の一つである。
ソフトウェア配布サイトやソフトウェアコレクションを収録したSunSITE(のちMetalab、ibiblio)などのFTPサーバー上にあるソフトウェアと同一ディレクトリに配置される場合が多かった。
もし、プログラムを広範に配布することを意図するならば、LSMはプログラムの仕様を通常ソフトウェア_パッケージ_名前.lsmという名前のテキストファイルに記述する。このファイルはBegin4
というワードから始まり、End
というワードで終了する。各行は1つのフィールドを成している。フィールド名は各行の開始から1つのコロン (:)までの間の文字列となる。次のフィールド名は必須である。Title、Version、Entered-date、Description、Author、Primary-site。
この例は、通常書かれるであろう、LSMのブランクテンプレートである。
Begin4 Title: Version: Entered-date: Description: Keywords: Author: Maintained-by: Primary-site: Alternate-site: Original-site: Platforms: Copying-policy: End
LSMのエントリを集積したデータベースはある特定のタイプに当てはまるソフトウェアがインターネット上のどこにあるかを探すために利用される。そのようなデータベースは幾人もの人々が所有している。Jeff Kopmanis、Lars Wirzeniusはしばらくの間メンテナンスしていた。現在ではAaron Schrabと少数のボランティアが管理している。
データベースは完全にダウンロード出来るものもあれば、ウェブインタフェースを利用し、情報の一部のみを引き出せるようにしたものもある。
2011年時点ではFLOSSのリリース時にこのファイルを見かけることは少なくなった。その理由にはいくつか考えられる。リリースがメーリングリストに流れたり、開発ホスティングサイトのニュースリリース、RSSフィードによる配信など利用者の側では様々な検知手段がある。ソフトウェア開発プロジェクトがGitやSubversionなどの開発ソースコードレポジトリを所有している場合、新規リリース時にはコミットのプルとコミットログの内容を読むだけで済ませられる。エンドユーザーにとっては多くのLinuxディストリビューションがdpkg/APTやrpm/yumなどパッケージ管理システムとパッケージアップデートシステムを標準搭載しており、ソフトウェアを必要とする場合、まずはディストリビューションに収録されているか検索する。メジャーなソフトウェアの場合大抵含まれており、そもそもアップストリームのリリースをまともに知るケースが少なくなってきている点がある。パッケージ管理システムによるソフトウェアの記述事項は概ねLSMでカバーする範囲よりも広く、検索手段もウェブインタフェースだけではなく、CLIツール、GUIツールで検索可能な場合もある。特定のディストリビューションでは独自にアップストリームのリリースを検知できる仕組みを持っている。Debianではdebian/watchファイル[1]とuscanプログラム[2]によりパッケージメンテナは即座にソースコードのアップデートを検知できるようになっている。