← Back to Blog
pullmdopen-sourceagplclaude-codeApril 30, 2026 · 5 min read

PullMD Part 4: From My Tool to an OSS Project – Simply Explained

PRIVATE → PUBLIC OSS · AGPL-3.0
Editorial diagram: PRIVATE on the left, PUBLIC OSS on the right, separated by a glowing threshold; AGPL-3.0 license boundary card and PullMD/MD nodes.Editorial diagram: PRIVATE on the left, PUBLIC OSS on the right, separated by a glowing threshold; AGPL-3.0 license boundary card and PullMD/MD nodes.

On April 25 the small tool I had built for myself was finally ready to go public. The code was done. The README was not. And the internal working name had not yet been swept out of the source tree.

There were two reasons that name was never going to be the final one. Both had been sitting in my head since early March.

Reason 1: The Old Name No Longer Fit

The tool had grown up under a working name. A bit of wordplay that leaned on a Reddit reference — obvious at the time, because back then it processed Reddit links and nothing else.

By now it was something quite different. It handles any web page. Reddit is just one of several paths through it.

A name that sounds Reddit-specific when the tool is actually universal — that is not a small thing. Anyone who reads the name immediately has the wrong expectation.

A wrong expectation isn’t a branding problem. It’s a support question that hasn’t been asked yet. From plain naming hygiene alone, something neutral was needed.

Reason 2: The Old Name Was Legally Borderline

There was also something else. The old name sounded phonetically a bit like the name of a well-known brand — from an entirely different industry, but one with a reputation for going after small projects whenever its name turns up somewhere.

The probability of an unpleasant letter was low. But “low” is not the same as “zero”. Three weeks of legal back-and-forth, even if I’d be in the right at the end of it, would simply not be a sensible use of time.

Thirty minutes for a thorough cleanup of the source tree, or the risk of a lawyer’s letter. The thirty minutes seemed more sensible.

The New Name: Descriptive, Boring, Good

The service pulls content from web pages — “pull” — and returns it as Markdown, a simple text format — “MD”. That’s the whole story. The name is now PullMD.

No wordplay. No reference to anything. Anyone who reads the name knows immediately what to expect.

“Sometimes the best name is the boring one.” That holds up.

The License — What Even Is That?

When you put code publicly on GitHub, you have to decide: what are other people allowed to do with it?

A license is like a small notice pinned next to a community bulletin board: “You may take this — but only under these conditions.” Without that notice, legally, nobody is allowed to do anything with it.

There are many such licenses. The two most common ends of the spectrum:

MIT license (named after the university where it originated) — very permissive. Take the code, do whatever you want with it, you owe nothing in return. Ideal for tools meant to spread as widely as possible.

AGPL (Affero General Public License) — stricter, in one specific way. If someone runs the tool as an online service and builds improvements into it, they have to publish those improvements openly as well.

For a small helper program MIT would be the natural choice. For a running service that someone could offer over the network — which is what this tool is — the question is different.

If someone takes PullMD, improves it, and offers it as their own online service without sending the improvements back, I never learn what the real weak spots in my tool are. AGPL is what prevents that.

This is not an ideological statement. It is a very practical thought: who has the incentive to report a bug once they’ve found it?

So Other People Can Run It Too

Up to that point the tool ran only on my own infrastructure. Anyone who wanted to install it at home would have seen my personal server addresses scattered through it.

That had to change. A single settable variable — call it the “own address” — now makes sure the tool runs on any domain you like, without anyone having to poke around in the code.

The README got a complete rewrite. No more internal shorthand, no notes that only made sense to me. A stranger should be able to read it and understand.

The Moment of Going Public

One command, one second, and the repo was open.

A handful of small polish commits followed over the next two days — the kind of thing you only notice once you look at your own work with real distance for the first time. A footer here, a layout detail there.

The tool sits open on GitHub now, at github.com/AeternaLabsHQ/pullmd. Anyone can take a look.

What’s Left at the End

A tool I use every day. For Reddit posts, for articles, for documentation pages — for anything I want to bring into a chat as clean text.

What started as frustration over an awkward copy-and-paste moment is, eight weeks later, a small piece of software I use daily. Open source or not — it was worth the effort.

Since April 25 a small statistics database runs alongside it. It collects which path works best for which kind of page — so the next bug doesn’t sit unnoticed for weeks.


Part 4 of 9 in the PullMD series.

PullMD Part 3: Beyond Reddit, Beyond Readability | PullMD Part 5: Reddit Day and First Issues