18 September 2011 ~ 13 Comments

From a Nowhere Nobody to Infinity

This post is related to our soon to be launched WordPress theme called Infinity, which myself and Bowe Frankema have, combined, invested well over 2,000 hours into. But before I get into the details of the “anti-framework” as we like to call it, I want to give some background and editorialize a bit.

Back in 1995 I was living with my mother and two brothers in a small three room apartment, and working for $4.25 an hour at a woodshop, 50 hours a week, every week. No paid holidays, no sick days, no vacation days, no benefits. I wanted a better life for myself and saved up for many months to buy a computer. I was proficient with computers, but the one my family owned was very old and did not have enough hard drive space to install the latest version of AOL, which at that time was the only way I knew how to get on the Internet.

I wanted a new computer because a friend of mine had shown me a web page he was building for his father’s software business. I was completely blown away by the fact that you could write code and upload documents to a remote server and have your own public presence on web. This friend also told me that his father was going to start building web sites for other businesses as an additional source of revenue. Make money working from home on a computer? I wanted in, badly.

I eventually paid $2,500 for a 200 MHZ Gateway computer which I ordered by phone, sight unseen. Just some quick math, after you take out a chunk for taxes, that computer cost me over 700 hours of blood sweat and tears working in the woodshop. When the cow print box showed up a week later, I began a journey that continues to this day.

After work the following day I stopped by Egg Head software to drop even more money on a 14k baud modem and a book. The book was titled Learning HTML 4.0. There was a bit of luck involved here because I had to tell the clerk that I wanted to build a web page and I needed a book. After a long discussion with another clerk, they decided that I probably wanted an HTML book, but they weren’t quite sure. I had no idea what HTML was, so I had to take their advice.

I began playing around with building web pages for fun, eventually put out some horrendous web sites for low paying clients, and after a couple of years landed a full time job as a “webmaster.” I thought I was king of the world. I even put “Webmaster” on my business card. Soon after that I began to play around with PHP, and I think am probably one of a small percentage of people that can say they have over ten years of experience with developing PHP applications.

Fast forward many years, many cubicles, and many clients later to the present, and here I am. I have worked hard, very hard. I have had many great successes, and many great failures. I have a beautiful wife, two beautiful children, I own a home, a minivan, a truck… many of the things that we strive for and sadly many of the things that we use to measure success. I am pretty happy and want to stay that way.

When I look back on the past 16 years of my life, and ponder how I got to this point, and think of all the jobs, people, and experiences that have contributed to my happiness, I can say, without a doubt, the biggest contributor is free open source software. Without FOSS I might still be working in that woodshop, working 10 hours a day for peanuts. If any developer who is reading this cannot say the same thing, then you are most certainly lying to yourself. Linux, Apache, PHP, MySQL, jQuery and WordPress among countless other software distributions are 100% free to download, use, modify, fork, re-distribute and even sell without limitation. Without these technologies you might be doing something else which is a lot less fun than developing websites and/or publishing content for a living.

I became involved with WordPress about two years ago when I stumbled across the BuddyPress plugin when researching for a project. I have always had a love/hate relationship with WordPress because I am constantly coming across things that I would do differently, and I have never been a very good compromiser when it comes to code. What has kept me interested in WordPress are the friends I meet, and the amazing economy around it. I have built my consulting business around WordPress, and rely on the economy to pay my mortgage and put food on the table.

I am worried though. When I look around the WordPress community I am seeing a mass move towards the commercialization of all of the newest and best discoveries and innovations. First to market ideas are using license keys to lock down their plugins and leveraging the revenue from these micro monopolies to gobble up traffic by purchasing the best points of exposure. I am certainly not saying that developers do not deserve to be paid for their hard work. They do, everybody does. What I am saying is the fact that GPL’d software is being locked down with license keys not only seems to fly in the face of what GPL is all about, but also seems to be coming widely accepted as the “right way” to earn revenue from your code. I am only picking on license keys, because to me personally, it is the most troublesome, but there are many other models being used that have pushed just as far into the gray area of GPL where ethics and civil law begin to blur together.

Before you start ripping me to shreds for decrying a business model that is supporting so many talented developers, ask yourself this: What if the original authors of Apache, or PHP, or jQuery, or even WordPress had decided to lock down their innovations? Would they be as successful as they are? Would they still even exist?

