The raw file is the negative
Keep it, never rewrite it, and never let a cloud service hold the only copy. Three copies, one of them offline, is the whole backup policy. The JPEG is a delivery format; the raw plus its sidecar is the archive.
1024 text colours
1024 of them — 128 families × 8 weights: 1 is the strongest, 8 the softest. Each one is solved for the background it is used on, so it stays legible on white and on black. The list is in four sections: Neutral, Spectrum, Named and Flat.
1024 colour schemes
1024 of them — 128 families × 8 depths: depths 1–4 are light pages, 5–8 dark ones, and the family called Plain is white, greys and black. The Spectrum families are thirty-three evenly spaced stops around the hue circle, the Named ones are the everyday colours between them, and the Flat ones — tinta unita — are those same colours kept at full strength, mixed with nothing but white or black. A scheme’s colour is the same hue at every depth, only lighter or darker.
1024 typefaces
1024 typefaces — as many as the colour schemes, and chosen the same way: a long list rather than a short one, ranked by how much the web actually uses them. Every one is self-hosted, latin only, one file each, and open source. They are sorted into five sections — Sans Serif, Serif, Display, Handwriting and Monospace — and each row draws itself in its own face only once it is on screen, so opening this panel costs nothing and a typeface can never slow a page down.
Open-source photography · Raw · Colour
Everything after the shutter can be open. Raw conversion, cataloguing, pixel editing, colour management, printing and the metadata that shows what you actually did — all of it runs on a stock Linux desktop with software you already have. This track documents that pipeline, and is honest about the part of a camera that is still closed.
01 · Principles
The tools are free, but the discipline is what makes the result reproducible. These three rules apply whether you are shooting a product, a landscape or a building survey.
Keep it, never rewrite it, and never let a cloud service hold the only copy. Three copies, one of them offline, is the whole backup policy. The JPEG is a delivery format; the raw plus its sidecar is the archive.
Profile the display, work in a defined space, and convert with an embedded profile at export. A photograph that only looks correct on the laptop that produced it is not finished — it is an accident that has not been discovered yet.
EXIF and IPTC record what the camera did; a short text note records what you did. Strip location before publishing to strangers, keep it in your own archive, and say which of the two you shipped.
02 · Workflow
Five stages, each with a free tool that does the job properly. Nothing here rewrites an original file, and every stage leaves behind something a colleague could pick up.
Copy with rsync or a dedicated importer, verify checksums, and keep the card
untouched until a second copy exists. Rename on ingest, never later; renaming a
catalogue of ten thousand files is a project, and a boring one.
digiKam or an equivalent keeps keywords, ratings, faces and geodata in a database beside the files. Treat the database as an index you can rebuild, not as the place the photographs live.
darktable or RawTherapee reads the raw and writes a sidecar; the original is never modified. Work scene-referred first — exposure, white balance, tone — and only then reach for the look.
GIMP or Krita for retouching, compositing and masks. Keep the layered source file next to the export, because the flattened result will not explain itself in two years.
Convert to the destination profile with a stated rendering intent, size and sharpen for the medium, and write down what you did. The export is not the archive.
| Job | Package | What it gives you |
|---|---|---|
| Raw development | darktable, rawtherapee | Non-destructive raw conversion with sidecar files; darktable for scene-referred workflows and a large module set, RawTherapee for a more traditional, demosaic-first approach. |
| Catalogue | digikam | Keywords, ratings, face and place data, batch operations and export presets — the library index, on your own disk. |
| Pixel editing | gimp, krita | Retouching, masks and compositing; Krita when the work is closer to painting or when 16-bit floating point matters. |
| Metadata | libimage-exiftool-perl, exiv2 | Reading, writing and stripping EXIF, IPTC and XMP in bulk — including removing location data before you publish. |
| Conversion & batch | imagemagick, gmic | Profile conversion, resizing, watermarking and scripted batch work; G&MIC adds a serious filter library on the command line. |
| Colour management | argyll, displaycal | Build and inspect ICC profiles with your own colorimeter, and calibrate the display you are actually judging on. |
| Panorama & HDR | hugin, enblend, enfuse, luminance-hdr | Stitching, exposure blending and tone mapping, with control over the projections and the seams. |
| Capture & tethering | gphoto2 | Remote capture, interval shooting and file transfer from a long list of cameras, scriptable from a shell. |
| Print & vector | inkscape | Print layouts, marks and light plots — anything where vector output and exact dimensions matter. |
03 · Colour
Colour management is three measurements and a convention: profile the display, work in a defined space, convert on export to the space the destination expects. Everything else is a detail you look up when the measurement asks for it.
Tooling
# build a display profile (ArgyllCMS + a colorimeter)
dispcal -v -o my-display
dispread -v -k my-display.cal my-display
colprof -v -qh -aG my-display
# inspect what a profile is actually capable of
xicclu -ir -pl my-display.icc
# convert for delivery: source profile, then destination
magick print.tif -profile sRGB.icc -profile printer.icc \
-intent perceptual out.tif
ImageMagick applies profiles in order: attach the source, then convert to the destination. Never assign a profile to fix a wrong one — that only relabels the problem.
04 · Hardware
No mainstream camera body is open hardware. Sensors, image processors, lens protocols and the firmware that drives them are closed, and saying otherwise would be a lie told in a friendly tone. What can be open is everything downstream — and a surprising amount of the hardware around the camera.
Raspberry Pi camera modules with the libcamera stack give you a documented sensor pipeline, interchangeable C and CS lenses and a board you can replace for the price of a filter. For timelapse, monitoring, macro rigs and teaching, that is often enough camera.
Community firmware adds raw video, intervalometers, focus stacking and zebras to a range of closed cameras. It is reverse-engineered, it voids warranties and it can brick a body: read the compatibility list, update the stock firmware first, and never use it on the only camera you own.
Printed brackets and lens caps, Arduino intervalometers on the remote shutter port, open lens adapters, DIY light meters and calibration targets. The camera is the closed part; everything you bolt to it does not have to be.
Why we still document it. The value of an open pipeline is not ideological, it is practical: your archive stays readable when a company changes its subscription model, your edits stay inspectable, and your colour decisions can be reproduced by somebody else. That is the same argument we make for open hardware in networking and audio.
05 · Ethics
Editing tools have never been more capable of inventing detail. That makes the documentation of what was done part of the craft rather than an optional footnote.
Publishing a photograph of a person and publishing their location are two different acts. Ask when it is a portrait, strip geodata when the subject is a private place, and treat photographs of children as a category of their own rather than a subset of street work.
Write a small script that strips GPS and serial numbers for public exports while keeping
them in the archive copy. exiftool does this in one line, and the difference
between the two files should be a decision you made, not an accident.
Generative fill, upscaling and “enhance” features change what the image claims happened. Used as a tool, disclosed, they are legitimate. Used silently in documentary work, they are a fabrication — and with metadata, the disclosure is one field away.
A print that matches the screen and the scene will still look right in ten years. A grade that matches this season’s timeline will not. Keep the neutral version of every frame; the look is a layer, not the negative.
06 · The guide
One frame, from card to print, with every command and every decision written down — the reference we build the rest of the track on.
Profiling a display, choosing a working space, soft proofing and the three settings that actually change a print.
What is worth doing with open firmware, which boards make usable cameras, and the accessories we have actually built and broken.
Contact
A raw file that no converter handles, a profile that measured wrong, a firmware build that bricked something, or a correction to this page. Include the camera, the firmware version and the command you ran.
gfx@polymathes.cc
Weekly on the mailing list
errata@polymathes.cc
Reviewed in public