Blog

The FieldFrame Controversy Explained

March 28, 2010

There’s a sudden controversy in the ExpressionEngine community about a piece of software called FF Matrix that has divided the ranks of EE developers. It’s a pretty fascinating look at the unanticipated ramifications of giving away your software to build your reputation and experience.

The Success of FieldFrame

About a year ago, a developer named Brandon Kelly released an extension to ExpressionEngine called FieldFrame.  FieldFrame is a set of additional field types that handily allowed users of EE to enter data with radio buttons, multiple select lists, checkboxes, and most importantly, matrixes (yeah, or matrices).

In a nutshell, a matrix was a field that, instead of containing one type of data, contained an array of data.  So, one field could contain a photo and a caption—or even more amazingly, a series of photos and captions.  Suddenly, you could create relationships in a more simple way, without as much database overhead and with a simple and powerful, javascript-y user interface.

FieldFrame, the extension, also gave developers a structure that allowed them to release their own field types without having to build the whole overhead of integrating that field type into EE.  So soon, map types, category types, member types, file upload types, and more appeared. There are at least 30 types of FieldFrame extenders now.

FieldFrame was released under Creative Commons license 3.0, share alike and attribution.  Basically, so long as the next developer promised to release their modifications to FieldFrame, if any, they could use Brandon’s work, and modify and adapt it as they pleased. Important to note: The Creative Commons license isn’t really supposed to cover software, but that’s the license it was released under, perhaps because at the time, brandon didn’t have extensive experience in software copyright law (and who among us really does?).  Shortly after release, Brandon’s software won awards from the EE community and has become extremely popular, to the point where it’s fair to say most major EE Web sites created today use FieldFrame. (At Hop Studios, we use it for most new sites).

One Day, Everything Changed

image FieldFrame versions 1.0 to 1.3.5 were released under the CC license.  Then, Brandon took a big leap.  He quit the company he was working for, and set up Pixel & Tonic, his own software company.  He had become a popular, successful extension writer for ExpressionEngine, and he wanted to start making money for himself off his software sales.

Around March 1, Brandon released FieldFrame 1.4, still for free and under a CC license, but from it he removed FF Matrix, which was definitely the most important and widely used part of the included field types. He simultaneously released FF Matrix version 1.5 as a $35 commercial product.  Many people congratulated Brandon on his success and his continued development for the EE community, but some were upset that he’d pulled FF Matrix from his site and was not still making previous versions of FieldFrame available for download.  If you didn’t have a copy of FieldFrame 1.3.5 or earlier, you were out of luck.

The Controversy

image That brings us to now. A site called EEMatrix (like FF Matrix, get it?) has appeared. And on that site, developer Alex Gordon is offering a version of FF Matrix called EE Matrix 1.3.5. For free.

On Friday, March 26, Alex posted this entry on the site’s blog:

Now the new version of FF Matrix is commercial, which is really sad.

So I’ve decided to improve the situation. The distribution of FF Matrix with Creative Commons Attribution-Share Alike 3.0 licenses up to the version 1.3.5 ensures the right of distributing this version respecting license rules. You can always download the original version 1.3.5 from here. Besides, I’ve decided to create the fork with the same license and support and develop it for free. Soon I will add the bug tracking system, but now you can send you bugs, questions and change requests using comments.

So the free Matrix field is finally back!

On that blog entry, reaction from other EE developers was swift, and over half the response was negative. Quickly, Brandon himself waded in and posted this:

This is fucked up.

Circumstances have changed for me. I’ve been pretty open about it: http://pixelandtonic.com/blog/ff-matrix-goes-it…

And by and large, the EE community has been very supportive of it (it’s only $35 anyway). Yet you didn’t so much as email me asking my thoughts on this?

The Attribution Share-Alike license is intended for FieldFrame itself. Yes, FF Matrix used to be part of FieldFrame, but that was no longer the case at the time you “forked” and released this.

Please take this down immediately.

Best,
Brandon

The questions being debated boiled down to: Who is legally right, and who is ethically right?

The Legal Story