I don’t have the answer for a better model, but you won’t find me pushing the limits of what is acceptable, because I am grateful for what FOSS has given to me and my family. I understand the spirit of the GPL. I am looking for ways to succeed and give back at the same time, not looking for loopholes. The GPL is a flag, not a shield. Carry it into battle, as high as you can raise it. If you fail at your endeavour, fail patriotically. Your brothers in arms will be there to pick you back up to fight another day.

This is why Infinity is, and always will be, free as in freedom, and free as in cost.

Our slogan for Infinity is “More freedom to create.” The goal of the project is to not only improve the workflow and increase the productivity of designers and developers, but to also give them absolute independence from many of the (buzzword alert) “theme frameworks” which end up locking you into their business model. Most of the WordPress projects out there that we come across are licensed under the GPL, as they should be, but have varying degrees of “freedomness.” Freedomness is a made up term we use to call attention to how closely a project adheres to the GPL after accounting for loopholes. Things like license keys, dual licensing, split licensing, etc. One of the favorite loopholes using split licensing is to ship a product under GPL, but claim that the CSS and/or javascript are not GPL (don’t be fooled).

Infinity is a parent theme, or base theme, depending on your preference, but is unlike any theme created before it. It contains all of the tools you need to build your own theme, which will itself be more powerful than any theme which currently exists. Since one of our main goals is to break the mold, we are calling Infinity an anti-framework, a theme to free you from frameworks. We want to build a large community of developers who want to help each other succeed in a healthy economy, not a divided one. Even with that said, we encourage anyone who wants to fork Infinity to do so. You have our blessing. We would prefer that you join and make contributions to the community and all it will have to offer, but if you want to use a forked Infinity as a base for your business, then we want you to succeed.

Over the next several weeks we will begin rolling Infinity out. Initially we will be releasing the source to a few friends to solicit feedback and test results. Assuming that all goes well, we will officially launch Infinity sometime in October. Select WordPress developer community blogs will be given the source at least a week prior to launch as an opportunity to prepare any news pieces, editorials, tutorials, etc that they may wish to release on launch day. We will do our best to make ourselves available for technical editing should it be needed.

Thanks for taking the time to read my little rant, and a special thanks to all that have supported me over the past year.

