Paying developers to get features faster

20

Author: Daniel Dern

What do you do when your off-the-shelf software lacks all the features you want?
If it’s Open Source software, you can modify the program yourself, if you’ve got
the time and expertise, but then you have to worry about supporting your mods, and whether they’ll work
when a new release comes out. You can ask the program’s developers and hope they’ll do what
you request within a useful time frame. Or — in some cases — you can pay the developers to add the features you want, in the timeframe you want, as part of the main release.

For example, Legal Aid Manitoba relies on a program called
Childview, which it had been running under Windows 98. Faced with the
need to continue supporting its 150 employees in seven offices on an annual
budget of CA$333 per user, the organization looked at migrating to Linux as an
alternative to a much more costly hardware and software upgrade to Windows XP.

The organization paid for CodeWeavers to do
the necessary development to ensure that the Childview program would run
under Wine, an Open Source
re-implementation of the Win32 API that allows Linux users to run Windows
programs under Linux without needing a copy of Windows.

“This allowed us to migrate from Windows to a thin-client Linux environment,
instead of having to go to Windows XP or a Windows/Linux dual-boot environment,”
said Scott Balneaves, system administrator at Legal Aid Manitoba.

According to Balneaves, the estimated hardware and software costs to move to
Windows XP would have been around a CA$350,000; the cost of CodeWeavers’ efforts
was a mere $2,000, and the total cost to move to the Linux Terminal Server
Project
thin-client environment was CA$20,000. “We went from
having a showstopper situation to within a few days having all our problems
fixed and being able to move ahead.”

Similarly, for Walt Disney Feature Animation, one obstacle to a planned
shift to Linux was about 100 staffers’ use of Adobe Photoshop, for which no Linux
version was available — and Adobe was understandably unwilling to create a Linux
version of Photoshop for this small a group of customers.

The studio’s options included setting the Photoshop users up with VMware and
Windows XP, getting 100 Macs, or switching from Photoshop to Open Source
alternatives such as the GNU Image Manipulation Program or
CinePaint.

Instead, Disney joined several other CodeWeaver corporate customers to fund CodeWeavers’ efforts to add CrossOver support for Photoshop. Within a
few weeks, Photoshop 7.0 was running under CrossOver. CodeWeavers subsequently
announced that CrossOver Office version 2.0 would support Photoshop. According to
Disney’s Jack Brooks in a story in eWeek, the Windows-based approach would have cost around $90,000 annually for licenses and
support; for the porting-based solution, including site licenses, Disney spent
less than $15,000.

MySQL AB, the company that develops, supports, and markets the
MySQL database, is another company that does features for customers.

“We have indeed had many customers ‘fund’ features for our products,”
confirms Zack Urlocker, VP of marketing at MySQL AB. “The best example of this
would be SAP. We have put together a comprehensive road map with SAP to
ensure that our product line supports SAP R/3 and that it continues to
evolve as they need it. There are specific requirements that we have
agreed to, milestones for delivery and so on.”

On a smaller scale, Urlocker says, “We have added specific features
[to MySQL] for ISPs, for example, to enable them to monitor usage, and
some of these have also had payments associated with them.”

Some of these decisions reflect larger-scale marketing decisions. “In other cases,” Urlocker notes, “we have seen feature
requests from large or even small customers, that we knew would be of
benefit to everyone, and so we have prioritized those features higher in
our roadmap even without specific funding. However, it’s often the part
of a larger discussion and the purchase decision may depend on our
accelerating that feature for a specific time table. For example, we
have had certain feature requests in the area of security, and since we
knew it was important for many customers, we agreed to do this earlier.”

Get out your checkbook

Another company that’s funded features is DonorWare, which provides enterprise fundraising services and systems for large
charities and non-profits. DonorWare uses WebGUI, an Open Source Content
Management System (CMS) from Plain Black Software.

According to Mike Schroeder, president and CEO of DonorWare, “We found
that 90% of the tweaks our clients wanted tended to involve
the presentation layer rather than the business logic. WebGUI’s templating
engine allowed clients to maintain their own look and feel.”

Other alternatives

