This past week saw a huge dust-up over the issue of whether or not WordPress themes are GPL. It’s not my goal to rehash the debate, or even to discuss it in particular; instead, my goal is to share some thoughts I’ve had about software licensing, and in particular, licensing going forward as a result of the WordPress theme dispute.
The reality of the debate is that many, if not most of the participants are software developers of some kind – that is, they derive a considerable amount if not the majority of their income from developing applications of some kind. Given this liklihood, it makes much sense that they have a “dog in this fight” as much as anyone else. And so, the community is doing what it seems to do best: disagreeing, sometimes civilly, sometimes not, and trying to work out a solution.
Leaders of the open source community are always trying to encourage others to contribute. Volunteer contributors are always in short supply, and most open source projects are driven by volunteers, so recruitment is a big component of any open source project lead. Elizabeth Naramore put together a great list of reasons why people tend to shy away from contributing and did a great job highlighting some solutions. I want to add my own voice and experience about one of the truisms of open source development:
When it comes to making open source easier, architecture matters.
Recently, I began working alongside Wez Furlong here at Message Systems. One of the many tools we use is Mtrack. This tool is a port of Trac into PHP, along with the addition of some great new features. Spearheaded by Wez, it’s a great tool that we use internally for our projects, and since it’s stable, it’s worth mentioning to the world.
Mtrack is still in it’s early stages of development, but is certainly a stable piece of software that gets the job done. Having used it for a few weeks, I can say that it’s easy enough to learn, and has some distinct advantages to it over Trac for PHP developers. First and foremost, it is written in PHP, which makes it easier to administrate and maintain than a Python-based application. Second, it allows for multiple projects in the same installation by default, which is a significant improvement over Trac. Third, it allows you to have a repository on one server and an Mtrack instance on another server, and still be able to use that repository in your Mtrack instance. Mtrack also offers some great features, including built-in support for Agile-like development and a plugin architecture that makes writing plugins easy.
PHP 5.3 has been out now for eight months, and in that time lots of projects have made decisions to begin developing against this version of PHP. Juozas Kaziukenas makes the argument that you shouldn’t be afraid of PHP 5.3 and he provides a number of excellent points to support his argument.
I don’t dispute that PHP 5.3 is faster, better, cleaner, and more feature-rich than previous versions. In fact, I’m thrilled to develop for myself on PHP 5.3 and even released a guide for installing it on Ubuntu because the Ubuntu package managers didn’t put it in for the last release.