888888.888888.88""Yb..dP"Yb..8888b..Yb..dP.88b.88....db....8b....d8.88..dP""b8..dP"Y8
88__...88__...88__dP.dP...Yb..8I..Yb.YbdP..88Yb88...dPYb...88b..d88.88.dP...`".`Ybo."
88""...88""...88"Yb..Yb...dP..8I..dY..8P...88.Y88..dP__Yb..88YbdP88.88.Yb......o.`Y8b
88.....888888.88..Yb..YbodP..8888Y"..dP....88..Y8.dP""""Yb.88.YY.88.88..YboodP.8bodP'


88b.88.888888.888888.Yb........dP.dP"Yb..88""Yb.88..dP
88Yb88.88__.....88....Yb..db..dP.dP...Yb.88__dP.88odP.
88.Y88.88"".....88.....YbdPYbdP..Yb...dP.88"Yb..88"Yb.
88..Y8.888888...88......YP..YP....YbodP..88..Yb.88..Yb

June 1, 2009

The GPL debate seems to be abating now with the conclusion that buying a theme means paying for support, or, for those that are simply not going to release under GPL that they will live with the consequences of being left out of official channels. Is this the final solution though?

The big question is where can premium theme authors go now? The problems are clear. Selling a theme means giving the purchasers all the power. You hand over the files and trust that, because they paid for it, they won’t want to give to others for free or worse make a few tweaks and claim it as their own. This is the problem that paid-for themers need to solve, but is the solution a legal or a technical one?

Resolving the whole GPL question through a test case would be a great first step. Everyone has a different opinion of it including the opinion that it is entirely unenforceable. Sure, themes will still need to be GPL licensed to get into the new GPL licensed paid-for theme repository, but that hasn’t stopped themes selling so far and I doubt it will in futre.

The second option is to find a clever way of building themes so that they key components do not need to licensed under GPL. This is a simple enough matter really and it surprises me a little that so few people have done it. All it takes is a set of generic processing classes that operate on the data that is passed to them so they could work on any platform. The theme can then be used to create a bridge between WordPress and the classes. They wouldn’t be able to directly connect to WordPress by creating admin pages but they could do a lot that would make it pointless releasing the theme without them.

Finally you can go one better: a hosted theme solution.

There is one very good reason why a hosted solution isn’t a great idea and that is security. WordPress doesn’t have a template engine as such, it just processes raw PHP. Hosting PHP files means using eval to run the code or including files from an outside source, something that many hosts turn-off for security reasons, so as it stands this isn’t a goer. However, if a templating language was available, and I have no doubt that one could be created as a plugin relatively easily, this would all change.

Imagine a solution where you sign-up to a hosted theme solution. All you need is a monthly subscription and the plugin. From there you get access to a massive number of premium themes. But more than that, you also get the means to modify those themes online (think Squarespace), upload new images, change the font’s and layouts in fact anything you could ever want, and see those changes reflected on your site.

Theme developers get to sell themes without the problem of redistribution as a code would be needed to even download the files, all the key functionality would be on the hosted server and not downloaded by the user ever, users get advanced tools for altering themes, probably more advanced than could be built for WordPress alone and the issue of GPL just goes away.

Perhaps there is a fourth option, if you have any other ideas I would love to hear them, perhaps things will just go along as they always have without a definite answer or solution. It is even possible that the new GPL paid-for themes area on WordPress.org will kill off any themes that are not part of it. The only thing I am sure of is that it isn’t over.

Updating Code Snippets Here
Fun plugins wordpress?
no comment
page 1338
Quick N Dirty Offline Status
How to make my offline and update database if i exit the page?
no comment
page 134
Post Image The Easy Peasy Way
How to attach image to page in wp?
26 comments
page 1065
Html 5 Gallery
Html 5 and wordpress?
6 comments
page 1305
Premium Ithemes Review Photo Gallery
Ithemes child themes?
4 comments
page 226
Html 5 Gallery
Photo gallery html5?
6 comments
page 1305
Categories Vs Tags Either Neither Or Both
Wp tags vs categories?
12 comments
page 7
Fun With Theme Widgets
Fun with theme widgets?
24 comments
page 867
Fun With Sidebar Tabs Styling
Wordpress sidebar background image?
2 comments
page 336
Wordpress Chat
Wordpress chate?
3 comments
page 1308
3 Ways To Speed Up Your Blog Without A Cache Plugin
Speed your blog?
one comment
page 1321
Quick N Dirty Replacement Text
Wpinsertpost returns 0?
no comment
page 122
My Experience Of Flexx
Flexx theme review?
4 comments
page 1026
Wordpress 25 Exif Fields
Exif wordpress?
12 comments
page 230
Html 5 Gallery
Html5 image gallery?
6 comments
page 1305
Pause For Thought For The Day
Pause for thought for the day?
3 comments
page 1282
Post Image The Easy Peasy Way
Image url post code php?
26 comments
page 1065
Updating Code Snippets Here
Widget for wordpress fun html?
no comment
page 1338
Fun With Sidebar Tabs Styling
Wp sidebar tabs vertical?
2 comments
page 336
Updating Code Snippets Here
Rewrite specific category wordpress?
no comment
page 1338
Updating Code Snippets Here
Rewrite specific category wordpress?
no comment
page 1338
Updating Code Snippets Here
Rewrite specific category wordpress?
no comment
page 1338
Updating Code Snippets Here
Fun wordpress theme?
no comment
page 1338
Html 5 Gallery
Html 5 tabs?
6 comments
page 1305
Creating Custom Urls
Addactiontemplateredirect?
6 comments
page 80
Six Million Ways To Die Choose One
Very simply way of die?
14 comments
page 1128
Wordpress Chat
Wordpress chat?
3 comments
page 1308
Post Image The Easy Peasy Way
Wordpress show image size in posts?
26 comments
page 1065
Quick N Dirty Admin Login Screen
Loginhead?
no comment
page 128
Html 5 Gallery
Photo gallery html 5?
6 comments
page 1305
Why I Ditched Disqus
Intense debate turn off comments on pages?
5 comments
page 1175
Post Image The Easy Peasy Way
Cant select large image post wordpress?
26 comments
page 1065
Html 5 Gallery
Wordpress html5 player plugin?
6 comments
page 1305
  1 query every 1348 seconds, updated 1 seconds ago.
Monday, 5pm
 __
(__)
   `

 andrew

Yes, it would be essential that no PHP was being passed down the line, even then though there would be Javascript. It would take a good degree of trust.

Monday, 5pm
 __
(__)
   `

 andrew

It does open up some other worms as you say. For one thing, there would need to be guarantees that if the site stopped running you could download the current theme, or your amendments.

On the other hand, if you could offer out your amendments to others and get a share I imagine there would be a draw in that.

Monday, 12pm
 __
(__)
   `

 Ryan

I’m surprised no one has made a templating plugin for WordPress yet. I think even I could do that and I’m no programming genius. Aside from the licensing issues, I could see that being a useful way to know that the theme you are downloading won’t contain any hidden nasties in there since it wouldn’t be able to execute any PHP not controlled by the plugin.

Monday, 12pm
 __
(__)
   `

 Ian Stewart

I’d thought of pursuing hosted themes but rejected the idea when I asked myself if I would ever have used it. But you’re right, it would remove all the concerns about licensing (even if it opened up other cans of worms).

Monday, 8am
 __
(__)
   `

 Ryan

I already having something like this already. I didn’t intentionally build it for this purpose, it just happens to be a side effect of the way I setup the system for saving designs. My template generator can save data files which can be directly re-uploaded. They’re not covered by the GPL and they never even touch a single piece of GPL code as the template generator itself handles all of the processing.

I’m also working on a system closer to what you described above, albeit I’m not actually building for the purpose of releasing non-GPL themes, that’s just a by-product of the way it works.