In addition to customer-funded feature enhancements, some companies use other methods
of prioritizing new features for their products:

  • Web-based feature requests (without any commitment to do them), e.g.
    Adobe’s product feature requests
  • VotingTransGaming Technologies lets subscribers, who pay $5/month, “vote on what they’d like us to work on next,” according to Gavriel State, TransGaming co-CEO, CTO and founder. “Every month we take stock of what the polls are saying. Users can also put
    something up for votes; if 10 others second it, it gets into the polls.”
    Subscribers can even purchase additional votes by paying more than the $5/month.

    While TransGaming uses the polls as a guideline rather than an absolute mandate,
    “you can get your game’s support in Linux without having to convince a large game
    developer to put in hundreds of thousands of dollars,” State points out.

  • Bounties to get code done. GNOME’s Desktop Integration Bounty Hunt offers bounties for
    code that the GNOME foundation wants written.
  • While DonorWare has added some features to WebGUI on its own and contributed
    them back to the WebGUI community, “there were others we were happy to have
    PlainBlack do,” says Schroeder. “For example, WebGUI has a shortcut/proxy feature
    that lets you create a redisplay of the same content in another place. We wanted to
    be able to do that but run the content through a different template, so there
    would only be one source for the content, but it could display differently
    in different places.

    “We decided we’d like PlainBlack to do it, because it tied in to the templating
    engine, which is the core of what WebGUI does,” Schroeder says. “It made more sense
    for them to do it; by the time our guys could get familiar enough, it was
    cheaper to have them do the work. And we like being able to push work their
    way because of what they’ve done for the Open Source software. It’s a way
    of rewarding them for their efforts.

    “Part of the value of being Open Source,” Schroeder adds, “is that we’re able to
    work with PlainBlack to make reasonable and intelligent requests because
    we can get under the hood a bit and think about the implications
    before asking for an enhancement.”

    In some cases, DonorWare coordinates funding for WebGUI feature requests
    from their own customers. “We’re interested in making sure a new
    feature is generalized enough for our other clients as well. We’ll probably
    pull together funding through three or four of our clients for an
    enhancement for allowing dynamic personalization, based not just on the
    standard content, but also, say, where a user lives, or their last donation,
    leading to different blurbs on their home pages.”

    Dutch touch on funding

    Another WebGUI customer that’s funded features they wanted is
    Dutch Web Solutions.
    Len Kranendonk, a Web developer there, reports,
    “One of our customers wanted to use WebGUI to build a community site, but
    wasn’t satisfied with the built-in discussion engine. Instead of implementing a
    third-party discussion system, we decided to ask PlainBlack to build the needed
    features in the WebGUI core.”

    “PlainBlack had coded the discussion system, so they could implement
    the needed features in less time than we could,” Kranendonk points out.
    “Also, by letting PlainBlack do it, we were sure that the extensions would
    be part of the standard distribution.” Benefits of this, he notes,
    include “easier upgrading to new versions, and, since PlainBlack maintains
    the code, submitted bugs are fixed in the core.”

    And, Kranendonk adds, “Some months after the discussion extensions were
    released, PlainBlack released a completely rewritten discussion engine, with far
    more features than we ever dreamt of!”

    Customers aren’t the source of custom feature funding, either.
    Jeremy White, founder and CEO of CodeWeavers, says
    a number of vendors have paid CodeWeavers to ensure their products will run under
    Wine, including Borland, Corel, and MusicMatch.

    Nor are Open Source organizations the only ones willing to fund features. Take for example Members Only Software, which sells a software application
    that manages the major business tasks of not-for-profit organizations.
    “Very often, our customers want features enough to pay for them, and
    in most cases they’re hoping that these features become part of
    the standard product so there’s no danger they’ll lose them,”
    notes Michael Stein, president of Members Only Software.
    “Since we service a niche market, these companies want very specific
    features, but don’t want to build from scratch.”

    Common factors in companies that do “customer-funded features” include a comparatively
    small customer base — which means that a given customer’s satisfaction
    matters more — and/or relatively small company size or revenue, making
    the revenue for customer specials more meaningful. If you’re working with a company like this and you don’t see what you like, and your budget’s up to it, feel free to ask.