An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Improving ColdFusion Open Source Software

October 2, 2009 · 15 Comments

One of the common complaints I hear about ColdFusion's popularity (or perceived lack thereof) is that we don't have any of the 'killer' open source applications that make PHP (or insert language of choice) so popular. If you look around at great open source applications (MediaWiki, Drupal, Wordpress, Apache, OpenOffice, Linux, Firefox etc), they all have a few things in common:
  • A dedicated team of developers - and documentation authors and testers and so on
  • An organization that helps with project logistics, community management, marketing and so on
  • Financial support of some form - usually in terms of sponsorship for infrastructure, sometimes in terms of actually paying people to work on the project
In the CF community, we have none of these. A handful of open source projects have a small team of developers, rather than being just a lone developer. Some projects have infrastructure (e.g., Trac/SVN) donated by a company - and that includes RIAForge and any of the source code hosting companies that offer free plans for open source projects. What if an organization existed to help open source CFML projects grow? What if that organization could offer infrastructure, assistance with project logistics and marketing, and could help marshal volunteers to encourage better documentation and testing and so on? That's the idea behind the For ColdFusion Foundation. 4CFF was announced at CFUnited as a incorporated, non-profit organization with a board of directors in place and a set of bylaws based on the Apache Foundation. The goal of 4CFF is:
The For ColdFusion Foundation (4CFF) is a non-profit dedicated to helping the ColdFusion Community at-large through fostering a collaborative environment for ColdFusion Free Open-Source Software Projects and their Developer Communities, so that we all may enjoy great software.
Since CFUnited, 4CFF has been working on logistics and is close to announcing the first two open source projects that will be moving under the 4CFF umbrella. It's early days for the foundation but you can read more about the concepts behind it and the people involved on the 4CFF website and you can follow announcements on Twitter. You can join the foundation's free membership mailing list or send your thoughts to the foundation, via the 4CFF website. If you're at MAX, quite a few of the board will be there and you can ask your questions in person. Look for the Space Chimps!

Tags: 4cff · adobemax09 · coldfusion · oss

