If someone takes your GPL work then modifies and sells it, that is not against the terms of the GPL provided they distribute it under the same GPL licence. That means that anyone who has the modified source code (and every purchaser should have it) can redistribute it for free again (under the GPL license).

If they are distributing the themes under a different license, then they are breaking the terms of the GPL.

If they are compiling or obfuscating any part of the program and not making the source code available to those they have distributed it to, then they are breaking the GPL.

I respect your passion, but it’s getting very close to concern trolling. It’s a shame that you come across that way sometimes, because you do have some smart things to say and the combative language often just stops people from listening. No one hands out prizes for winning arguments on the internet.

I just want to set the record straight a little here as some things have been said that aren’t accurate.

The flaming that Matt has received from @sadness above is unwarranted, unsubstantiated and quite cowardly.

I left Automattic to pursue my own interests both within and outside of the web development world. This was my own decision, there was no pressure from Matt or anyone at Automattic to leave. Before I left Automattic I talked with Matt about a bunch of possible directions for bbPress and my own options within the company. Whilst a lot of the ideas we discussed would make for interesting and important work, I didn’t feel passionate about it, and I was feeling a little burnt out after about 10 years of web development work.

_ck_ was always a constructive critic of bbPress. I always gave her plenty of my time so that she could fulfil that role. In the absence of a full-time lead on the project to hear that input I imagine that she felt her contribution in that regard was limited. It’s not that Matt isn’t good at listening, it’s just that he’s about 100 times busier than a full-time lead would be.

I’d also like to chime in on the future development path of bbPress a little. The idea of moving to becoming a canonical plugin I think is the only sensible way forward for bbPress. bbPress needs a bigger user base to be viable as a product. A big problem in the past has been justifying changes in WordPress for the benefit of bbPress, so the more users there are of bbPress the more accommodating WordPress will be in that regard.

WordPress development moves really fast, it was (and will be) totally inefficient to spend time and energy maintaining compatibility with WordPress as a stand alone product, when bbPress can get all that stuff for free as a plugin. There is a ton of common code between WordPress and bbPress now (mostly in the form of BackPress). That should all go away. The PHP framework is WordPress. The only issue is bloat for those using bbPress as a standalone product. WordPress + bbPress plugin will be a lot of code, and will probably be slower than bbPress 1.0 (and almost certainly slower than 0.9). But by hooking into WordPress, a lot of the work that has been done and that will be done in the future to speed it up will be gained. It’s a case of “two steps forward, one step back” but I think it’s the right decision for the project.

Although there was a lot of effort put into BackPress/bbPress 1.0, a whole lot of that work has ended up in WordPress, so it won’t be wasted development. The best vehicle going forward is the canonical plugin route. I suggest that the community gets behind that plan.

Thanks to memcache the average blog front page on WordPress.com uses only a handful of queries, sometimes as few as one.

“It absolutely cannot just rely on the mysql cache, even with dedicated mysql servers.”

From memory, WordPress.com doesn’t use MySQL query cache at all as it would need to be invalidated many times every second. We also would need to invalidate all slaves as well as the masters.

I think it’s important to say that you should only setup and enable any caching if you actually need it. Most people don’t and shouldn’t, all you do is add another potential point of failure into your site.