Legally, the CC license doesn’t cover software.  So from one persective, the license is technically invalid.  But the idea of the license, and Brandon’s own admission of how he intended FF to be licensed, shows that legally he intended for FieldFrame to be shared and open, and FF Matrix is clearly not just part of FieldFrame, for many people, it was the heart of it.  The entire point of a CC license is to allow people to reuse, remix, cut, add, change and improve.  And that’s exactly what Alex Gordon is proposing to do by releasing FF Matrix, the part of FieldFrame that Brandon removed in 1.4. Legally, you don’t have to release the whole thing; that’s the point of being able to edit a work; you get to cut things out and keep the best parts.

The Ethical Swamp

Ethically, it’s a little more complicated.  Brandon clearly benefited from people using the CC license and from distributing his code out there.  The point of a CC license is that as a creator, you don’t have to spend time and money worrying if you’ve licensed your product the way you intend.  On the flip side, as a user or consumer of created content, you don’t have to worry about exactly the behavior that Brandon is trying to do, namely, that the creator will retract freely given creative works and make commercial something that was originally shared for re-use.

Basically, Brandon tried to take away something that he originally provided under a CC license, and that’s counter to the philosophy and purpose of the Creative Commons and to open source software in general. It’s like trying a farmer trying to fence off a part of the commons once he’s cultivated it.

A CC license (and more generally an open source license) protects the creator, the re-user and the community as a whole.  And by providing FieldFrame under a CC license originally, that made possible a) Brandon’s success as a part-time developer, and b) the powerful sites in the community that people have built with FieldFrame and FF Matrix.  He and we all benefited from Brandon’s choice, so it’s not so ethical for Brandon to try to benefit now by rescinding that same sharing that helped him.

On the other hand, there’s no denying that this undermines one of Brandon’s key commercial software offerings.  It probably shakes Brandon’s confidence and makes him more hesitant to release software under a CC or other license in the future. And that hurts everyone.  However, who’s to say that Alex Gordon, or someone else, can’t take the FF Matrix tool and make it more powerful, more useful, or take it in another direction entirely? 

If Brandon can’t offer enough value in the next iteration of FF Matrix to get people to pay for version 1.5, 1.6, 2.0, etc., then that’s the reality of the software marketplace.  Perhaps that means he’ll spend time on another add-on that’s even more useful.  On the other hand, if he does create a FF Matrix that’s better than FF Matrix 1.3.5, I know I’ll use it and so will every other developer I know. You use the tool that gets the job done right.

And if FF 1.3.5 remains enough for everyone, why should we all have to start paying Brandon for something he was offering for free? A CC license is not a temporary thing; it’s absolutely permanent.

I don’t think Alex is doing anything wrong, ethically. Yes, this might hurt Brandon, but it might not—many companies succeed by creating works that extend, or even compete with, open source solutions.

Brandon feels a sense of ownership of FF Matrix, but it’s an illusion: he’s not the owner.  He’s the gifted and generous creator, but we are all the owners of FieldFrame and of FF Matrix because it was given to all of us.

And to Brandon’s sense that he shouldn’t have to compete with people willing to do work for free, like post a Web site and offer support and develop a competing product (even if that product is based on an earlier version of your work): that’s exactly what you do have to do in business. You have to continue to innovate, to react to legitimate competition, and to play by the rules (even if you don’t like the rules).

I feel for Brandon, I do.  I wish both developers success; their successes will contribute to the success of EE, and that’s good for everyone using it.  But I think that attacking Alex is wrong; he’s doing exactly what the Creative Commons was supposed to promote: reuse and sharing.

Posted by Travis Smith at 4:21 PM


Comments

Do you feel that Alex should have at least gotten in touch with Brandon to let him know or are these things just out there in the wild for anyone to pick up?

By Steven Hambleton from steven@hambodevelopment.com on Mar 28, 2010

Wow, a true life drama in the EE community. I consider Brandon a friend and hate to see that he is in this situation. I agree though that once something is released to the wild on a CC license, you can’t take it back.

In any case, I know Brandon is a brilliant developer and will continue to improve his products in ways that make upgrades a requirement. I think Matrix 1.4 is a bit of a grey area in terms of feature additions but having it commercial means we can bend his ear when asking for features we may need.

