I've wondered how "zero day" mutated from its original meaning of "pirated software cracked and released on the day of its commercial release" to "a software vulnerability of which the software's maintainers are not yet aware". There doesn't seem to be any connection aside from illicit cracking.
This is part of the evolution of w0rdz. Now, it just means "fresh". The l33t-speak mutated once it went from warez to expl0itz. This should be obvious. If not, i'm pretty sure they teach this in l33t 101 or even l33t 95.
Zero day has been used in this context for at least 15 years and means that the vulnerability has been publicly known for zero days, or rather it is an undisclosed vulnerability.
Wish "1day" would somehow make a comeback. "0day" sounds cooler, of course, but it was a lot easier to find 1day FTP warez sites in the wild than 0day sites.
Around the time of the end of my swapping of floppies back in the day, it was getting frustrating as none of the "cool" swappers accepted anything but 0day, and most would be annoyed if you couldn't regularly supply -7 to -14 day releases so they had a week or two to spread things to their downstream contacts before it'd be too stale. In other words a lot of them depended to a large extent on internal leaks... I remember receiving the occasional C64 game that was not even finished by the time it was spread.
That's pretty hilarious that they were doing that even before widespread internet. I think a lot of crackers got so caught up in building and maintaining face in their tiny community that they forgot the actual reason they were doing it, i.e. "people want to play video games without paying for them".