Wednesday, August 05, 2009

An Open Letter to The Custodians of the Fusebox and the Community

I feel like I have shielded the community about strife that has existed within Fusebox team too much. It's not my intent to air dirty laundry out in public but I do think I should have been more open with the community about my disapproval of how Fusebox has been run. Presently, Teratech has ownership of the Fusebox domain and the rights to the source code. While I believe Teratech sought to gain those rights with the best interest of the community at heart, I believe it is time for a change.

Fusebox has the prestigious history of being the first major ColdFusion framework and Fusebox, in all its forms, powers thousands of applications worldwide. It is imperative Fusebox continues to prosper and advance. The Fusebox Framework has stalled and is as a rudderless ship among the seas of source code. What Fusebox needs is an injection of active, willing leaders that are willing to take an active role in the evolution of the framework, with the community at the forefront of road map. A group has formed, consisting of me (Adam Haskell), Robert Burns and Tony Bommarito and Chris Weller and is willing and able to provide the energy and leadership to move the framework forward.

After a spirited conversation with Michael Smith the other night it is clear we have irrevocable differences centering around the leadership of the team behind Fusebox. Fusebox has a bright future ahead of it under the proper leadership. We have an opportunity to make Fusebox easier to use and provide tools and options to allow a developer to grow with the framework. New active leaders can focus attention on more than just the framework's code by fostering more active community involvement in documentation and tutorials. Fusebox has grown tremendously under Teratech and provides great tools for developers and I think we now have the opportunity to make the framework easy to jump into, something that can be leveraged in less than 30 minutes. We can accomplish all this and more and remain free and open in source and in policy. The license can remain Apache licensed and free for everyone (let me be clear here Teratech is NOT threatening to change this). To be clear I have no intention of changing the license from Apache either. This is my commitment to the community.

This is what I would like to see from Teratech to prevent a fork in the framework:
  1. Pass control of Fusebox Domain and Source Code to Community under the leadership and copyright of myself (Adam Haskell), Sean Corfield*, and Robert Burns
  2. Work closely with the community and be willing to provide certified Fusebox training produced by the core group
  3. Become an active member of the community, the community can only gain from Teratech's involvement
On a final note I do want to sincerely thank Teratech for what they have done, if they (and Sean Corfield and Simeon Bateman) did not step up 3 years ago and subsequently get Fusebox under the Apache license I would not being posting this today. They have empowered the community to ensure Fusebox remains a stellar framework. Teratech has affirmed their rights to the domain and to the source code under the name of Fusebox. While I respect the law in this case, there are irreconcilable differences between me, as Lead Developer of the Fusebox Framework, and Teratech. As such, I ask the community to let their voices be heard and to act quickly. Should these differences between me and Teratech remain unresolved, I'll resign from Lead Developer of the Fusebox Framework on August 12th, 2009 at 6:00PM EST. At which point in time a fork will be made available to the public and the essence of Fusebox will live on under a new banner.


*Myself, Tony, Chris and Robert all work for the same company and I felt it best that a person from the community outside of our company was on the copyright. Since the mind share of the current version of Fusebox is Sean's I felt it appropriate that he be on the copyright, we have spoken and he is in agreement.

38 comments:

John Bliss said...

I support the changes that Mr. Haskell suggests.

Unknown said...

I for one am always troubled to see these kind of problems coming up. Hopefully, this will be resolved soon, but I'll go ahead and say again that a CF Foundation would really help in this situation. Having one person or company controlling a major framework is a problematic situation for everyone involved. A non-profit foundation if formed properly could help support and continue these critical projects from falling off the tracks.

Mike said...

I have to admit that I'm not sure what benefit Teratech brought to the Fusebox project. Owning the fusebox.org etc domain names is one thing but owning the rights to the source code is another, especially when this is supposed to be free, open source, software.

I also have to admit that I'm not sure why Teratech's involvement means that Adam can't continue his enhancements to the core. I haven't seen any activities at all from Teratech, positive or negative, so I'm on the outside looking in on this.

However, I'm a long-time user, supporter, and contributor to Fusebox, and anything that can be done to strengthen its community is a good thing in my eyes. Adam's got my vote as well.

Unknown said...

Wow, let's not let FB go sideways! I have been an avid fuseboxer from version 1.

I definitely don't have advice on what needs to be done, but can offer my opinion as a humble user of the framework. I am SURE I would not have been able to produce the quality of web applications I have over the past 10 years without fusebox.