13 Responses to “From a Nowhere Nobody to Infinity”

  1. Boone Gorges 18 September 2011 at 7:42 pm Permalink

    Thanks for the post, Marshall. It’s great to hear mini autobiographies of fellow developers (funny how we all got where we are through a series of accidents), and I’m really looking forward to checking out Infinity.

  2. shawn 19 September 2011 at 2:32 pm Permalink

    Your project sounds quite interesting. Really looking forward to it.

  3. Carl Hancock 29 September 2011 at 3:03 pm Permalink

    Your rant against license keys is way off base for how most GPL based plugins utilize them. They aren’t used to lock down a plugin. They are used to interact with web services that the plugin relies on for certain interaction and that web service may or may not be a commercial service.

    Take Akismet. It is a hosted anti-spam filter. The plugin uses a license key, in this case they call it an API key but let’s be real it is a license key. This license key is required to interact with your Akismet account so that your site can communicate with Akismet to check for spam. This doesn’t fly in the face of the GPL, frankly it has nothing to do with the GPL.

    Take our product. Gravity Forms. We use a license key system to manage automatic updates and to interact with functionality and features that come via our hosted API web service. The license key has nothing to do with the core functionality and doesn’t lock down with Gravity Forms does. It simply gives you access to functionality and features that come via our web service.

    Other examples include plugins for MailChimp, Campaign Monitor, RezGo, etc. There is absolutely nothing wrong with a GPL plugin that requires a license key to interact with a service.

    That is how all of the GPL plugins that use license keys work, at least that I am aware of. It isn’t locking down and preventing users from using the plugin. It’s locking down and preventing non-paying users from using a web service. HUGE difference.

    The GPL does not apply in these situations because the web service does not need to be GPL. It doesn’t fly in the face of the GPL or the “spirit” of the GPL and anyone claiming otherwise is completely off base or misinformed when it comes to how GPL plugins are using keys.

    • Marshall 29 September 2011 at 8:18 pm Permalink

      Ok, first of all. You totally ripped me in public. You called me a militant, a zealot, and in a roundabout way uneducated and inexperienced with WordPress.

      You don’t know me, so just to get this out of the way, on a purely personal level… go f*ck yourself. I don’t care who you are, your behavior is unacceptable.

      If you don’t like my opinion then write an editorial instead of bashing me on Twitter.

      Now on to the actual topic.

      I made it perfectly clear that I was talking about license keys that are used to lock down a product. Show me where I said it was wrong to use license keys to protect a service. In fact the term “service” does not even appear in my post.

      I’m sorry if you think I have somehow done some kind of major damage to the commercial plugin cloud service market, but before you said anything this page had like 4 hits.

      I stand behind my post 100%. In my opinion people are circumventing the spirit and intent of the GPL by extending innovations given to them for free by other authors and NOT making it EASY to extend upon their new innovations. That is how I feel, deal with it.

      I didn’t mention you, or your product, or your business model in any way, so stop acting like a victim.

      • Marshall 30 September 2011 at 10:27 am Permalink

        I woke up this morning feeling bad about using the “f” word. Lots of people telling me it was a stupid move. I was pretty upset that some guy who doesn’t know me was attacking me personally.

        If anyone besides Carl was offended, I apologize.

  4. Carl Hancock 29 September 2011 at 3:06 pm Permalink

    I’ll also add that despite what you may think, split-licensing is not a “loop hole”. It’s explicitly allowed by the GPL. Anyone doing it is well within their rights and well within the GPL to do so. It’s up to the developer how they want to license their hard work. Railing on someone for not agreeing with your militant stance on the GPL by claiming they are taking advantage of loopholes is quite frankly a crock of shit.

    Gravity Forms is not split licensed, but I have no problem with developers that choose to go that route. We do use a license key, but again that license key is used for interacting with a web service API and has nothing to do with locking down the plugin for non-paying users.

    • Marshall 29 September 2011 at 8:21 pm Permalink

      Loophole – A loophole is an ambiguity in a system, such as a law or security, which can be used to circumvent or otherwise avoid the intent, implied or explicitly stated, of the system.

      Loopholes by definition are allowed. That is why I used that term. People are leveraging ambiguity to circumvent the intent of the GPL.

      That is my OPINION. I can’t be wrong (or full of shit).

  5. Ed 29 September 2011 at 4:39 pm Permalink

    Hey Marshall,

    I’m intrigued. Looking forward to taking Infinity for a spin. Feel free to send me the preview if you would like me to write up a quick review for your launch.

    As for the licensing trend – it is a concern. But, I still think the ecosystem is so broad and varied that there is a huge amount of choice for WordPress ‘consumers’ when it comes to theme/plugin selection. The small independent developers will always gravitate to making commercial themes/plugins – they gotta eat. If you’re a bigger outfit who can afford to build momentum with a free theme/plugin and then get value somewhere else down the line (child themes, add-ons etc.) then that’s nice too – but it all depends on the circumstances of the individual developer.

    Ed

    • Marshall 29 September 2011 at 8:43 pm Permalink

      I have no problem with commercial GPL software, or anything else. I care that the intangible freedom to do with it what you wish once you obtain a copy is being obstructed for no other reason but to increase profit.

      I also feel that failing to educate customers on the freedoms that they are being granted is an ethical failure, and is purposefully avoided purely to increase profit.

  6. Leo 29 September 2011 at 4:57 pm Permalink

    To infinity and beyond!

  7. lorenzo 29 September 2011 at 6:48 pm Permalink

    Hi,
    it has been nice to be here and to read about you and your thought.

    Best wished of success with the new Infinity WP Theme

    Myself and the community are eager to seen it.

    Thanks for your work and to be part of WP

  8. Ryan Imel 29 September 2011 at 11:51 pm Permalink

    Can you give some examples of the folks that are locking down their plugins and worrying you? I think that would help me better understand your view.

    • Marshall 30 September 2011 at 9:02 am Permalink

      I have a lot of respect for you Ryan. I am a huge fan of your site. I also respect that you need to ask that question, and I think you deserve an straight answer.

      But after witnessing Carl’s reaction, I hope you can agree that it would be a really bad idea to name any names.