I Licensed My Dumb Little Script Three Different Ways and Watched the Internet Do Whatever It Wanted
Photo: OpenSourceZongo, CC BY-SA 4.0, via Wikimedia Commons
Writing code is fun. Writing a LICENSE file is where hobby projects go to die. So when I finished my dumb little script — a CLI tool that renames a folder of scanned receipts using OCR, because I have a filing cabinet and a grudge — I decided to do the thing most of us never do: I took licensing seriously for one entire month.
The plan was simple, if slightly unhinged. I published the same tool three times, under three different licenses, and kept a spreadsheet of what happened to each one. Here's what I learned about GPL, MIT, and the lawless frontier of 'just paste it on Pastebin.'
The Three Contestants
Version 1: MIT License. The 'do whatever, just don't sue me' classic. One page, everybody recognizes it, every corporate legal department has pre-approved it in their sleep.
Version 2: GPL v3. The viral one. If you build on GPL code, your derivative work has to be GPL too. Richard Stallman's ghost watches you compile.
Version 3: No license, hosted on a Pastebin-style snippet site. This is what roughly 90% of Stack Overflow answer code effectively is, legally speaking. I wanted to see what happens when code exists in a jurisdictional gray zone with a link that could rot by Thursday.
MIT: The License That Says Yes Before You Finish Asking
The MIT version got forked within 40 hours. A German dev fixed a regex bug I'd been ignoring. A guy in Ohio — same timezone as me, weirdly — turned it into a GitHub Action. Within two weeks, someone had wrapped it in a paid Mac app with a $9.99 price tag and zero attribution.
And here's the part that surprised me: that's fine. That's the deal. MIT is a handshake where you agree in advance not to be weird about it. The app wrapper didn't violate anything. He didn't even have to say thank you. A few people did credit me anyway, which felt like finding a $5 bill in a winter coat.
GPL: The Bot Fights Were the Best Part
The GPL version attracted a different crowd. Forks came slower, but the people forking had opinions. One contributor left a comment thread arguing about whether my choice of GPLv3 over AGPL created a 'hosting loophole.' Buddy, it renames receipts.
The real action came from license-checking bots. GitHub's automated tooling flagged two projects that had copied chunks of my GPL code without carrying the license over. I got automated emails about it. I did nothing — the bots did the arguing for me. One of the offending repos went quiet and quietly added a LICENSE file a week later. GPL's enforcement mechanism isn't lawyers; it's robots with a grudge and excellent documentation.
Pastebin: The Wild West
The unlicensed snippet version was the most educational. Code from it showed up in three places I could find: a Medium tutorial (uncredited), a YouTube walkthrough (uncredited), and — my personal favorite — a LinkedIn post by a 'tech thought leader' presenting my error handling as 'a pattern I've been refining for years.'
Legally? Without a license, none of them had permission to use it. That's the part nobody understands: no license doesn't mean free. It means 'all rights reserved' by default. Every one of those uses was technically infringement. Also legally? Proving damages on a script that renames receipts is a comedy prompt, not a lawsuit.
The Cheat Sheet I Wish Existed
After a month, my advice for everyday devs boils down to this:
- Want your code to spread? MIT. It's the extrovert at the party.
- Want companies to leave your code alone unless they play by your rules? GPL. The bots enforce it better than you would.
- Posting a snippet somewhere with no license at all? Understand that you've reserved all your rights and invited everyone to violate them. It's the legal equivalent of leaving your car running with the keys in it, but with more plausible deniability.
The receipts script itself? I settled on MIT for the main repo. Not because it's the 'best' license — there's no such thing — but because I'd genuinely rather have strangers improve my dumb code than protect a filing-cabinet revolution nobody asked for.
Pick a license. Any of the common ones. Just pick one, put it in the file, and stop letting your code be a legal haunted house.