Instead of making the mods ourself and hampering the upgrade path, we can ask nicely and get the next commercial version upgrade.

By Ian Pitts from Odenton, MD on Mar 28, 2010

It’s an interesting situation—and I didn’t know the half of it before reading this post.

FieldFrame / FF Matrix is such a useful addition to EE, that I think many of us start to see it as integral to most EE sites we design. This is unlike a very specialized add-ons—e.g., even some of the commercial shopping cart add-ons, while they’d be nice if they were free, are for supporting specialized features for a limited set of sites.

With FF Matrix being so integral, it really puts pressure on everyone (e.g., EllisLab, other add-on developers, those of us who build EE sites, etc.) to figure out how to support its continued development.

For some developers, their idea about how to support its development is going to include doing work and releasing it for free.

So, the hard part, for me, is reconciling, on one hand, how the EE community has embraced FF Matrix and seems to want to continue adding to it, for free. In other words, I think there are a lot of people, beyond Alex Gordon, who want to contribute to a free FF Matrix.

On the other hand, Brandon Kelly’s smarts and dedication are what has made FF Matrix what it is. Could FF Matrix continue to evolve without Brandon, if he moved on to other things? There’s NO reason why we wouldn’t want Brandon to keep working on it.

I wish there were some other way that people / companies could pay for Brandon Kelly to work on FF Matrix, while others could also contribute to it, and altogether it could be free to use (and, even, an add-on that comes with every EE purchase).

By Jay Fienberg from Seattle, WA on Mar 28, 2010

Steven,

I do get what you’re asking, but when you refer to them as being “in the wild” you’re shading the argument.  They are out there in the world.  It’s not the wild.  It’s all licensed, and it’s a promise and an agreement that every party needs to live by.

I put most of my photos on Flickr up under a Creative Commons license. When they are used, I have no expectation that user will let me know. I have found my photos in use elsewhere by surprise, and that’s OK by me.

I do expect others to follow the license: Attribute the work (which means include a link back where possible), share the work, and in my case but not Brandon’s, not charge for it. (I use the non-commercial license.)

When someone tells me, that’s nice. In this case, though, I think it’s a red herring. If Alex told Brandon what he was going to do first, and then did exactly what he did, the controversy would be any less? I think not.

By Travis Smith from Vancouver, BC on Mar 28, 2010

Ooops, I mis-spoke slightly.

Brandon used just Share-Alike, meaning you can do what you want with FF but you have to release any variation of the work under a CC license Share-Alike.

My photos are not share-alike but are non-commercial, meaning, you can’t release them or any variation of them for any commercial use, but if you do something non-commercial with them, you don’t need to license it yourself with CC, you can keep the license.

This stuff can be confusing, but that’s no reason to get upset at each other.

TTFN
Travis

By Travis Smith from Vancouver, BC on Mar 28, 2010

This has been an interesting few days to say the least, and it has really sparked a great ethical discussion.  My biggest problem with what Alex did was not so much that he did it, but the attitude with which it was done.  Using a phrase like, “Now the new version of FF Matrix is commercial, which is really sad” is out of line and paints Brandon in a poor light, like he is being extraordinarily selfish in his new business endeavor. 

There is a more civilized way that this could have been pursued…at least he could have spoken to Brandon about it first.  Sure, it seems that he didn’t have to legally, but it would have been the more respectable way to begin this endeavor.

By Ryan Battles from Columbus, OH on Mar 28, 2010

Hmm, interesting. I’m curious - did Brandon notify the community before he moved to a paid model? No? Then he doesn’t get to complain - sounds like sour grapes. I know that’s a bit harsh - but he’s obviously done something useful, and it seems more like he’s kicking himself. I.e. if he had known it would be this successful from the beginning, he likely would never have placed the code under a CC license. And never gotten this far.

One note: the Creative-Commons license doesn’t apply to software? I’m not sure that’s correct - copyright, in general, applies to software. As Creative Commons is simply an extension of the control granted to an author by the Copyright Act and international copyright conventions, CC also applies to software.