I have revelled in every new FB feature and release (except the FB3 layouts) until I think 4.1. After that the new features and development seemed to go in a different direction or were done in a different mindset than previous development. This is simply an observation with no demonstrable facts. Perhaps Fusebox just outgrew me.

I still love using FB style circa 4.1 MVC with the model being CFCs. I guess the newer stuff just didn't seem necessary enough to keep up with it.

Shawn Holmes said...

My interests are with seeing Fusebox continue to thrive and evolve, and if that means it will do so under the guidance of Haskell and co., then I support this as well.

Training is key, and I'm happy to see that Adam's addressed the issue in one of his three requests.

Anonymous said...

Let's face it, TeraTech, and Michael specifically, fell off the rails a long time ago. CFUnited has been spun off and is not associated with the name TeraTech. Is that a coincidence? Thankfully, we won't be subjected to another painful "keynote" by Michael. Long live the purple pants.

I say, fuck 'em and fork it.

Jesse said...

I started using Fusebox at version 3.0 and have stuck with it religiously. Version 5.5 is so far my favorite release. But I feel that after Corefield passed the torch Fusebox has made not progress or even any hint of progress that is worth while. Fusebox is stagnant at this point and probably needs a little drama to get it back on track. As far as John's comment "Having one person or company controlling a major framework is a problematic situation for everyone involved." I can name several very successful frameworks controlled by one person or company. If you form a Foundation then you just have too many opinions holding up progress. Some of the best features in Fusebox came from when it was in the hands of just a few people or a single individual making the decisions.

bill said...

It's a rare to see this level of talent, passion, and willingness for free. I think TeraTech should simply say, "Hey, I think you're doing a great job and providing a service. What can we do to help?"

Canadian Supporter said...

I'm a huge proponent of Fusebox - I absolutely bring it to the table with and development opportunity.

While I'm a huge fan of the XML version (I was brought in fearful and concerned), and I'll fight for that level of control (the no-XML doesn't meet my needs), the whole package of Fusebox is AWESOME.

That said, since Sean's hand off, Fusebox seems to have withered in momentum, updates, changes, expansion, and attention.

It's all quiet on the FB front.

If this is what is required to bring the energy, focus, and change needed to maintain and grow the framework, then I support it. 100%

Adam Haskell said...

@John I thought about forming that based off you talking about it before. Let's talk at CFUnited (if you are there). I am not entirely sold on the idea but I could be persuaded.

@Mike It is my strong opinion that the owner should be a leader and if that leader is inactive as will be everyone that leader surrounds. Teratech has been silent. Given me no direction, and not held anyone accountable or encouraged folks to work. To me this is more harmful than good.

@Jesse and others I take partial responsibility for that stagnation. I started working on Fusebox 5.6 features, when I started asking questions I got no feedback on direction. I went my own direction some adding a few features here and there but I was always timid to make big moves without hearing feedback. I never wanted to make big changes without good direction for the owners of the framework. Maybe that is a personality defect, if so I am ok with that, but I just never felt comfortable with making the decision and doing all the work for someone else.

Jim Priest said...

It's interesting as I think this is the first 'fork' conflict to hit the CFML community.

But this is the joy of open-source! Is it worthwhile to debate, argue, apologise, etc. or would it just be more productive to fork and move forward.

Lots of big projects in the OS world have forked and everyone survived (Joomla, Pidgin, Ubuntu, etc)

http://mako.cc/writing/to_fork_or_not_to_fork.html

Unknown said...

Yep, I'll be at CFUnited. See you there. Hope this gets resolved without too much drama.

Kai Koenig said...

A very interesting point. A few people have commented that FB is stagnant and (partly) blamed Adam for that.

Another way to look at that is that a framework might just reach a point at which it works quite nicely and there's no need for _much_ further evolution for a while or at all. FB was built for a purpose and it solves that purpose in a lot of scenarios.

I'm not speaking evolution, it'd be nice if there was some further movement towards CF 9 features, bringing in the Hibernate features into FB, making integration with ColdSpring etc. easier and a few other bits and pieces.

My biggest concern with FB at the moment is the lack of good and reliable documentation - that's imho the reason why you see a lot of people jumping on the Coldbox train, it's so well documented and there are tons of material out there.

Overall - if TeraTech doesn't move, I'm certainly for a fork, everyone will survive that. One of my largest clients has made a good amount of investments based on the fusebox framework and I'm pretty sure if the FB train gets some movement again, they'd be happy to contribute.

K

maestrofjp said...

My two cents that multiple person copyrights is not the best of option because it take only one person to hold the progress legally. In the future, it could be a person who hasn't been involved much, etc.

It would be a much better option to spend the $100 or so (depending on the state) to start an LLC in which it is owned by the people you've already listed as "copyright" owners. Since LLCs are governed by the laws of business, it makes it easier to add / change the ultimate "owners" of the copyright by voting in/out new members of the organization (you can create your own Articles of Organization to account for this). For example, in MN the cost to start an LLC is $110 and it is a one time fee (and doesn't require a lawyer to do). Yearly registrations are usually free.

