Published by Mijingo

movie icon image

EE Insider Blog

Spend your time learning and developing sites with ExpressionEngine and we'll use this blog to keep you informed of all the news related to ExpressionEngine and CodeIgniter.

» Read more in the Archives.

» Have a tip? Send us your EE news.

Learn ExpressionEngine Today

Over a series of 8 videos, watch and learn as Ryan builds an entire ExpressionEngine website from beginning to end. Get started now.

What is EE Reactor? (Revisited)

A couple of weeks ago, I wondered aloud on this site what EE Reactor is and even tossed around some ideas about how it would work. There was some push back in the comments and in private conversations but the reason behind my write-up still stands firm: don’t publicly talk about projects that are unannounced in a way that makes them seem announced. It’s confusing. Even to this so-called insider.

That’s what led me to speculate about the EE Reactor project. The part of my theory that EE Reactor would be a separate download for license holders wasn’t correct. In the comments, Leslie Camacho (EllisLab CEO) chimed in and noted:

There will only be EE proper, like Media Girl said. We’re not doing the Magento thing with multiple editions.

So, there we go. EE will be EE. Good news. How the flow of Reactor code changes to the EE releases will work isn’t finalized, according to Leslie. He said the plan is to allow “as much autonomy as possible in terms of what they want to work on” but they won’t have free reign on pushing out changes. The plan right now is that EllisLab would have tight control of the process and code would be thoroughly tested and reviewed, similar to how CodeIgniter works.

In response to my worry that developers would be, without a doubt, working for free to help improve a commercial product that could improve the amount of money EllisLab makes, Leslie answered:

People contribute to projects because it helps them in some way, because they like adding to something that makes a difference in people’s lives, and because they simply love doing it.

I couldn’t agree with this more but it does generalize the issue a good bit and flatten some of the nuances of this arrangement.

In the days following my article, I had conversations with various people in the community to get their opinion on the EE Reactor idea. Here’s what I heard:

  • Great idea and a huge testimony to how great our community is.
  • EllisLab should hire more developers instead of allowing people to work for free.
  • What does this mean that EllisLab needs outside developers to make their product better?
  • Dumb idea!
  • This might allow developers to get their feature requests in so they can build better products.

Let’s unpack some of these.

Is it spec work?

First, on the idea that EllisLab is allowing people to work for free on a commercial product. This is always a touchy situation, especially when it comes to design contests and spec work. Admirably, EllisLab speaks out against spec work in the information page for the Professionals Network.

Please note that asking for free or underpaid work in exchange for a reward at a later date is called Speculative Work (spec work) and is not a standard business practice among professional designers and developers.

Does the EE Reactor work really fit the definition of spec work? Well, not really. The developers participating aren’t doing it in anticipation of paying work down the road with EllisLab or that they would get paid if there code fix or feature implementation gets pulled into the EE2 release product. So, in that sense it is not spec work.

What do you think?

In the comments of my article, Aaron noted with sarcasm:

If developers wanted to build products for me for free and then purchase them from me afterward, I’d welcome them with open arms too (If anyone is interested, please get in touch).

This is an argument that I’ve pondered myself but how the EE Reactor project came about was organically from the community (see Steven Hambleton’s comment), not EllisLab trying to strong arm developers into doing their work for them. Context is what matters here.

Doesn’t EllisLab Have Developers?

Yes, they do. And if you’re running EE 2.2 you’ll know that they’ve been hard at work chipping away at bugs, refinements and improvements. As I’ve mentioned before, if you used EE 2.0 and EE 2.1, you can immediately appreciate the difference EE 2.2 makes. It’s not a redesign, a redevelopment or anything of the sort. But it is a big improvement over what they had. While underwhelming compared to the Assets module by Pixel & Tonic, the File Manager is solid and better than what was shipped with EE 2.1.

So, EllisLab does have developers on staff. But they (we) are fortunate enough to have a room full of talented developers in the community. Will all of them participate in the Reactor program, if it moves forward after the initial test stage? I don’t know.

Creating Better Add-ons and Websites

One take on this is that by allowing EE Reactor to happen, the add-on developers can have more influence over the addition of new hooks they need and, most importantly, bug fixes that are keeping them from improving–or even releasing–their add-ons.

But it’s not just about developers. If a member of the EE Reactor team is building a website for a client and runs into a bug (and as of right now there are plenty, he or she could fix that bug and submit it to be included in an upcoming release of ExpressionEngine. In order to finish the site the developer would have to fix the bug anyway, so why not push that out for the benefit of everyone else?

Community

For a community that has a lot more commerce in it (add-ons, EE license, training materials) than other big CMS communities, we are never slow to help each other out. A group of developers seems willing to give some of their time in exchange for any of the above or nothing at all. Maybe they just want to help.

I was skeptical about this idea when I first heard it but after talking to others and hearing nearly all sides of the story, this looks like a great experiment.

Posted on Oct 04, 2011 by Ryan Irelan

Filed Under: EE Reactor, EllisLab, ExpressionEngine 2

Matt Perry18:41 on 10.06.2011

Allow me to play the devil’s advocate for a moment. 

Ellis labs should be wary about doing this.  To see why, consider the following scenario:

- What if rather than participate in reactor, groups of developers begin to modify EE in important ways by writing an add-ons.  (MANY core features of EE have originated as add-ons.)
-  Furthermore, what if these developers began to release said add-ons under an irrevocable free license like the GPL3.
-  Later, everyone wants these pieces of functionality as core-EE (again, lots of examples of this, like the pages module etc etc.)
-  Whoops—that’s impossible now due to a permanent license conflict.

I’m not REALLY suggesting that lots of developers will do this rather than participate in something like reactor.  After all, as an approach it’s a bit destructive and uncooperative.  But here’s the point:  if Ellis Labs wants to harness the current good will and energy of developers to commit code for free to its commercial product, it’s in their best interests to make this goodwill permanent by offering compensation for that activity.

If a large number of EE add-on devs were to begin releasing GPL software on top of EE, Ellis Labs is vulnerable to open source “infection” (if you will) ... where many of the the best new ideas are released GPL before the core devs have a chance to implement them.  This is currently not the case since the best EE add-ons are generally commercial, and not GPL.

In a nutshell:  be careful what army you conscript—it might turn against you one day.

By the way this is the exact inverse of the problem confronting a product like WordPress, which is GPL.  A famous WP add-on producer was not respecting the core product’s license, and this has caused famous fights in the past (see http://mashable.com/2010/07/22/thesis-relents/)