I’m working on a short-turnaround project with two developers, an ERP administrator, and other stakeholders. This is typically the kind of development project where any time spent on administrative overhead or communication (and re-communication) can hold up real progress.
So I set up a WordPress instance running the P2 Theme by Automattic this afternoon. P2’s closest equivalent is the Facebook News Feed: users can share status updates, blog posts, photos, links and videos with each other in realtime. But P2 is self-hosted, and can be used for just about any purpose, since you’re in control.
[wpvideo YYNW9iSj w=600 h=336]
I’ve got it set up as a private, password-protected internal development communications tool, but it can do all kinds of different stuff. I just think it’s nuts how easy the whole thing is to set up, customize, and use- a real benefit to productivity and communication, instead of a technological barrier.
My twitter feed (full of people in the WordPress community after meeting a ton of people at WordCamp Boulder last weekend) unexpectedly caught fire this morning on the #thesiswp hashtag. I had no idea what the fuss was about, but I wasn’t surprised when I read into it: the item in question is Thesis, a robust premium WordPress theme that costs a minimum of $87, and whose source is under a closed software license.
The debate and confusion is really about the licensing status of custom WordPress themes. WordPress is covered by a copyleft license which requires that works derived from the software be covered by the same free, open source license (specifically, GPL v2.) But “derivative works” is a pretty vague concept, and can be interpreted in many different ways. That’s why WordPress founder Matt Mullenweg wrote the Software Freedom Law Center, some of the most experienced legal experts on libre software issues. They provided a rather comprehensive interpretation of the issue:
“In conclusion, the WordPress themes supplied contain elements that are derivative of WordPress’s copyrighted code. These themes, being collections of distinct works (images, CSS files, PHP files), need not be GPL-licensed as a whole. Rather, the PHP files are subject to the requirements of the GPL while the images and CSS are not. Third-party developers of such themes may apply restrictive copyrights to these elements if they wish.”
This falls in between WordPress developers’ wish that the whole community support libre software and Thesis’ completely closed license. Theme PHP must be GPL-compliant, but the graphics and CSS may be licensed otherwise.
As someone who makes custom themes for clients, I am familiar with the feelings of apprehension about open sourcing some of your work – often done for a client who neither knows nor cares about the finer points of free software principles. The common fear is that by giving away your code, you also give away your business model. This couldn’t be farther from the truth. (Unless your business model depends on every customer abiding by your copyright – a foolish strategy in light of how easy it is to pirate web app source code, not to mention an overvaluation of the originality of your source code) (UPDATE: WordPress’ own Jane Wells points out that it’s even less complicated than this for custom theme work, as you only must publish your source under GPL if the theme itself is publicly distributed.)
The truth is that many companies comply with the GPL, retain their trademarks and licensing rights (including WordPress theme graphics and CSS), and do so to great profits. Google, Apple, Facebook, Red Hat, Novell, and countless others make their GPL source available – as do many other WordPress premium theme makers. You can sell themes as long as your PHP complies with the GPL. Pirates can easily copy the rest of your theme regardless, but embracing the GPL not only complies with copyright law and the license terms, but it supports the ideals that made WordPress possible, and makes the whole community project stronger for everyone. And you don’t have to go out of your way to be financially sustainable while doing so, either. Novell and Red Hat sell their entire OS open source under the GPL, the Mac OS X kernel and UNIX userland is open source, so there is no reason why a WordPress theme can’t be both GPL-compliant and profitable.
In short:
Know the license before you use any software
REALLY know the license if you plan to make any money by reselling/extending/developing on top of that software
Comply with copyright law and license terms
Have a business model that relies on your ingenuity and competitive advantages, not on often-disrespected intellectual property laws. If it works for so many on the Fortune 500, it probably can work for your small business.
WordPress 3.0 gets a slightly tweaked administrative UI - but more work on this component will be made before the final 3.0 release.
The highly-anticipated WordPress 3.0 its first beta release. While the amazing core team of my favorite open source web app still have a long ways to go, I just couldn’t resist taking the beta for a spin on my test server. Below are my own first impressions of the new stuff- if you don’t care about my opinion, check out the beta announcement. Most of what I have to write about here is from the perspective of a site administrator who wants to properly manage their website content for their publishing needs, so please forgive me as I grossly overlook a lot of the more technical backend changes in 3.0.
WordPress 2.0 came out in February 2005. Several of the “point releases” since then have been major revisions, but none that the WordPress team has determined worthy of an increment in the major version number. When complete, WordPress 3.0 will accomplish a few major things that will take it into this new decade:
A new default theme
The merging of WordPress with the separate WordPress MU project, a complex customization of WordPress designed for sites hosting many users’ blogs at once (WordPress.com is a WordPress MU hosted blog service.)
Custom post types and menu editor
New default theme: “Twenty Ten”
WordPress 3.0 will finally feature a new, customizable default theme.
WordPress has included a default theme based on Kubrick since 2005. To this day, Kubrick is a quite good starting point for a normal blog theme, and plenty of people more concerned with their blog’s content than presentation have opted to keep the default theme. WordPress has evolved to support a lot more than blogs over the years, though, and site managers have had to work hard to get the site to present their information in just the way they want it. While custom themes make this a nonissue for anyone with enough resources to implement one, the new default theme in WordPress makes the app much more flexible out of the box for customization of unique websites.
“Twenty Ten” is widgetized to the brim, allowing WordPress widgets to be created and moved with drag-and-drop ease. Widgets are great because it empowers even nontechnical content producers to control a large amount of their site’s visual presentation. Like Kubrick, Twenty Ten also has a simple way to upload a custom header image.
The new theme also uses the HTML5 <!DOCTYPE html> doctype declaration, which will have all new WordPress installations using the new doctype unless they then implement a custom theme.
Menu editor
WordPress currently contains little out-of-box control over site navigation features, leaving publishers to either hardcode their site navigation into custom themes, or use third-party navigation plugins or theme features. The 3.0 version will bring a menu editor into the core application:
The editor allows publishers to easily create multiple navigation menus with a mixture of internal WordPress pages, category listings, and external web links. This feature is still undergoing heavy redesigns, and includes warnings of more improvements and UI changes to come. Once finished, custom WordPress themes will need to add support for this new feature. Old themes will work fine without it, but won’t enjoy the added functionality.
Custom post types
WordPress currently segregates all content into two classes: “Posts” for blog-like content usually presented in chronological order, and “pages” for more static content. While WordPress started as a blogging web app, it developed more and more momentum as a legitimate Content Management System (CMS) for sites much more complex and customized than the traditional blog hierarchy and layout. Sites wishing to present a lot of different kinds of pages have trouble adapting WordPress to their needs, often going to other CMS products better suited to complex page taxonomies.
WordPress publishers, groan no more! The custom post types feature will allow custom post types instead of the default “post” and “page” types. Unfortunately, I couldn’t find any of this new functionality in the administrative UI – I assume that the feature must have yet to be added to the GUI. (Or that I am an idiot who just overlooked it.) Regardless, web developer Konstantin has a great preview of the current custom post functionality, which must be implemented at the PHP code level.
Other neat stuff
I noticed a few new lines in wp-config.php‘s unique keys section for salted hashes. If you think a “salted hash” is something you’d eat for breakfast, just trust me that it’s a good thing for security with your WordPress database. I don’t know if previous WordPress versions didn’t salt their password hashes, or if this is just refactoring of existing functionality.
The “Export” feature can now filter exported posts by date, author, category, content type, or restricted status.
My current site theme, a rather complicated one, didn’t break at all with WordPress 3 – it just didn’t support some of the new features that require hooks into the theme files.
Initial setup now asks for a custom admin password. Previously, there was a counterintuitive automatic generation of a password followed by prompts to change it.
What’s missing / making me gripe
Most of the administrative interface is unchanged. While it has become very usable overall, and I have trained plenty of nontechnical content managers to use it with ease, it still has some sections that need revision.
As I mentioned before, custom post types must be implemented at the PHP level – meaning only skilled developers can do so.
I would like to see an overhaul and extension of WordPress’s really nice media library features.
Integrating custom forms and JavaScript is a real pain in WordPress, usually requiring the use of external plugins or tricky hacks.
Conclusion
WordPress has already been my favorite content publishing platform for a long time, and in the last few years it has become a legitimate and powerful CMS. Recent updates from the team have brought some awesome enhancements and new features, and WordPress 3.0 looks like it’s going to do even more of this than I’ve come to expect. I think that the custom posts and menu editor alone will propel WordPress to even higher popularity and usage on all kinds of websites.
VaultPress is, in short, a cloud service that provides automatic cloud-based backups, uptime monitoring, and security updates for any WordPress instance. They’re planning to charge about $10/month for the service, but will finalize the details at a later date.
As a WordPress administrator, blogger and consultant, I couldn’t be more excited about such a service. WordPress is one of the biggest Content Management Systems (CMS) out there, and powers everything from personal blogs (like ZekeWeeks.com) to the New York Times. But like any web application, it requires backups, uptime monitoring, and quick responses to emerging security vulnerabilities. For people like me who administrate several clients’ WordPress instances, the overhead of such management is a serious challenge. VaultPress looks as if it will provide a great centralized way to do this for WordPress blogs of any size. And if the pricing turns out to be so low, it will be accessible to many, from the individual blogger to the biggest company.
Those wanting to get in on the private beta may apply for it here. While I’m not yet offering VaultPress as part of my custom WordPress consulting solutions, I’m keeping an eye on it for the future. And if you’ve been thinking about your own web strategy recently, (shameless plug alert) I love nothing more than putting people in command of their own web presence with tools like WordPress- feel free to drop me an e-mail at (my first name) @ZekeWeeks.com .