Also, if for some reason some company decides to sue over the framework, they have to sue the LLC which doesn't have any monetary assets and protects the members of the organization legally. Otherwise, they are free to sue the people in the copyright masthead. And it doesn't matter that the license protects the authors, we all know that there are plenty of cases where it's just a nuisance lawsuit.

My two cents...

Anonymous said...

first off, Fusebox is dead because ColdFusion is dead (or at least dying). There, I said it. There's a reason why the original Fusebox people got out several years ago (good timing, guys).

Secondly as to the issue of forking -- go ahead. It's been tried before and nothing ever came of it. It's kinda like the people who claim they're gonna sue you -- the fact that they make the threat is all the indication one needs to know they won't do it. If you really wanted to fork it, you'd already have done so.

And on the topic of suing and claiming there aren't any assets -- sure there are: what new name you come up with will itself be an asset and very very attach-able (just ask another lawyer).

ok, I'm going to puss out and remain anonymous on this comment, because frankly I suspect this thread will be all noise and no action.

Adam Haskell said...

@Anonymous I'm cool with you being Anonymous if that's what it takes to be truly honest with me and others (I know this is text so let me clear that is sincere). On the issue of forking, it has been done. The domain is registered, bug/enhancement tracking already setup, Fusebox's wiki has been forked as well, with additional content (albeit light on additional content), and source code has been forked and checked into SVN. This has all been done for about a month. Thank you for your concern though!

John Bliss said...

@Anonymous

"ColdFusion is dead (or at least dying)."

It seems clear to me that this post and this comment thread are for/by people who don't believe this is true. I'm curious as to how/why you'd have 157 words worth of opinion on a language you think is "dead or dying."

Adrock said...

@John - You mean a foundation like this?

http://4cff.org/

I believe the crew behind 4CFF will be a CFUnited sharing details on their plans and organization.

Anonymous said...

Adam, how can we(the community) get involved?

Marc Esher said...

The foundation needs a proofreader: "The For Cold Fusion Foundation"...

Just sayin' is all.

Carry on...

Anonymous said...

Long story short: I hated fbx4, changed jobs, had to work w/legacy fbx4. I looked into fbx 5.5.1 sans xml and did a backflip. Awesome job Mr. Corfield! It’s easy to use, explain to others, and dare I say fun.

1) Kill the Fusebox name. Many developers think it’s a synonym for dry, bloated, xml pseudo-language.


2) Pick up from 5.5.1 and rebrand fbx to FELIX; the neat organized character from the odd couple.
There’s an acronym in the name somewhere: Fusebox Engine Less Intrusive XML .. whatever


Also, thanks to Adam and all that have donated their time and efforts contributing to the whole.

<cf_Ray />

Ulf said...

I'm using Fusebox since version 1, and I've used every Version (even V 3.x and 4.x). I noticed with Sean Corfield leaving the Fusebox development team its getting quiet around Fusebox. If forking is necessary to push development: fork and don't look behind! It's about the ease of use and the strength of a framework - the name isn't that important. Thinking of Terratech: if a company wants to earn money with services it's never interessted in providing good documentation to a software product. I've never recognized Terratech as beeing that important for Fusebox - I recognized the core developers - their idea's and idealism pushed Fusebox - not Terratech.

oapcg said...

Would be great to have an education source and if you need to lose TerraTech to get there go for it.
Eva

Unknown said...

Thanks Adam - hadn't heard of 4cff.org until today. Hopefully, that could provide a base for these critical open source projects, etc. Foundations have worked really well in the linux world. There's no reason to think it can't help here.

James brown said...

What can be done to help?

Anonymous said...

