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).
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
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.
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.
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.