Something you could do...
- Buy or put together (on your own) an external USB drive. Perhaps a 2.5" SATA drive in an external USB3 enclosure. Could be SSD or platter-based. I almost think that -- over time -- a platter based drive might actually last longer. An SSD may require "refreshing" periodically, whereas a platter-based drive may not.
- Format it to exFat -- NOT a Mac OS format (HFS+ or APFS). Now the drive should be "mountable" on both Macs and Windows.
- Begin assembling a "legacy photo library" on that drive. The pics should be in "jpg" format, so that they are easily readable by just about anybody. Update it from time to time.
- Organize the photos in way that should be understandable and meaningful to whomever you would wish to see them.
- Store this drive in a place that will be "obvious" to someone handling your personal affairs after you are no longer here. You might enclose it in an envelope along with printed documentation about what it is and how to access it.
- Include a note to be kept along with your will that the drive exists and where to find it.
I like this suggestion but would also keep a copy in a shared cloud location (like Dropbox, OneDrive, Google Drive) that is shared with trusted persons.
I am the author of the free open source app
osxphotos that can export photos (along with all associated metadata) from Photos and you can use that to make this process fairly automatic. For example, here's a workflow that would work:
1. Create an album in Photos (for example "Legacy Photos") and put all photos you want to keep in that album.
2. Run osxphotos to export the photos periodically (it's a command line tool that needs to be run from Terminal, but you could automate it to run periodically)
osxphotos is very flexible and can update an export (e.g. only export newly added photos) as well as convert to jpeg (so someone on Windows can view all the HIEC images, etc.) and do a lot of other useful things. For example, here's a sample command:
osxphotos export /Volumes/external_legacy_disk --update --directory "{created.year}/{created.month}" --filename "{original_name}-{created.year}-{created.mm}-{created.dd}" --convert-to-jpeg --skip-original-if-edited --exiftool --person-keyword --sidecar XMP --jpeg-ext jpg --album "Legacy Photos"
Here's what each of those options means:
--update = only export photos that are new or modified since the last export
--directory "{created.year}/{created.month}" = export photos to directory named in "year/month" format, e.g. "2022/April" depending on date photo was created
--filename "{original_name}-{created.year}-{created.mm}-{created.dd}" = name each photo with it's original name (e.g. 'IMG_1234.jpg') followed by year-month-day it was created, e.g. 'IMG_1234-2022-04-23.jpg'
--convert-to-jpeg = convert any non-jpeg images to jpeg for compatibility
--skip-original-if-edited = if photo has been edited, export only the edited version, not the original
--exiftool = use the 3rd party
exiftool app to write all metadata such as keywords, persons, etc to the EXIF metadata of the exported image. Preserving the names of people in the photos is important for legacy images.
--person-keyword = Use person names as keywords as not all image viewing apps recognize person metadata in images
--sidecar XMP = also write XMP formatted sidecar files alongside each image with all the metadata. These can be read by apps like Adobe Lightroom.
--jpeg-ext jpg = use 'jpg' as the extension of all jpeg images (Photos tends to use '.jpeg' which is not as widely recognized by some Windows viewers)
--album "Legacy Photos" = only export photos from the "Legacy Photos" album