15 responses so far ↓

  • 1 Mike Henke // Oct 3, 2009 at 3:36 AM

    I think ColdFusion Open Source projects using a site like Github would improve collaboration thus gradually creating a "dedicated team of developers."
  • 2 Nitai // Oct 3, 2009 at 4:40 AM

    Hi Sean,

    While I agree with 99% of your comment on non existing successful open source projects in the CF community I would like to mention Razuna.

    Razuna, since it's launch in August 2008, has seen over 30000 downloads and has been deployed at over 500 locations (that I'm aware of).

    My company behind Razuna, Razuna Ltd., has talented people on board that are working hard to bring the best open source Digital Asset Management System to the world.

    Regarding community effort, I have to say that people have come forward with helping to develop code and also an AIR application and translation.

    I call this a successful CF project :-) Just wanted to let you know.

    http://razuna.org

    Kind Regards,
    Nitai
  • 3 Sean Corfield // Oct 3, 2009 at 8:40 AM

    @Nitai, yes, and I think one of the key differentiators between Razuna and "most" other open source applications in the CF community is that your application represents a best-in-breed for a specific vertical - and my understanding is that it actually does have a team, organization and money behind it, in terms of your company right?

    @Mike, I'm a big fan of git too but given how recently many CFers have adopted source code control, SVN is more common and (currently) better supported by tools. I'll certainly raise the issue of 4CFF offering both SVN and git tho'...
  • 4 Nitai // Oct 4, 2009 at 1:51 AM

    Yes, any developer who releases his "masterpiece" as open source in the hope that the community will pick it up and contribute, will sooner or later realize, that this is a dream that never comes true :-)

    For a successful Open Source project you will initially need a driving force behind it. Be it, a committed "team" of people, at least ONE totally dedicated developer doing nothing else! and/or a resource (lime a company, money, investor) that can bring the project forward.

    In any case, be it a company or organization behind it, ultimately you need to get the community behind the project, or else it will not be a success, but only a marketing tag that your software is open source!

    Kind Regards,
    Nitai
  • 5 tony petruzzi // Oct 5, 2009 at 5:53 AM

    there are some really great open source projects for coldfusion out there. the issue i've noticed is that they never get any attention or praise. sure the coldfusion open source update providing by remote synthesis does help a little in this area, but what really needs to happens is the "big-timers" like yourself exploring and providing opinions and feedback on the projects themselves.

    as for the 4cff itself. i clicked the link to the website and the first two things that caught my eye were:

    Keep the pigeons from cr@pping your laptop!
    Free Beer!

    you want this organization to be taken seriously and you have stuff like that on the homepage?
  • 6 Sean Corfield // Oct 5, 2009 at 7:38 AM

    @Tony, what are the "really great open source projects" that you're thinking of?

    As for the funny stuff on the 4CFF website, yes, we've had some discussions about that and I am in your camp: it's not appropriate for a professional organization.
  • 7 tony petruzzi // Oct 5, 2009 at 7:50 AM

    hehehe

    let's just say that i got you wheels spinning.
  • 8 Daniel A Greenfeld // Oct 6, 2009 at 10:35 AM

    Reasons why I think the CF community has such a weak OS ecology:

    1. Most ColdFusion developers I encountered during my tenure with ColdFusion were of the sort that they didn't give back to the community.

    2. You tend to have to purchase it through this or that company. Has CF been released as 100% open source by Adobe? Not yet!

    3. Lack of embrace of the MIT/BSD license. Razuna's AGPL/Commercial split is as bad as ExtJS. Sure, they might be great products but the licensing is not fun. MIT/BSD means I can use it personally or at work and just not worry that much.

    4. CF is still stuck in the world of SVN. Git, Mercurial, and even Bazaar are much better alternatives. Github.com is so incredibly awesome, especially now that they moved to rackspace.
  • 9 Sean Corfield // Oct 6, 2009 at 2:16 PM

    @Daniel, thanx for the insight. I agree with #1 and I think that's pretty much a consequence of #2 (which I also partly agree with).

    For #2, things like RIAForge help and of course there are three other open source CFML engines (Railo - LGPL, Open BlueDragon - GPL, Smith - no idea). Smith is not very complete but OpenBD is pretty close to CFMX 7 and Railo is pretty close to CF8/9 in terms of core language - and then both OpenBD and Railo have a lot of interesting, novel features as well.

    For #3, how do you feel about Apache Source License 2.0? That's my preferred license. I agree that GPL is problematic for companies.

    On #4, a lot of CF people aren't even using version control so getting them to at least use SVN is a big win :) I'm using git now and I see it picking up press within some parts of the CF community but folks have to get comfortable with source code first before being able to evaluate pros and cons.

    We have a long way to go but we're on the road :)
  • 10 Nitai // Oct 7, 2009 at 12:05 AM

    @Daniel
    When it comes down to licensing, I'm sure you got personal issues in saying that the most used open source license, the GPL, is no fun. There are many projects under the GPL, like MySQL. Are they also no fun :-)

    For people who like to contribute to open source and want to make sure their work stays under open source, the GPL is a well balanced license.

    For companies that don't like a open source license, don't care what license is behind it. They are free to use a Commercial license. That is the main reason why we do it and others.

    As a matter of fact, there is no other place in the world then the open source community itself that debates over licenses. It think this to be very funny!
  • 11 Sean Corfield // Oct 7, 2009 at 9:47 AM

    When I worked at Adobe, we evaluated a lot of open source software for use/inclusion in Adobe products and services. GPL simply could not be considered because of its "viral" nature. LGPL on the other hand ensures that your code stays open but also allows companies to bundle LGPL code with their products and therefore increases adoption. LGPL was specifically created to address this issues because of the problems with GPL. Even LGPL can be problematic for companies that want to build commercial products if the LGPL subsystem does code generation or is architected that normal use involves modifying / adding code within the LGPL-covered directories. That's why Model-Glue switched from LGPL to ASL - for use at Adobe.

    Supporters of GPL argue that it is the "purist" open source license and in many ways it is. Everyone has to make their own choice and I get a bit tired of the zealous way the GPL supporters try to promote that license as "the best" for open source projects.

    And, frankly, saying "Well, if you don't like GPL, we'll sell you a commercial license" is just a cop-out in my opinion. If you really wanted to promote open source as a basic principle and you really wanted to promote adoption of projects, you'd use LGPL instead :)
  • 12 Nitai // Oct 7, 2009 at 10:11 AM

    Well, in that regard, I'm happy that my customers and contributors don't mind the GPL and are happy with it and are using Razuna to it's fullest content :-)
  • 13 Daniel Greenfeld // Oct 7, 2009 at 10:41 AM

    @Nitai,

    I'm delighted that Razuna can make a living selling a product. However, the model used of GPL/Commerical is something I won't use, endorse, or support. If you made it MIT/BSD or even ASL then if I were still in the ColdFusion world I would consider using it, and even purchasing service & support.

    Why?

    Okay, lets say I go back to ColdFusion and I use Razuna. I get it into use at work. We pay for a commercial license. Everything seems good.

    However, with a commercial license how much can we legally modify the source code? Is your system set up to be modular so that we can continue to receive updates while making our own customizations? Can we legally use other people's contributions to your stuff, since they did it under GPL and we are under commercial?

    What if I want to hack on code in my own time under GPL and then bring it into Commercial at work once I've got something neat running? How does the law handle that issue?

    And what if Razuna goes bankrupt or you get bought out by a competitor who cancels your line. What then? Can we fork? Or are we stuck with something where we are legally tied to an outdated version? How does your license handle that?

    Has this happened? With closed source, so its not quite the same but not far off:

    http://pydanny.blogspot.com/2008/09/dont-bet-on-closed-source-third-party.html

    All of this is probably moot. You aren't going to change your business practices. You'll do things like Adobe and ExtJS and the rest of the world will shake their heads. And the founders of Redhat, JBoss, Rails, Django, MySQL, PostGreSQl, et al will continue to reap the rewards of very open license while charging mounds of money for support.
  • 14 Nitai // Oct 7, 2009 at 11:22 AM

    I don't want to abuse this blog post to talk about Razuna or get involved what license we use.

    All, I'm saying is that everyone is entitled to support which project they like. That is one of the many faces of open source.

    I don't see ourself as "reaping" the fruits of peoples work, as they contribute and we contribute to make our product better. Customers who use our commercial license can either contribute back or not. If they chose so, then we include it in the source code, but only if they want.

    From your post, I guess you are not using any of the mentioned products, like Linux, RedHat, MySQL et al? (PostgreSQL has a BSD license).

    As I said, before, use what suits you best and enjoy coding :-)
  • 15 Daniel Greenfeld // Oct 7, 2009 at 6:16 PM

    @Nitai,

    We do use Redhat and PostGreSQL at NASA and enjoy the licensing very much. :)

Leave a Comment

Leave this field empty