Now it’s true that Creative Commons fails to provide the clarity required to enunciate the nuances of licensing terms for object code, linking, etc., I don’t see that it’s entirely inapplicable - merely not recommended (as articulated at http://wiki.creativecommons.org/Frequently_Asked_Questions#Can_I_use_a_Creative_Commons_license_for_software.3F)

By Brendon J. Wilson from Vancouver, BC on Mar 28, 2010

A really excellent & balanced summary Travis, which pretty much sums up how I feel about the whole situation.

It’s great that EE has such a tight-knit, supportive community around it, but things did seem to get awfully personal awfully quickly. Though I don’t agree with the tone of a lot of the copy on the eematrix site, I thought the tone of some of the comments was less than measured, shall we say.

On a human level, I can completely understand why Brandon is angry about this - if you put a lot of yourself into your work (as most solo/freelance developers do) and have already given a huge amount to a community (as he undoubtably has done), this kind of thing can feel like a kick in the teeth. But in the end as you say, he released that code with a license that allows what Alex has done, and like it or not that means sucking it up when someone does something within the terms of that license that you don’t like.


In the end for me this will come down to whether EE Matrix actually gets actively developed and supported or just remains a download source for Brandon’s last CC release. If it’s the latter, then Alex’s ethical position becomes in my view very hard to maintain, even if his legal position is solid. But if he does take EEMatrix in a new and interesting direction (field validation anyone?) then that could provide the kind of competition that’s often missing from the EE addon ecology which I think might actually help to keep it healthy.

I think that beyond from this particular furore, there’s a broader issue to be addressed about EE addons at the point that the EE community is now at.

The general trend seems to be towards paid addons, which I personally have no issue with if it results in well supported, high quality code. The EE community has grown to a point at which it can support most of those paid addons reasonably confortably - I can think of a dozen or so devs/shops who I’ve personally bought addons from, though as far as I know Brandon is the only one doing it full time (?), however the size of the market isn’t yet large enough that it can support much in the way of directly competing addons, paid or not (there are a few, eg the 3 or so tag modules that I can think of now).

Without some measure of competition, the tendency is for the market to become reliant on a very small number of very active developers (I’m thinking here of people like Brandon, Leevi, maybe Stephen Lewis, Solspace too I guess).

I have huge, huge respect for these developers - my daily work would often be literally impossible without their (often free) contributions to the EE community, and I’m sure I will continue to buy their offering regularly - but to have a whole eco-system effectively rely entirely on them is unhealthy for everyone as it concentrates too much power/responsibility in the hands of too few.

I’m in no way trying to suggest that Brandon or anyone else would abuse that power - that’s immaterial really anyway - it’s the concentration that concerns me. That’s less of an issue with OS and related licensing, as you can always fork the code if it doesn’t do what you want it to, but with paid software things are rather different. Hence I can understand, if not agree with, Alex’s use of the word “sad” to describe FF Matrix’s going paid.

In the section of the market I operate in (as a solo developer building small/medium size sites for small businesses and non-profits) addon costs are not insignificant - easily matching the cost of the EE license itself. For a large company $500 isn’t a lot of money, but for a small charity it sure is. Options like bulk licensing would go a long way towards helping with that particular issue, but in the end I think we probably need to wait for the EE community to grow to a point at which a more diverse range of competing addons appears for the addon *market* to function effectively for everyone.

/rant

By Tom Davies from Paris, France on Mar 29, 2010

For my opinion, it’s a question of honor and responsibility - if you relies something with CC SA licenses, it means that you would tell everybody “Hey – it’s my gift to community. If you like it, you can save your time and do not develop anything else, because, even if something happens with me, you can take it and go ahead with developing”.
You can stop support, create a non-gift version, but can’t get back your gift.
BK makes a really big thing – func. for integrates fields into Matrix. But we have to remember that Matrix idea doesn’t belong to him (btw before P&T, FF Matrix doc’s had has a string “It mimics the LG Data Matrix extension”. Now it’s gone). Probably if FF Matrix was commercial from the very beginning, or Brandon told us about his decision 1-2 month beforehand, we would have a couple of alternative free versions at this moment (possible Leevi could transform his Data Matrix).

By Max Lazar on Mar 29, 2010

@Max

I think you raise an interesting point there about whether the release of a high quality free addon makes the development of other, similar addons less likely, and what then happens when a previously free addon that has become a de-facto standard goes paid… plurality in addon’s is a good thing like I say.

It’s interesting that there wasn’t much of a fuss when Structure went paid (which is an excellent addon I might add) - perhaps because it happened at the same time as a major upgrade in functionality.

If I’m honest, I’m not sure just how much additional value can be added to FFMatrix - not because it’s bad, quite the reverse, because 1.3.5 did probably 95% of what I ever needed it to.

One thing to note though is that I don’t think Brandon is stopping anyone from using a copy of 1.3.5 that they already have - indeed it’s supported by FF 1.4 - they just won’t get any support from Brandon for it, which seems fair enough to me…

By Tom Davies from Paris, France on Mar 29, 2010

I am guessing that we’ll see a number of currently free add-ons that work with EE 1.6x become commercial / paid add-ons when they’re revised to work with EE 2.x. And, that may be “natural” in the picture of how EE is evolving into a very popular web CMS amongst developers.

But, echoing Tom Davies point, it’s a big deal to our small- medium-sized clients if the CMS costs $250 vs $500, inclusive of add-ons. And, in these cases, one way or another, we’re feeling pressure to make these costs “go away” from the client perspective (e.g., in some cases, moving them into the larger development budget where they aren’t itemized as separate costs; in other cases, using an internal one-off solution rather than an widely-used add-on).

By Jay Fienberg from Seattle, WA on Mar 29, 2010

Adding one more thing: as someone who builds EE sites for people, the biggest issue with add-ons is efficiency. The add-on universe is a very inefficient aspect of CMSs: I spend a significant portion of my time researching and trying out and keeping organized the add-ons I use for the various CMSs I work in.

The biggest value I need to see, when I pay an add-on developer, is getting a well documented add-on and getting good info from them about what’s new in new versions, etc. Even better when one add-on developer has a bunch of good add-ons, well organized that work together.

With FF Matrix and FieldFrame in general, there’s a new inefficiency involved in tracking down new field types and staying up to date with what FF / FF Matrix can do. Whoever is going to document and organize all that is who I am going to want to support.

By Jay Fienberg from Seattle, WA on Mar 29, 2010

Spot on article. It’s good to read some sense after all of those ridiculous comments on the original EE Matrix blog article. I’d be interested to hear Brandon’s thoughts on the matter now that everyone has had their say and the situation has ‘cooled down’.

By Jonathan Paylor on Mar 29, 2010

@jay I agree entirely about the time required for addon discovery, testing and management, though devotee has made that process a whole load easier.

I use git submodules to manage my EE addons (running off a private set of repos) which, combined with capistrano to automate updates for existing sites, makes tracking versions and updates much much easier - something that I’ve been meaning to write up for a while. You do have to be careful to stay on the right side of the licensing for paid addons, but once it’s set up it saves *so* much time.

Though of course I don’t know for sure, I’d be very surprised if devotee weren’t looking at selling/hosting addons at some point down the line, when they do I really hope they look at including git (or other scm) integration.

By Tom Davies from Paris, France on Mar 30, 2010

License is license.
I dont saw any thing wrong in this.
Brandon, you READ what means CC License?
Gift is a gift. You cant change the rules for THE PAST. PAST is PAST. What is done, is done.

You can change the product name and charge for it? Sure! You are the DEVELOPER!

You can stop the support/develop of older versions? Sure! You can!

You can dont support/help people with uses the old versions? Sure! You can!

You can deny people to use,share,modify, distribute or enhance your software marked with CC License? No, bro, you CANT.

Sorry, but you share the best part of your creativity freely and you cant change this now.

What do it now? All the things above and more: improve your products, offer the best support possible and dont substimate the others developers.

Once time you “share” the idea about the concept of LG Matrix and do it a better product.

Now tour time. Lets see what the community of open source do it with YOUR concept…and your free gift wink

PS: Thanks for all. Seriously.

By Baz from Bolivia on May 15, 2010

Add Your Comment

Please enter the word you see in the image below: