FuseNG and therefore Fusebox by default are dead…

A few months back I tweeted that anyone can build a framework in CF; what we need is more good software out there. Given the choice between maintaining a framework and listening to the nagging whining community or developing an open source application and listening to nagging and whining community I’ll take the application. My heart is just not in FuseNG, or any other framework, and I can’t hold onto the framework to make people happy or ensure it has a support person. That’s just not what I want to do.

For those that thought it would never get off the ground congratulation you were right! To those that had new hope for the future of Fusebox, sorry FuseNG will not be it for you. You see over the past year my career has change drastically. I do not officially work on ColdFusion at work any longer and I never find myself in the situation where I am using Fusebox. I can not continue to develop a framework I don’t use, it will stagnate. I hope someone else in Kroger will step up and take on Fusebox or revive the FuseNG fork, but that is up to the other individuals that originally looked to me for leadership of FuseNG. As much as I am sure some of you would like to leave feedback or comments I’d rather not open the potential for flames so comments are off. If you really must share your opinion feel free to email me.

FuseNG is dead and Adam was the one that said it. I totally get where Adam is coming from. If your heart is not in it then it is not something to not pursue. Our lives are short. Best of luck to you, Adam, with your new management career.

I truly believe that FuseNG was the only hope for Fusebox as I do not see much involvement from the current maintainers of Fusebox. Maybe somebody will swoop in and save FuseNG, but that would require a long term framework vision and big time commitment. Only time would tell…

I totally agree with Adam that the CFML world is missing really powerful, enterprise level, commodity applications that extremely mature and polished. I think the downfall as a community as a whole is we think about building new tools, but not full-blown open source applications. Sadly, other development languages like PHP are littered with big name applications that make it into the headlines. They have a huge head start on us (we’re talking many years) in the terms of maturity and polish.

One thing we are not missing in the CFML world is a selection of frameworks. So jump on in; the water is warm! Just one word of advice, do not use this as an excuse to build yet another framework in CFML. You’re just re-inventing the wheel with different paint or materials. Your time would be better spent (yours and everyone else that benefits from your time) by becoming involved with an open source framework / application by adding to the spit and polish of that chosen project. Think about the CFML community as a whole instead of scratching that “I think I can do it better in my own way” kind of itch.

Please no flames… (and yes, I think I can now be crowned the “X is dead…” king for those who have been around for long enough).

4 thoughts on “FuseNG and therefore Fusebox by default are dead…

  1. Couldn’t agree more about the “it’s the apps, stupid” bit. I attended the Seattle Groovy/Grails Meetup last week and this exact topic came up. One of the attendees does a lot of PHP development and even he was griping about how inconsistent PHP is as a language and complaining about it in general.

    We started to debate why, given its limitations and problems, PHP is still so hugely popular, and we seemed to be in agreement on three main points:
    1. It was open source from the beginning
    2. It came at a time when there was a vacuum of these sorts of tools (right technology at the right time)
    3. The open source applications written in PHP

    #1 is obviously huge, and anyone who thinks the lack of open source options in the CFML world (until recently) hasn’t hurt the adoption of CFML is either crazy or works for Adobe. ;-)

    #3 is the equally big though. Think about all the major categories of webapps and the first big app that pops to your mind in all cases is likely a PHP app.

    Blog? WordPress. Wiki? MediaWiki. Forums? phpBB. CMS? Drupal. And the list goes on.

    Having these big apps that have been so successful over the years brings people to PHP even if it is through a backdoor of sorts. By that I mean that people who want a CMS (for example) grab Drupal. When they want to customize it, BAM! New PHP developer. And it snowballs from there.

    This lack of popular open source applications in the CFML world has hindered its adoption, and I think if we start to admit that as a community instead of waving our hands and saying “nothing to see here” all the time we’ll all be better off. And to clarify, I mean popular in a broader sense. No one outside the CFML world has even heard of most of the apps written in CFML. (About the only notable exception I can think of is Razuna, which I read about in general discussions of digital asset management software fairly regularly.)

    The trick here is do we burn our energy doing ports of existing apps? Do we need a WordPress clone, a phpBB clone, a Drupal clone, etc.? Maybe. I’m on the fence on that one.

    I started porting StatusNet (Laconica) over to CFML not because I wanted a CFML port as an end goal, but because I wanted a deployable WAR since as far as I know there is no Java port of a Twitter-like server. Many organizations support Java and WAR deployment as a standard, so having CFML in the mix in this way is a great trojan horse of sorts IMO.

    If we had deployable WARs of things like a StatusNet clone, a WordPress clone, a MediaWiki clone, etc. I still think that might have some impact in organizations where PHP isn’t supported and Java is the platform of choice. Java developers don’t seem to be interested in picking up this ball; otherwise we would have seen Java clones of these apps by now. Or maybe Java folks look at this and say, “If I want a wiki, I’ll use MediaWiki. I don’t care what it’s written in.” (Like I said, I’m on the fence on the impact a cloning effort would really have.)

    As an aside while we’re talking about Java, why in the hell do so many people in the CF community spend so much time and energy bashing Java? I see this over and over again, much of it coming from Adobe. CFML (in most cases) runs on the Java platform for crying out loud. Say what you want about Java as a language–I for one think it’s great–but isn’t bashing the platform on which you run a rather idiotic waste of time? That’s about like saying your car is totally awesome but the fact that you have to have tires sucks. Without those tires you’re scraping on pavement and while that may make for a lot of sparks, ultimately you’re going nowhere slow.

    But back to my main point. Using the application side of things as a means to increase adoption is of course inextricably tied to the open source aspect. Why write open source applications for a proprietary technology? It’s a very weird fit, and I believe this is yet another reason why more people haven’t been writing world-class open source applications in CFML. CFML has historically been much more like the Microsoft .NET ecosystem, and that ecosystem fosters many more for-pay, closed source applications than it does open source ones. It’s just the nature of the beast.

    So unfortunately despite my lengthy rambling I don’t have the real answer here, except to say having some world-class open source apps that just happen to be written in CFML can’t hurt, and I do think it’s a better use of our time than reinventing the wheel on what are ultimately redundant tools instead of getting behind existing open source projects, or building great apps that leverage the solid tools that are already available.

  2. I think that bundled WARS for something like StatusNet would be awesome for people that are married to the Java platform already. I think that this is best place for CFML as a language to make a break through in. It appears that a StatusNet like application is an under served sector of the application market across all languages. For larger to medium companies, I’m sure it would be really nice to have an internal “twitter”-verse.

    I think if any effort goes into a new open source apps for CFML — I think that StatusNet might be a great leader for us as a language. Any open source application built for CFML needs to be unique to bring in new developers.

  3. I thought I continue on a reason why it’s easy to say that Fusebox is dead at the moment. Consistently, CFML frameworks have revolved around one main contributor without building community. So unless an author can pass the baton to a new steward — the framework will just die due to the lack of stewardship. This is where Mach-II is changing — our core team recently doubled from three to six team members and we are focusing on building a community not just a great framework.

    I am curious if Fuseboxers will step up and support their own framework for the years to come, but at the moment nothing concrete has surfaced in regards to organizing. Again, this is where a strong community who have had previous involvement can just step in easily.

    Personally, I don’t think anybody going to swoop in and save it for the long term. If somebody does, a word of advice is to make sure you build a community. Otherwise, the fate of a project rests on one person or a few people alone. We all do need breaks from things — even the things we love dearly — that is why a small contributor to user ratio is actually detrimental to the project. I hope the Fuseboxers can prove my blog post title irrelevant in the months to come. I will happily eat my words!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s