Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Andy Jackson

@anj.digipres.club.ap.brid.gy
63 followers 12 following 230 posts

A tech nerd at the Digital Preservation Coalition - data joiner, digital preserver, entropy buster, partial physicist, geek. Searching for the charismatic megafauna of the […] 🌉 bridged from ⁂ digipres.club/@anj, follow @ap.brid.gy to interact

PostsRepliesMedia
Reposted by Andy Jackson
joshuatj @joshuatj.digipres.club.ap.brid.gy · 15/10/2026
This presentation is why I love No Time To Wait conferences. It's like we're all going on a deep dive journey into the workflow. So much to take in. Reminds me of @digitensions many nttw presentations. #nttw10
mastodon.social
001 1
Reposted by Andy Jackson
joshuatj @joshuatj.digipres.club.ap.brid.gy · 16/10/2026
Summary: Ran open source AV archiving tools for 8 years. Enterprise IT make all Macs managed devices. Broke almost all the tools and support ecosystem: ffmpeg, vrecord, homebrew, and essentially just the ability to even troubleshoot the issues themselves. The LTO system also broke because it […]
digipres.club
Original post on digipres.club
004 4
Andy Jackson @anj.digipres.club.ap.brid.gy · 16/10/2026
Hellooo, the iPRES 2019 keynote recordings have disappeared? Anyone know anything about anything? See links here: ipres2019.org/program
ipres2019.org
Programme
For all of you who have enjoyed iPRES 2019 and want to reminisce, but also for all of you who couldn’t join us in Amsterdam, we want to share some iPRES 2019 memories. Take a look at these videos: Opening of iPRES 2019 Geert Lovink, Institute of Network Cultures. Sad by Design: Politics and Psychology of the Social Media Age. Michelle Caswell, University of California at Los Angeles. Whose Digital Preservation? Locating our standpoints to reallocate resources. Eliot Higgins, Bellingcat. Bellingcat and beyond. The future for Bellingcat and online open source investigation. Closing Session Also, have a look at the best moments of iPRES 2019 in the flickr photo gallery, on twitter and in the collaborative notes.
100 1
Reposted by Andy Jackson
joshuatj @joshuatj.digipres.club.ap.brid.gy · 16/10/2026
s/o to AV Artifact Atlas avartifactatlas.com #nttw10
mastodon.social
101 1
Reposted by Andy Jackson
Julian Fietkau @fietkau.me · 13/10/2026
My employer @tibhannover is looking for a Linux sysadmin with containerization and CI/CD expertise and reasonable fluency in German and English. Details: www.tib.eu/en/tib/careers-and-appre… Among other responsibilities, you'd […]
fietkau.social
Original post on fietkau.social
0023 23
Reposted by Andy Jackson
joshuatj @joshuatj.digipres.club.ap.brid.gy · 15/10/2026
Another reason why I love No Time to Wait conferences is that there's full collaborative notes. Super useful for off timezone remote participants to follow along. mediaarea.net/s/nttw10notes Have I mentioned that the livestream is automatically […] [Original post on digipres.club]
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 Please join us in congratulating our new DPC Fellow Kevin Ashley, honouring nearly three decades of leadership and advocacy in digital preservation. A founding director of the DPC, Kevin has helped shape the field through pioneering work on national digital […] [Original post on digipres.club]
032 3
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 Another winner revealed in Warsaw! The National Archives (UK) Award for Safeguarding the Digital Legacy goes to… ✨ Archive of Personal Testimonies: The Russian Invasion of Ukraine! Congratulations, and thank you to all the finalists for protecting digital […] [Original post on digipres.club]
045 5
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 The first APTrust Award for Resilience, Maintenance and Continuity goes to… ✨ PRONOM Refresh - The National Archives UK! Congratulations! This new award recognizes the sustained work that keeps digital preservation going. Applause for all three finalists! 👏 […] [Original post on digipres.club]
113 3
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 The Research Data Alliance Award for the Most Outstanding Digital Preservation Initiative in Commerce, Industry and the Third Sector goes to… ⭐️ The GOG Preservation Program 🎮️ ! Congratulations to the winners and all the finalists! 👏 Explore their amazing […] [Original post on digipres.club]
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🎓🏆 The DPC Award for the Most Distinguished Student Work in Digital Preservation goes to… ✨ Manuela Pallotto Strickland - Aberystwyth University!! Congratulations! A big round of applause for all three student finalists and their research 👏 Discover the […] [Original post on digipres.club]
011 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 The winner of the KB National Library of the Netherlands Award for Teaching and Communications is… ✨Digital Ghost - Visualising Scotland's Web Archives! Congratulations—and thank you to all the finalists for sharing knowledge and inspiring others! 👏 Read […] [Original post on digipres.club]
002 2
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 Just announced in Warsaw! The National Library and Archives Board, Singapore Award for Research and Innovation goes to… ✨ An OAIS-Compliant Archiving Platform with DNA connector within OLOS ! Congratulations to our winners and all the finalists! 👏 Explore […] [Original post on digipres.club]
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 And the winner of the International Council on Archives Award for Collaboration and Cooperation is… ✨ From Basement to Citizen: An Integrated Approach to the Digitisation, Preservation and Access to Environmental Permits — Digital Archives Flanders […] [Original post on digipres.club]
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
👏 A big round of applause for every #DPA2026 finalist! Judges’ Chair Sonia Ranade is recognizing the outstanding work selected from a record 46 nominations across 18 countries. Thank you to our judges for their time, care and expertise. The winner announcements are coming next! 🏆 #DPA2026 […]
digipres.club
Original post on digipres.club
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
👏 Kelly Stewart joins us on stage representing our #DPA2026 Headline Sponsor, Artefactual Systems! Their generous support helps us recognize outstanding digital preservation work and bring the people behind it together in Warsaw. Thank you, Artefactual, for […] [Original post on digipres.club]
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🎉 We’re underway in Warsaw! A huge thank you to FINA and MediaArea.net, organizers of No Time to Wait 10, for welcoming the Digital Preservation Awards to this gathering of audiovisual preservation colleagues. Watching from elsewhere? Join the #DPA2026 […] [Original post on digipres.club]
002 2
Andy Jackson @anj.digipres.club.ap.brid.gy · 15/10/2026
Get in losers, the stream is live www.youtube.com/live/gZUSy6cGSMQ?is…
100 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 15/10/2026
🏆 Tonight’s the night! The Digital Preservation Awards 2026 take place in Warsaw, recognizing outstanding work to secure our digital legacy. Good luck to all our finalists! ✨ Find out more […] [Original post on digipres.club]
011 1
Reposted by Andy Jackson
Henrik Schönemann @lavaeolus.fedihum.org.ap.brid.gy · 15/10/2026
I can vouch for that - the people I know at TIB are awesome :) Link to quoted post: fietkau.social/@julian/117432997815…
002 2
Andy Jackson @anj.digipres.club.ap.brid.gy · 15/10/2026
Heads-up that the Digital Preservation Awards will be live-streamed from 1600UTC later today, and available here: www.dpconline.org/events/digital-pr…
dpconline.org
Digital Preservation Awards 2026 - Digital Preservation Coalition
001 1
Reposted by Andy Jackson
Henrik Schönemann @lavaeolus.fedihum.org.ap.brid.gy · 14/10/2026
Quick question: What's the current 'verdict' re ghostarchive.org ? Especially in lieu of the loss of trust wrt archive.is/.ph/.today #AskFedi
ghostarchive.org
Ghostarchive, a website archive
001 1
Andy Jackson @anj.digipres.club.ap.brid.gy · 14/10/2026
Really excited about this call for papers! www.crassh.cam.ac.uk/events/52869 The Legacy Media Behind the Arts: Literature, music, and visual arts since the 1980s’ - it's gonna be floppy heaven!
crassh.cam.ac.uk
The Legacy Media Behind the Arts: Literature, music, and visual arts since the 1980s’ - CRASSH
Centre for Research in the Arts, Social Sciences and Humanities
000 0
Reposted by Andy Jackson
Henrik Schönemann @lavaeolus.fedihum.org.ap.brid.gy · 14/10/2026
#Throwback That's how @SafeguardingResearch started, on January 15th 2025 Feels like half-a-lifetime-ago already...
005 5
Reposted by Andy Jackson
Henrik Schönemann @lavaeolus.fedihum.org.ap.brid.gy · 09/10/2026
Hier die Überlebensfibel als offline Webarchive: seafile.rlp.net/f/7dbbc52cb4f842b38… Die WACZ-Datei einfach in replayweb.page werfen (oder in die Desktop Applikation, siehe: webrecorder.net/replaywebpage/#down…) Die PDF ist mir auch lieber - aber diese Datei hier […]
fedihum.org
Original post on fedihum.org
000 0
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 07/10/2026
Meet the #DPA2026 Teaching & Communications finalists! Hear them introduce their outstanding work in the latest video from our finalist series👉️ www.dpconline.org/news/dpa2026-fina… Organized by the #DPC, the #DigitalPreservation Awards are the […] [Original post on digipres.club]
011 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 08/10/2026
🏆 One week from TODAY, we’ll reveal the #DPA2026 winners! Our “Meet the Finalists” video series spotlights Commerce, Industry & Third Sector finalists GOG, LDF Recollection and Diageo Archive. Sponsored by the Research Data Alliance. Hear directly from the […] [Original post on digipres.club]
022 2
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 12/10/2026
Meet the Digital Preservation Awards 2026 Collaboration and Cooperation finalists! Hear them introduce their outstanding work in our latest finalist video: www.dpconline.org/news/dpa2026-fina… 📹️ Organized by the Digital Preservation Coalition […] [Original post on digipres.club]
001 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 13/10/2026
🔧 What keeps #digitalpreservation going? Meet the #DPA2026 Resilience, Maintenance and Continuity finalists, 🏆sponsored by APTrust: • PRONOM refresh — The National Archives • Data Integrity Application — NYU Abu Dhabi Library • CoreTrustSeal Watch our final […] [Original post on digipres.club]
011 1
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 14/10/2026
🎓 Meet the #DPA2026 Student Work finalists! • Alice Thacker, King’s College London: digitizing Cornish historical sources. • Manuela Pallotto Strickland, Aberystwyth University: preserving and reusing digital Research Objects. • Rosa Méthol, University of […] [Original post on digipres.club]
011 1
Reposted by Andy Jackson
joshuatj @joshuatj.digipres.club.ap.brid.gy · 14/10/2026
Just had a team recap of #iPRES2026. Immediately got reminded of how depressing the keynotes were this year... And also this quote from Sibyl's keynote: "We are born to a dangerous time. Consider that an affliction or consider it an assignment." #DigiPres
001 1
Andy Jackson @anj.digipres.club.ap.brid.gy · 13/10/2026
Amused by my Google News alert for "new file format" bringing this important article to my attention: www.law.com/article/almID/52N5-TPB1… (just 32 years too late!)
001 1
Reposted by Andy Jackson
Colin McMillen @colin-mcmillen.piaille.fr.ap.brid.gy · 13/10/2026
low effort
the "man looking at other woman meme", labelled Artcraft AI / IA Techbros / Libreoffice, Gimp, Inkscape, ..."
161 6
Reposted by Andy Jackson
Henrik Schönemann @lavaeolus.fedihum.org.ap.brid.gy · 13/10/2026
I'm looking for someone who has (successfully) submitted something to DH2026 or earlier. I want to get a feeling if a submission for DH2027 would be time well spent :)
001 1
Reposted by Andy Jackson
Tim Sherratt @wragge.hcommons.social.ap.brid.gy · 12/10/2026
WTF – an estimated $15.08 billion was spent on article processing changes between 2019 and 2025, with most going to the big publishers. (doi.org/10.48550/arXiv.2608.16322 via OpenAccess Australasia youtu.be/sQ5MeReCzLQ)
arxiv.org
Estimating global article processing charges paid to 14 publishers for open access between 2019 and 2025
This study presents estimates of the global expenditure on article processing charges (APCs) paid to 14 publishers for open access (OA) between 2019 and 2025. APCs are charged for publishing in fully OA journals (gold) and making individual articles OA in subscription journals (hybrid), but how much is paid, and for which articles, is not publicly known. We therefore curated an open dataset of publicly listed APC prices from 14 academic publishers (ACS, CUP, De Gruyter, EDP, Elsevier, Frontiers, IEEE, IOP, MDPI, OUP, PLOS, Sage, Springer Nature, and Wiley) and combined it with counts of OA articles from OpenAlex. We estimate that \$15.08 billion (in 2025 USD) was spent globally on APCs between 2019 and 2025. Adjusted for inflation, annual spending quadrupled from \$0.9 billion in 2019 to \$3.7 billion in 2025, with >85% concentrated among a few large publishers. Hybrid OA fees exceed gold fees, and the median fee paid is higher than the median price listed for both. Our approach addresses major limitations in previous efforts to estimate APC spending, offering much-needed insight into an opaque aspect of scholarly publishing, especially as transformative agreements make it more challenging to understand the costs of publishing OA.
000 0
Andy Jackson @anj.digipres.club.ap.brid.gy · 12/10/2026
Should I be worried that the service that hosts all these Core Trust Seal certificates appears to be down 😂 amt.coretrustseal.org/certificates
amt.coretrustseal.org
CoreTrustSeal-AMT
110 1
Reposted by Andy Jackson
joshuatj @joshuatj.digipres.club.ap.brid.gy · 12/10/2026
Just stumbled upon this 100-year plan. It is a good thing(?) digital preservation is a feature in this marketing piece. Front loading digital preservation managed service essentially. Will $38,000 be enough for 100 years though? 🤔 wordpress.com/blog/2025/02/12/100-y… […]
digipres.club
Original post on digipres.club
111 1
Reposted by Andy Jackson
Gabriele Svelto @gabrielesvelto.mas.to.ap.brid.gy · 11/10/2026
I double-checked this on a couple of Xitter stat sites and it's true. Average views of the main AfD account dropped 90% and average engagement dropped by 60%. This is commercial social media for you: bots, damn bots and Russian bots.
8056311978 5.6K
Reposted by Andy Jackson
Tim Sherratt @wragge.hcommons.social.ap.brid.gy · 07/10/2026
Here it is! Introducing Z-Profile – a simple website builder for researchers: updates.timsherratt.org/2026/10/07/… No code, no new software – all you need is @zotero & somewhere to host your site. Please share! #histodons
updates.timsherratt.org
Have you ever wanted a simple website to publish your details and showcase your research? Good news! Z-Profile is a new tool aimed at helping researchers create their own sites, manage their online identity, and share their publications. View the Z-Profile demo site Z-Profile gets data from a specially-prepared Zotero collection, does of bit of processing, then generates a static website using Zola. The site includes biographical details and a list of your publications. Once your site is built, you can publish it using any web host, or for free through GitHub Pages. There’s a documentation site with full details, but creating your own Z-Profile site can be as simple as: 1. create a Zotero collection containing your publications and biographical details 2. go to the Z-Profile Site Builder and log on with Zotero – your site will be automatically built and packaged in a zip file 3. upload the contents of the zip file to the web host of your choice ## Why did I create Z-Profile? I was thinking about updating the guide to open access publishing for Australian historians that I created several years ago, and got a bit sidetracked… The problem was explaining the green open access (sometimes called self-archiving) provisions in publisher agreements that enable you to share certain versions of your publications. It’s fairly common for publishers to allow you to share the author accepted manuscript version (AAM) of your publication _immediately_ (ie without any embargo) on your ‘personal website’. Obviously I wanted to say – ‘just do it’. Put your AAM on the web and tell everyone where to find it. But it’s never that simple. The definition of a ‘personal website’ is fuzzy, perhaps intentionally, adding to the uncertainty around what’s permitted. And anyway, how many humanities researchers have the time, energy, and knowledge to create and maintain their own website? If I was going to encourage people to take advantage of this opportunity, I felt like I also needed to provide them with tools to make it easier. I also think it’s important for researchers to have online profiles that are not wholly dependent on their employer or a company that wants to exploit their data – to have ‘a domain of their own’ (in the words of the excellent folks at Reclaim Hosting). Of course, there are some other great options for building a research profile – in particular, I’d strongly suggest you set yourself up on Knowledge Commons. But having your own site, under your own domain, gives you extra control and flexibility. And so… Z-Profile. ## What is Z-Profile good for? Z-Profile is deliberately minimalist in design and function. It’s intended for people who want to share their research, but aren’t really interested in building websites. If you want more features, or more control, there are plenty of other tools around that could do the job. The Z-Profile home page displays your biographical details. You can include: * a portrait photo * a downloadable CV * a brief biographical note (that can include links to other sites) * a list of social media accounts or website links * a list of selected publications All the publications in your Zotero collection are automatically listed on a publications page. This is linked to an individual page for each publication, providing additional details, and links to alternative versions. Example of a publication page with the embedded PDF of an AAM version For example, perhaps you’ve just published an exhibition review in _Australian Historical Studies_ and want to share it online. Reviews aren’t covered by the ‘transformative agreements’ negotiated between Australian universities and Taylor & Francis (the journal’s publisher) that support open access publishing. However, under the publisher’s ‘self-archiving’ policy ‘you can post your Accepted Manuscript (AM) on your personal website at any point after publication of your article’. To share your review using Z-Profile, you’d just: * use Zotero to capture the publication details from the journal website * attach a PDF of your AAM to the item record in Zotero * tag the PDF with ‘aam’ to tell Z-Profile what it is Then, when you build your site with Z-Profile, it’ll create a page with the review, and embed the PDF for easy reading and download. ## What Z-Profile is not Z-Profile is not a repository. Even if you use it to share your publications, you should also upload your AAMs and preprints to an appropriate repository where they’ll be preserved and made available after any publisher-imposed embargoes. If you’re in a university, talk to the local librarians about your institutional repository. Otherwise there are general-purpose repositories like Knowledge Commons Works and Zenodo. You don’t have to limit yourself to a single option – remember LOCKSS (Lots Of Copies Keeps Stuff Safe)! ## Some technical details Z-Profile is really just some templates and a bit of data plumbing. Here are the main components: * a Python script to get the data from Zotero and prepare the contents of your site for processing by Zola * some basic templates for Zola to convert the data to HTML * a Python Flask app that uses OAuth to request an API key from Zotero, then runs the Python script and the Zola build process * a GitHub template repository that contains the Python script, the Zola templates, and a workflow to run the build process in a GitHub Action * there’s also a discussion board in GitHub where you can ask questions or suggest improvements ## Please share! Obviously I think Z-Profile could be useful, otherwise I wouldn’t have been obsessing about it for the last few weeks. But I don’t really know until it’s out there in the world. So please let me know if you make use of it. I’m also aware that the sort of people who follow my stuff are likely to have the skills and confidence to build their own websites from scratch, without the need for something like Z-Profile. As ever, it’s hard to get information to the people who would benefit most. So please share Z-Profile with your less technically minded colleagues.
31543 43
Reposted by Andy Jackson
Deep Space 90210 @ds90210.mastodon.social.ap.brid.gy · 05/10/2026
Garak: If you wouldn’t trust their advice then don’t trust their criticism
Garak: If you wouldn’t trust their advice then don’t trust their criticism
12758 58
Reposted by Andy Jackson
Bryony Hooper @bryonyhooper.bsky.social · 06/10/2026
Hello #archives #digipres hive mind! I wonder if you can help? I'm looking for examples of Digital Asset Manager job descriptions. Does anyone have anything you can share with me please? Many thanks
static.klipy.com
Beaver Forgot: Damn It!
Alt: Beaver Forgot: Damn It!
3518 18
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 06/10/2026
The Digital Preservation Awards #DPA2026 celebrate outstanding work to secure our digital legacy! Our video series continues today with the Safeguarding the Digital Legacy finalists. Hear from the people protecting important digital evidence for the future […] [Original post on digipres.club]
043 4
Reposted by Andy Jackson
Digital Preservation Coalition @dpc-chat.digipres.club.ap.brid.gy · 05/10/2026
Meet the Digital Preservation Awards 2026 Research and Innovation finalists! Organized by the Digital Preservation Coalition, the Awards celebrate outstanding work to secure our digital legacy. Hear the three finalists in this category introduce their […] [Original post on digipres.club]
032 3
Reposted by Andy Jackson
Simon Phipps @meshed.cloud · 05/10/2026
I boosted this when it appeared but there are a distressing number of people who have just posted their views as replies. In case it's not clear, the way to influence the @EUCommission on #AI and #Copyright is to respond to the consultation, not post aggressive comments in reply to the notice.
ec.social-network.europa.eu
1218 18
Reposted by Andy Jackson
Francois Heinderyckx @fheinderyckx.mastodon.social.ap.brid.gy · 03/10/2026
“A post-oligarch world can recover democratic excellence by removing the malign influence that morbid wealth exerts on our policy choices” writes Cory Doctorow (@pluralistic). Please someone write a book entitled “Morbid Wealth.” It encapsulates so much of the current mess […]
mastodon.social
Original post on mastodon.social
014 4
Reposted by Andy Jackson
Robert Kingett @weirdwriter.caneandable.social.ap.brid.gy · 02/10/2026
Just go read Cornell | What are you doing to challenge rape culture right now? www.girlonthenet.com/blog/cornell
girlonthenet.com
Cornell | What are you doing to challenge rape culture right now?
Protecting women from rape doesn't mean swooping with a sense of victory, it means starting a conversation that might leave you feeling like shit.
002 2
Reposted by Andy Jackson
Andrew Nesbitt @andrewnez.mastodon.social.ap.brid.gy · 01/10/2026
Software Heritage Identifiers nesbitt.io/2026/10/01/software-heri…
nesbitt.io
Software Heritage Identifiers
I spent Monday at the Software Heritage offices in Paris speaking at the CodeCommons plenary, and the slides are on GitHub. The talk was about connecting package identities to archived source code. Getting ready for it meant a couple of weeks poking at the SWH archive and its identifier scheme with a to-do list that kept growing, and I’ve ended up with a small pile of tools that are now feeding into ecosyste.ms, starting with the research software service. ### Software Heritage Software Heritage has been building a universal archive of source code since Inria launched the project in 2016. It crawls GitHub, GitLab, Bitbucket and a long tail of smaller forges, plus package registries and distro sources, and stores what it finds in one deduplicated Merkle DAG. As I write this that DAG holds about 30 billion source files, 23 billion directories and 6 billion commits from 445 million origins. A file that turns up in both an npm tarball and a Debian source package is stored once, addressed by the hash of its bytes, and the graph records every place it was seen. The Vault reconstructs any snapshot, commit or directory on request as a git bundle or tarball you can download, so retrieval is by content rather than by whichever URL the code was hosted at. ### SWHIDs Every object in the archive has a SoftWare Hash IDentifier of the form `swh:1:<type>:<sha1>`. The five types are `cnt` for a file’s bytes, `dir` for a directory tree, `rev` for a commit, `rel` for a tag and `snp` for a snapshot of a repository’s refs at one point in time. Optional qualifiers after a semicolon pin an origin URL, a visit, a path inside a directory or a line range inside a file. Version 1.2 of the spec was published as ISO/IEC 18670 last year, the first ISO standard for intrinsic software identifiers. A SWHID is intrinsic, computed from the bytes with no registry and no issuing authority, and because the hashes are git’s own object hashes any git checkout on your disk is already full of valid SWHIDs whether or not Software Heritage has crawled it yet. A purl like `pkg:pypi/[email protected]` is at a different corner of Zooko’s triangle: a human can read it and it’s unique within PyPI’s namespace, but resolving it to actual bytes depends on PyPI still being there to serve that release. I spend a lot of time in ecosyste.ms holding both kinds of identifier for the same software, and that mapping was the subject of the CodeCommons talk. ### swh-git The most direct way I’ve found to get code back out is swh-git, a git remote helper that adds an `swh::` transport. With `git-remote-swh` on your `PATH` you can clone by origin URL or by SWHID: git clone swh::github.com/octocat/Hello-World git clone swh::swh:1:snp:f72e9d06dd0e58236a34328f094ca894a809f230 The first form resolves to the origin’s most recent archived snapshot, and the second pins a specific one and produces the same bytes on every run. Behind the transport, the helper requests a git-bare bundle from the Vault, polls while it’s prepared (which can take several minutes for a large repository the first time), downloads it into your user cache directory, and serves the clone from there with `git upload-pack`. Fetch, `ls-remote` and shallow clones all work against the cached bundle, and push is refused since the archive is append-only from the crawler side. There’s also an HTTP proxy mode for tooling that expects a plain URL rather than a custom transport, so `git clone http://127.0.0.1:8080/github.com/octocat/Hello-World.git` does the same thing through `git http-backend`. I built this for the recovery case, where an origin URL now 404s or the forge it was on has shut down, and `git clone swh::<the old url>` gets you back to a working repository with full history and tags. The helper also accepts `rev`, `rel` and `dir` identifiers, so a directory SWHID from a paper citation or an SBOM component becomes a checkout in the same way. ### Computing SWHIDs Since a SWHID is derived from content, you can compute one anywhere you have the bytes, and I wanted that in the two languages I use most. The swhid gem covers Ruby with parsing, qualifiers and generation for all five object types, and it’s what the ecosyste.ms services use. swhid-go does the same in Go with a CLI on top and SHA-1 collision detection built in. Both are wired into the upstream conformance test suite that the SWHID working group maintains, so they’re checked against the reference vectors alongside the Python and Rust implementations. Compiling swhid-go to WebAssembly gives you swhid-wasm, a browser page that fetches a package by name from npm, PyPI, crates.io, RubyGems or pub.dev, or takes a local archive you drop onto it, then unpacks and hashes the whole tree client-side. You get content and directory SWHIDs for every file, executable bits, symlinks and duplicate detection, and the package bytes stay on your machine. Once the tree is hashed the page batch-posts the identifiers to the archive’s `/api/1/known/` endpoint to colour in which ones are already preserved, and there’s a button to submit the package’s public URL to Software Heritage for archival. Early builds of the wasm page needed a same-origin relay for that lookup, because the browser’s CORS preflight for a JSON `POST` was reaching the Anubis bot-protection layer in front of the archive and getting an HTML challenge back instead of CORS headers. I reported it and the SWH team have since adjusted the Anubis configuration so preflights pass through, and the page can now call the archive directly, though by that point the identifiers are already computed and the lookup itself is optional. ### Web API All of the above ends up calling `archive.softwareheritage.org/api/1`, which SWH document thoroughly in prose. There’s no machine-readable spec yet, though it’s something the team are interested in, so swh-openapi is my stopgap, generating an OpenAPI description from the same docstring data the published reference is built from. swh-go is a Go client generated from that with pagination, auth and rate-limit handling written by hand, and both should be retired once there’s an official spec. ### Critical package coverage With a client in hand I ran a coverage check, swh-critical, over the roughly 9,800 packages in the packages.ecosyste.ms critical set and their 7,000-odd source repositories on 23 and 24 September. Of those repositories, 71.3% had their current default-branch commit already in the archive, and 89.9% of matched release tags were present as revisions. Among the repositories whose current commit was missing, 95.1% still had an older snapshot once I checked the former URLs ecosyste.ms records across renames as well as the current one. The 46 hardest cases in the audit had no snapshot at any URL I tried and no matching release objects either, and drilling into those with full clones and tree hashes from the published package tarballs still turned up archived content for every one. Across the whole audit the pattern was older history already in the archive with only recent commits missing. I think ecosyste.ms can be most useful to Software Heritage as a partner on that last part, since the archive tracks over 445 million origins, far more than the crawler can revisit at a uniform cadence, while ecosyste.ms has dependent counts, download numbers and a criticality score for each package that give a decent signal for which repositories matter most to keep fresh. Feeding that back as a ranked stream of Save Code Now requests means the crawler’s next visit goes to the source of something with a hundred thousand dependents rather than an abandoned fork. ### science.ecosyste.ms The first place that feedback loop is running in production is science.ecosyste.ms, the ecosyste.ms service that tracks research software. For each project with a high enough science score, a background job clones the repository, computes revision and directory SWHIDs with the Ruby gem, and posts them in batches to `/api/1/known/`. Projects with objects missing from the archive get their origin submitted through Save Code Now, another job polls the visit until it completes, and any SWHID newly known after our request is recorded as a confirmed contribution. The stats page rolls those up every six hours with a JSON API alongside, and individual project pages now show SWHIDs next to the DOIs and citation metadata they already had. Research software was the right place to start because that community already cares about persistent identifiers and long-term reproducibility. ### packages.ecosyste.ms The next step is doing the same for package versions on packages.ecosyste.ms, which means computing directory SWHIDs for published tarballs as well as git checkouts and storing the purl-to-SWHID mapping as a first-class field. At that point an SBOM component like `pkg:npm/[email protected]` resolves through ecosyste.ms to a `swh:1:dir:` you can verify against the tarball you downloaded and fetch from the archive independently of npm. It also turns the one-off swh-critical audit into a rolling measurement, with coverage tracked per registry and new gaps fed back through the same Save Code Now route. ### Scanning the archive The scanners I’ve been building under git-pkgs can also treat the archive as a corpus rather than a backup, since they already run against any checkout. manifests parses package-manager manifest and lockfiles across ecosystems, licenses does fast SPDX detection against the ScanCode rule corpus, and brief reports a project’s whole toolchain and conventions as structured JSON. With swh-git in front of them the checkout comes from the archive by SWHID instead of a live forge, and any of their outputs anchored to a `swh:1:rev:` is reproducible by anyone with the same identifier. Longer term I’d like to try running these against the SWH graph dataset export directly rather than one Vault checkout at a time, which would make questions about lockfile adoption or license drift across whole registries answerable from preserved source rather than whatever happens to still be online. Software Heritage has already built the archive and standardised the identifier; what I’ve been doing is plumbing to reach it from the package-management side and to point ecosyste.ms data at the repositories where another crawl would help most. All of it is MIT or Apache-2.0 licensed, and I’d be very happy to see any of it picked up or replaced by something better.
000 0
Andy Jackson @anj.digipres.club.ap.brid.gy · 01/10/2026
"load-bearing empty referent"
000 0
Andy Jackson @anj.digipres.club.ap.brid.gy · 01/10/2026
Gah must stop composing barbed replies to DG's LinkedIn thread that I probably shouldn't send! 😂
000 0
Reposted by Andy Jackson
Henrik Schönemann @lavaeolus.fedihum.org.ap.brid.gy · 28/09/2026
RE: fedihum.org/@SafeguardingResearch/1… It took some time, but it's finally here: @SafeguardingResearch's call-to-action re Saxony-Anhalt safeguar.de/src_sachsen-anhalt One part that's very important to me: "In addition, we call on the civil society to not […]
fedihum.org
Original post on fedihum.org
0015 15