I discovered around the start of this month (July) that the BBCode parser I'd been using was covered under the GPL. This is bad.
See, here's the thing: CMXpress is covered under a BSD license, which is about as open as open-source gets: Free as in speech, free as in beer, you can download your copy, modify it, sell it, do anything you damn well please with it --- you just can't claim you wrote it. Which is fair, I think: BSD and similar open licenses have helped spur the development and the spread of a huge number of software packages.
The major competing open-source license is the GPL, which is similar in principle, except for two things: First, you can't take the code, modify it, and not release your modifications to the public. BSD allows you to have a private copy, effectively, and GPL doesn't. Second, the GPL is, as Micro$oft rightly argues, somewhat like a virus: It infects everything it touches, and overrides everything it touches. If I had (stupidly) included that GPL'ed BBCode parser with CMXpress, CMXpress itself would have been forcibly covered under the GPL.
I don't like people telling me what I can and can't do.
So the old GPL'ed BBCode parser is out, and I couldn't be happier, really. It wasn't really that great a piece of code to begin with; it was cranky and somewhat inflexible, didn't handle whitespace in ways I really wanted, and the original author stopped supporting it two years ago. I did some searching, and there weren't any other good BBCode parsers out there; seems a lot of people are looking for one, and nobody's written one...
...Until now. Introducing NBBC, a fast, flexible, well-documented BBCode parser that's covered under a BSD license. Unlike most open-source code, it's well-commented, includes a huge user's manual, includes several examples, and is small and lightweight to boot. It's a validating parser, meaning that no matter what broken garbage your users type in, you get XHTML 1.0 Strict out. It runs under PHP 4.0.5 or later, and is everything that old parser wasn't. It's long overdue. Go download your own copy now.
NBBC will quickly replace all of the places where I used that old BBCode parser: It's faster, more flexible, works flawlessly right out of the box, and has a nice API for adding extensions and new tags and smileys and other stuff.
NBBC is hosted by SourceForge, and I have mixed feelings about that. On the one hand, SourceForge is a nice clearinghouse for open-source projects. On the other hand, SourceForge seems to me to be a royal pain in the @$$ to work with, and somewhat slow. Still, I'm giving it a try, and maybe SourceForge will grow on me over time.
And those of you who have been wondering where CMXpress is can stop wondering: CMXpress has been inside the garage while I replace its BBCode parser and get rid of anything that smells even vaguely like the stink of the GPL.