For what it's worth - I took FB4 training from TeraTech several years ago, before they had domain or whatever over the framework, and it was a disappointing waste of time.

The sample apps kept breaking and the class material we were given consisted of slide printouts far too small for a person with 20/20 vision to read.

I learned nothing over and above what I taught myself in the "under 30 minutes" to which Adam refers. Took the second class thinking surely I'd learn something new. No joy.

If not for the free copy of the Papovich / Peters book I received, it would have been a complete waste of money. However, I could have bought the book for less at Barnes & Noble and gotten more knowledge over the post-purchase cup of coffee.

I've never again considered them for training, and I don't attend my local CFUG because it it hosted there. I don't know why, but I just get a strange vibe from the atmosphere.

Unknown said...

Any response from the TT people (Smith or anyone else)?

Flavio Garcia said...

I'll stay with the community version no matter the name adopted.
I didn't like the policy used by teratech for the Fusebox framework.
Hope to see the framework more stronger with this act.

Nick Tong said...

Fusebox is a core framework in our business and a fantastic framework to work with.

It seems absurd to allow it to become stagnant due to politics by TT. I'm all up for folking it to allow the framework to move forward.

Regarding documentation - it's hard to get people enthused about writing documentation, or even blogging for that matter, about a framework that's not developing.

Do us all a favor, if TT don't support you, folk it and let the framework move on.

Ron Stewart said...

I too support the shift in direction/control that Mr. Haskell has proposed. As a long-time user of FBX, it has been disappointing and concerning to watch it stagnate. I would prefer to see FBX remain a single project than fork, but if that's what it takes to continue the evolution of the framework, then so be it...

Unknown said...

I have used FB for all my coldfusion and php projects for the last three years.

Hope this gets worked out. I certainly support the changes that Adam suggests.

I too really prefer the xml version - in fact I still use FB 4.1 in most cases because it gives me everything I need.

Adam Haskell said...

@benore and others I have not heard anything from Teratech. I did send a private message to Michael Smith this afternoon asking one more time for the rights to Fusebox. I will post any progress as a new entry, as well as a comment here.

Anonymous said...

A couple years ago I was just curious about Fusebox. It looked intriguing, so I called in and talked to Mr. Ajay Salathuri. He seemed like an incredibly nice guy. He sold me on the idea that it was a necessary skill to have because a) job recruiters were looking for people using it and b) it was a better way to program than just spaghetti coding a bunch of CFM templates into random folders.

I was new to best practices. I didn't even know what a CFC was. All our office literature on CF was for CF 4 and 5. OK, so I needed this class, or so I thought.

TeraTech's Fusebox training was divided as follows: an introductory half day class on FliP for $300 and a second full day class on Fusebox for $600. I wanted to program better, but $900? College student wages are nothing to brag about. So, I only signed up for the first one cause I thought might be enough of an intro and I could get myself going from there.

The FLiP class was a waste of time. It has potential for project managers or one man shops, but I'm not at that phase in my career yet. I want to code. The FLiP class was all high level concepts, no Fusebox.

Ajay walks up to me after the class and kindly lets me know that if I want to cover coding I need to take the second half of the class. Ok, I wasn't too happy about that, but I decided to bite the bullet. What did I have to lose? Another $600?

The 2nd class was just as disappointing. The only time we went over code was when Ajay showed us a sample Application.cfm (not CFC) that could be used for routing all CFM requests to index.cfm. Yes, we covered the high level concepts, but there was no hands on training. TeraTech gave us color printouts of the PPT slides. Wow. If it wasn't bad enough that 80% of what Ajay did was read directly from the slides.

TeraTech gave out no reference guides or serious code samples. Now THAT would've been helpful. At least train us how to write the XML! Maybe a step by step walk through of a Hello World app? Seriously, what a joke.

At that point, I needed a reference I could read on the way to work, so I bought the FB 5 book by Jeff Peters. If you haven't read it, here's the break down:

Pages 1-81: Fusebox is good. Fusebox is great.

Pages 82-182: Actual Fusebox programming

Pages 183-246: Don't feel like putting together a cohesive Fusebox reference, so let's ramble about FLiP for a long time.

Pages 247-?: Fusedocs, some more Fusebox coding, the FlagPoll sample app and...

I couldn't read anymore past this. The typos and bad code samples just got to me. Plus, the book fell apart, literally. Proton Arts, stop hiring 5 year olds to bind your books!

