> If a font is a program created to draw outlines, and therefore is a > software program that must be free, then what differentiates a font > file from a .ogg audio file, or a .jpg image? Would they not be > software, too? At first I scoffed, but it really got me thinking.
There are some differences: - most fonts are "information for practical purpose", so you need the free software freedoms for it (e.g. to fix bugs or hinting, add special characters for use in your work, add support for a minority language; there are less practical reasons to change art) - outline fonts (.ttf, .otf, .pfb) are like vector graphics, unlike .ogg and .jpg, they are legally considered programs to draw bitmaps - there are separate formats for editing fonts (e.g. .sfd for FontForge), while you can edit the above outline font files (you can distribute GIMP .xcf sources of a .jpg too) - TrueType fonts (.ttf) include programs in a "real" programming language for hinting (grid-fitting), these are sometimes generated from different sources I do consider the first point sufficient to require a license that allows modification of the font. Third and fourth point might be good enough reasons to require inclusion of font sources, while no distro that I know requires this even when they know that the font has separate sources (some people write articles about the usefulness of such sources, but distribute binaries only). (I have written http://b.mtjm.eu/source-code-data-fonts-free-distros.html with some more cases of a similar issue. I would consider meta-fonts a much greater reason for requiring fonts to be free if there were more of them.) > A font file (.ttf or .otf) is a set of numbers that describe > outlines. The system's font-rendering program reads those numbers, > draws the outlines accordingly, and creates a rasterized version of > the outlines. That rasterized image is then displayed to the screen. Why not "A .class file is a sequence of numbers that describe a Java class. The system's Java interpreter reads these numbers, generates some code and runs it. There is no execution of the .class file"? (I don't know any JIT compiler for a font rasterizer, while it clearly doesn't affect softwareness nor freedom of Java or Python programs.) Font files as descriptions aren't trivial (the descriptions can be copyrighted, hence they need to be freely licensed), they can be made From different "preferred form[s] [...] for making modifications" (as what the GNU GPL calls "the source"; so source inclusion might be needed) and they can contain programs in a Turing-complete programming language (so there is more need for the source if it's not hand-written assembly?). > At no point in that process are the fonts executed. Fonts aren't even > executable! Why, then, are they considered software? Why are they not > considered an aggregate of vector images? Aggregates of vector images can be software-like too, I believe it's intentional that https://www.gnu.org/distros/free-system-distribution-guidelines.html in Non-functional Data section refers explicitly to "fictional world map[s]", so real world maps are required to be free. I don't believe there is a significance of programs being executable here: clearly nonsoftware works like LaTeX or PostScript documents are written in real (but unusual) programming languages.
pgp_t59ihkVap.pgp
Description: PGP signature