March 21 2008 6:00 AM
by Adam
filed under
ColdFusion
This post is primarily a response to the numerous IMs and emails I've gotten since the open source announcement by New Atlanta. Most people just wanted to know what my take on it was, so here it is. Some of things below needed to be said and the rest is just insight from a guy who devotes a large part of his being to the ColdFusion community. I'm clearly not a fan of New Atlanta so I'm sure to piss off, but I guess that's the nature of things. Consider this my statement as I haven't the time or interest in a flame war.
A History of Distrust
The last we heard publicly from New Atlanta was at CFUnited 2007 when they held a lunchtime keynote (sparsely attended) that promised to paint a vision for 'The Future of CFML'. Turns out that all the future held was 'IIS integration'. This does make it a bit easier to build search engine safe URLs, but hardly the future, and only for those deployed on .NET. I guess it's not bad for a 7-man company attempting to compete with one of the largest software makers in the world, or should we expect more from the 'agile' guys? They claim to be the innovators since they supported a few cftags before ColdFusion, but that's really just due to their shorter release cycle. When all is said and done Adobe delivers quality and innovation. They claimed <cfzip> and we brought you AJAX Remoting. They beat us to release with <cfimage>, we raided the Adobe Core Technology lab and delivered unparalleled quality and function. It's almost not fair to mention our Flex integration since they don't even have AMF support, but then again we don't have null. Personally, I think these notable differences are pretty important.
Since then, rumors have circulated that Vince has been trying to smear the pig with lipstick and put it on the auction block. It is a private company, so who really knows what the facts are. From all visible signs, it seems the company is circling the drain. The incredible success of ColdFusion 8 and Adobe's strong and irrevocable commitment to the product has tightened the whirpool and its force is pulling them under. Of course, this is all speculation, but it doesn't take one skilled in Tasseography to read these tea leaves. I've been told that sales were so poor for BlueDragon (even the .NET version) that New Atlanta was forced to scaled back their sales team to a single person.
First, let me say that my poor perception of New Atlanta and BlueDragon is not a result of my job with Adobe. They've been cultivating this image since the early days when they tried to play off of fears of the Allaire/MM merger and thought they could usurp ColdFusion. They took a gamble thinking Macromedia would falter with ColdFusion and attempted to beat them to a J2EE version. What they didn't count on was the incredible team behind CFMX and the culture of innovation at Allaire which bled into MM. To me, they've always felt like the guys who lose in a halo match but stick around the lobby complaining about it, whining, arguing their case, sounding like sore losers... relentlessly annoying. When they decided to bastardize the language I was done with them. A half million developers are behind ColdFusion yet they screwed the hundred (or less?) of their developers by locking them into their version, for what? null? My distrust of their intentions has only intensified since New Atlanta's primary sales pitch for BlueDragon is to aid customers in abandoning CFML and moving to .NET. Don't get me wrong, we're in the software business too, but Adobe sees immediate _and_ long term value in this community.
At first they tried to market BlueDragon as the low cost alternative to ColdFusion. When that didn't work, they raised the price to meet ColdFusion and marketed heavily on the .NET platform. I guess at that point they realized that ColdFusion developers weren't willing to switch platforms (from Java to .NET) for something that would later become just a feature in ColdFusion (without the requirement to abandon the J2EE stack). So when all else failed, New Atlanta began spreading propaganda regarding the demise of CFML and fed off customers who decided to move to .NET (aka mySpace). New Atlanta (Vince) has denied this on several occasions, but one only needs to speak to someone whose heard the sales pitch to confirm. Prior to the release of ColdFusion 8, a New Atlanta salesman went as far as telling a reporter that Adobe planned to discontinue ColdFusion and would recommend that customers move to .NET (the reporter called me looking for an official comment). This is really a sign of complete desperation. This business strategy only gets them a single sale and disregards forming lasting relationships with their customers. Once the customer has migrated to .NET, there is no need for BlueDragon (or CFML). To be fair, we burned them publicly over this and since then they seemed to have discontinued that strategy. Then again, they haven't been on too many sales calls lately so who knows?
It's not the loss of a few customers that bothers me (to which I could probably count on two hands), it's the two-faced marketing. On one hand, they are claiming to support the community by 'standardizing CFML in case ColdFusion goes away', feeding on the general paranoia that follows a large merger like Allaire/MM and MM/Adobe. On the other hand, they are telling people that CFML is outdated, that its not as powerful at .NET and that it's days are numbered. MySpace could have been one of the strongest advocates of ColdFusion but New Atlanta greedily helped them become one of our biggest detractors. They jumped in bed with Microsoft and practically gave away their servers. "Largest website in the world runs ColdFusion... moves to .NET". Exactly how did that help our community?
Open Source This But Not That
This brings us to their recent announcement to open source the Java version of BlueDragon. In typical New Atlanta fashion they claim it's 'for the community' and that they've been planning it for quite some time. I'm not buying it. Based on the information I believe they've open sourced it for the following reasons: 1) Microsoft announced the End-of-life of J# on which BD.NET is based. This meant they were going to have to fork their code to continue to build the .NET version. Up to this point they were developing in Java and porting it through J# to .NET. 2) Sales for the Java edition were poor to say the least. Being that .NET is their only real differentiator to ColdFusion (other than the severe lack of features) it only makes sense to focus development there.
The moment the announcement hit the blogs a bunch of fanboys started coming out of the woodwork with endorsements. But what makes BlueDragon any different from Smith? Why will this open source CFML engine thrive where Smith hasn't? The primary answer I've gotten from the community is that it's a 'proven' CFML engine. Our newly hired ColdFusion Specialist, Josh Adams, joined us from New Atlanta when they decided to scale back their sales team because, well, there weren't that many sales. He could only name one customer who was using the Java edition (ironically we just sold them ColdFusion 8).
So exactly how proven is this version? We all know that New Atlanta has been pushing the .NET version heavily, but are there any large scale implementations of the Java version? Let's be fair and not just assume this engine is up to par with ColdFusion just because you know who New Atlanta is and didn't know who Smith was. Let's put it through the paces first; it's not as if MySpace is running the Java version. So who is? Where are the case studies and customer testimonials? I tried to do a little research myself and found only a single post from last October in their J2EE forum. Not the hot bed of activity I expected.
Who Is Driving The Project?
This may come as a surprise, but I'm fairly supportive of this move even though I doubt their intentions. I'm excited about the possibilities. Since the emergence of the clones, ColdFusion has shifted gears and focused heavily on innovation for our value proposition. For awhile now there have been cheap and/or free alternatives but we've continued to grow the ColdFusion business. Bottom line, I'm not losing any sleep over fear for lost sales.
However, I think we as a community need to keep a critical eye on this project if we want it to be successful. The general impression is that New Atlanta is just offloading the development on the community. They are focusing on .NET and they just can't afford to support two platforms. They aren't really embracing the open source model to it's full extent which worries me. If they truly believed in this model they would have open sourced the .NET version (the one people actually use) and they wouldn't continue to sell the Java one. They seem to get high marks in support so why not make that their primary business?
Of course all this doesn't mean we can't take this project and make it successful, but we need to be cautious. As they've publicly stated, New Atlanta is planning to drive the majority of development in this version which means they'll also be driving the features 'initially'. We need to be sure that they aren't just developing features implemented in the .NET version. Hopefully the steering committee will have some legs and not just end up like the CFDJ advisory board (in name but not power). I, for one, would love to be a part of that steering committee so we can minimize the CFML language differences and explore new areas for ColdFusion like Silverlight connectivity (things Adobe isn't going to invest in but NA should have already). However, I have a feeling this open critique will disqualify me.
The next problem is, are there really enough Java developers in the CF community who care? The CFEclipse project has been plagued with a lack of support and I'm concerned this project will be no different. To be frank, if you have the Java skills I'd urge you to support an open source IDE before a CFML engine that's already 2 versions behind the standard. I think more people in our community would benefit from an IDE, rather than another open source CFML engine. The license is also really weird too. If they chose a different license and really went open source, then there would be nothing stopping us at Adobe from leveraging work done in the project. How many developers are going to commit time and effort to a new CFML feature if they know it will never make it into the dominating standard?
Expanding The Base
A lot of people are thinking that this open source version will bring a lot of new developers to CFML. Unfortunately, that's just not true. We spend a considerable amount of time exploring options to grow the ColdFusion market and reach out to new developers. There have been a ton of internal briefings, exploration committees and 'what if' studies. All that research showed that price and openness isn't a major obstacle to adoption. If we thought open sourcing ColdFusion would attract a significant amount of developers, we would have done it already.
The ColdFusion market has been steadily growing and it's gotten a bit of a surge with ColdFusion 8. But where are all these new developers coming from? The RIA space. The enhanced integration with Flex and newly introduced AJAX features of CF8 are bringing new people to CFML. The ColdFusion Enterprise Hub concept is also driving adoption and converting critics. The fact that these features are missing from this newly open sourced edition has me pessimistic about how many new CFML developers they'll be able to attract.
New Atlanta has long said they've been trying to expand the community, but I've never seen evidence of this. Rather than go after .NET developers and sponsor conferences like Microsoft Mix to truly promote CFML, thier strategy has been solely aimed at the current CFML base (and in most cases, helping those CFML customers move _off_ of CFML). So, please excuse me if I'm a bit skeptical of their willingness to expand the base. I'm still convinced their primary motive is to chip away from ColdFusion's base.
OEM Applications
This is by far the best and only reason you should consider deploying on open source BlueDragon. It's the project's best hope at expanding the CFML base. One of the driving forces behind PHP's use in the enterprise is the availability of free applications. Apps like PhpBB, MediaWiki, SugarCRM, etc., offer businesses a cost-effective way to solve common problems. These companies adopt these products with minimal risk and some will need to extend or customize those products. This means they need to hire a PHP developer. Months later an application requirement pops up and guess what, they decide to build it with PHP since they've already got an expert on staff. This is the same strategy Microsoft has employed with Sharepoint. Wherever Sharepoint goes, .NET development is soon to follow.
This has really been my driving force in my research for a free/open ColdFusion. As most of you know, I've been talking about this since I started at Adobe because I really want to get CFML developers into the VM appliance market. With CF's rich set of features, I'm positive our community could create some kick-ass applications that blow away the existing offerings from Java/PHP/.NET. CFML as a language is perfect for this market because it's so easy to use. Rather than hiring a developer to extend the CF apps, a motivated business user could just learn CF!
However, what will truly separate ColdFusion-based applications from the established leaders is functionality and richness - Engaging user interfaces driven by AJAX, Flex and AIR, dynamic PDF documents and forms and the extensibility to integrate with all sorts of disparate technologies beyond Java. You can probably see where I'm going here; without these features, what can we do with CFML that isn't already being done in Confluence or PhpBB? Since this open sourced BlueDragon edition is feature incomplete, are we really going to have the ammo to compete in the OEM market?
For the record, Adobe is very open to OEMing ColdFusion so if you're considering BD, we should chat.
Don't Worry, Adobe's Still Going To Drive CFML Usage
I'm not going to be holding my breath and hope this project delivers on all the promises New Atlanta has made. I'm still convinved that the best way to expand the ColdFusion base is to invest in the innovation of Centaur (a.k.a ColdFusion 9). Four months ago I was convinced that we couldn't top ColdFusion 8. The release was too good and it would be nearly impossible to match it (let alone blow it away). In the coming months you'll start hearing a bit more of what's coming in Centaur and I'm incredibly excited about some of the great ideas (and support from Adobe). Where ColdFusion 8 was aimed at making our existing customers happy, Centaur will be very appealing to new developers. Our plan is a bit bold, but with Adobe's support, I think we can dramatically increase the ColdFusion base.
Brian Rinaldi wrote on 03/21/08 10:05 AM
I don't completely agree with you on every point, but this is a good post that clearly lays out your position. Personally, I think Adobe should sit back and watch and if the community really does rally behind an OS version, then there is a compelling case to do the same. But while we developers would want the free part, I don't see a business reason for Adobe to jump in now.That being said, if we had the tools (like an IDE) then you could follow a model more along the lines of Flex, where there is a free option but the tools cost.