Well, whatever. I still learned more from this than actually going to the TeraTech classes. And I did take a peak at the first few chapters of Nate Popovich's FB 3 book. I could tell where parts were copied and pasted from this book to the new without any modifications. Sorry Jeff. You seem like a nice guy, but that's just lazy.

I could go on, but I think you get the idea. Michael Smith is a consultant at heart. TeraTech sets up their training so that you keep going back to them for more training or even more expensive consulting work. They're like drug dealers, man.

If this year's CF United is a success, I give Liz Frederick and her crew the credit. Mikey is just a strange dude.

linebers said...

Virtually all of the new CF projects architected using the Fusebox framework. Since the departure of Sean Corfield as the lead advocate and architect of the framework, not even an minor update release has be rendered from Fusebox.org and Teratech. Fortunately, Adam and associates want to move the framework forward. The Fusebox-oriented community will continue to languish without proactive advancement under the competent leadership.

I agree with others that there doesn't have to be radical overhauls of the entire framework, but future enhancements of CF might facilitate enhancements in the framework that provide even better methods to build CF-based apps.

Adam Haskell said...

Sorry I neglected to update this thread like I promised. CFUnited was busy! http://cfrant.blogspot.com/2009/08/fuseng-announced.html

Richard Herbert said...

I've come back from holiday and found that Fusebox is dead!

Okay, a bit dramatic but it feels like it.

I've been an avid user of Fusebox since the version 3 days and have found new and exciting facilities with every revision. I've also found that it has suited my programming style and ethos perfectly. I've never found a structural problem that it hasn't been able to solve.

I must admit that I was disheartened by the lack of progress after Sean decided to move on but now it seems that I may have been labouring under a misconception. Adam, may I offer my apologies for any bad thoughts I might have projected in your direction in the past :-) It seems like you share my frustration with the owners of the Fusbox project. In fact when TeraTech took over I offered my help with the doc's and producing some training resources but no one ever got back to me.

So, to the future. Fusebox is dead. Long live FuseNG. What a crap name! Okay, I get that we need to have "Fuse" somewhere is the name but to impose your love of "Star Trek TNG" on us. Please! Let's hope it's just a working title. Is there no way you can wrestle back the name Fusebox? What benefit does TeraTech get from keeping control of the project (I never understood the purpose/benefit of their ownership anyway)? Maybe have a call to action on the newsgroup to find a better name?

Adam, I hope the freedom this forking gives will enable you and the team to take the project forward into new areas with renewed vigour and purpose.

Unknown said...

I have to say it seems sad to me to see further fragmentation of the CF community and yet another splinter group being set up.

It annoys the < s**t > out of me that there are so many different CF frameworks/architectures out there, and not one of them carry Adobes endorsement.
I guess Adobe are agnotic, and buy out of religious arguments. Good for them.

To my mind - long ago, Adobe should have seen the problem with CF, in that it has no in-built or default framework that works for anything but the most basic applications.
I note that comes out of the box with .Net Studio.

And so I come across so many web a-pplications developed by unqualified/inexperienced developers with no concept of what constitutes a good application layout.

Outsiders come across examples of such code and then immediately notice it consitutes a disorganised shambles, and then take the decision to recode in .Net And another Cf site bites the dust.

To me its important that a developer adopt a framework < type = "any" / > that (the lack of explicit support by Adobe to any particular framework except cairngorm) this amounts to a glaring gap in all versions of CF since V1.

As to 'ownership' of the name/sourcecode it is or should be irrelevant so long as it is open source.

Sorry for the rant, but given that Fusebox was the first framework developed for CF, and until now it has stood the test of time, its demise appears to me a catastrophy.

Here is my suggestion on a better way forward: Hand the Fuse* project over to one of the foundations 'Cf Foundation' or '4CFF' and they should also take over Mach II, Cold Spring (and others ?) and make their project to consolidate and document (e.g. a Peters book) all of them in some coherent way.
This would level the playing field for developers keen on acquiring skills and lean towards consolidation of the CF community, rather than continued splintering.

FWIW < cowering now, expecting flames / >

Adam Haskell said...

A quick note for anyone that comes across this thread and comments. To limit spam I moderate comments on blog posts older than 10 days or so. This entry happens to be that old so if your comment does not show for a bit ping me at a.haskell on gmail and tell me to moderate your post, I won't censor anyone :)