Professional PHP

PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.
« Language Peeves
Two preg_replace Escaping Gotchas »

Communicating a Vision with Open Source

November 6th, 2005

Jon Udell and John Montgomery are taking a private conversation about open source public:

I’ll continue one argument I was having with Jon in the open, just to see what happens. The premise: Open collaboration can relentlessly commoditize things that require a lot of work — like deep integration — just because it can mobilize the resources.

My response: In my experience, that hasn’t been the case. In fact, the “open collaboration” model tends to leave things at the “good enough” point too often. Look at most open source software efforts: very few large-scale projects get beyond looking like bunches of different applications created by different people. Nearly none actually demonstrate things like common user experience paradigms, consistent APIs, or uniform management.

John goes on to describe four types of open source projects:

  • Cloners - so many of these.
  • Standards built - such as apache or mozilla.
  • Competitive Devaluation - closed source projects that become open source to gather a larger audience.
  • Invention - “Not quite like anything that came before.”

I think its worth noting that of these four kinds of projects, the top three share the characteristic of having well defined requirements. These are the projects where parallel collaborative development can excel.

The fourth kind of project, Invention, is a different beast entirely. I’ll argue that the open source projects in this category that end up actually succeeding are the ones run by a single benevolent dictator, or a small tight team. Thats because large groups are not good at setting cohesive goals. (ever watch CSPAN?) A strong goal and a strong vision, more than any other factor, determines the success of a software project.

Again and again I see various forums, mailing lists and news groups spawn open source projects, but if they don’t fit into the clone this or implement this standard variety, they usually die away. Thats because they lack a clear vision and a participants lack a willingness to commit resources to achieve that vision.

Communicating a vision such that people are willing to invest resources in realizing that vision is hard. The coin of the realm in open source is, of course, source code. The best communicator of a vision is code that solves a problem or provides value. Without that seed of working, valuable code, most open source projects never move beyond their creator.

Innovative open source projects face the same problem that a small business faces trying to get a a loan from the bank. The more you need the money, the less likely the bank is to give it to you. Similarly, potential contributers to an innovative open source project need to see that the goal of the project offers them value and that the project already has enough resources committed to potentially achieve that goal. Only then are they willing to commit their own resources to the stone soup.

Given the difficulty of communicating a common vision, I think its no surprise that “common user experience paradigms, consistent APIs, or uniform management” are not necessarily natural strong points of open source software.

categories Open Source
tags open source, project management

Related Posts

  • Managing Open Source Projects
  • PEAR: Its a Vision Thing
  • Zend Framework Webcast
  • Commercial Zend versus Open Source PHP
  • Code Coverage, Feedback and Open Source
You can leave a response, or trackback from your own site.

One Response to “Communicating a Vision with Open Source”

  1. Zend Framework Webcast - Professional PHP pingbacked on March 1st, 2007 at 12:21 pm

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

code: use [code=php][/code].

Comment Preview

  • Search

  • Subscribe

    Subscribe All Posts
    Subscribe All Comments
    Subscribe All Bookmarks
    Subscribe with Bloglines Subscribe with My Yahoo Add to netvibes Subscribe in NewsGator Online Subscribe with Google feed reader
  • Share This

  • Categories (Home)

    • Agile Methods (14)
    • Mac (14)
    • Misc (16)
    • Open Source (14)
    • PHP (93)
    • Software Design (27)
    • Usability (14)
    • WACT (7)
    • Web Design (20)
  • Recent Comments

    • Delphi for PHP  27
      GNtdTFJVFOSmiLLje, JackSfe, ZIB_NIMER [...]
    • PHP Coding Standards  6
      3123, Jack Johnson, Ignatius [...]
    • Expert and Novice Programmers  13
      Ben W, flj, chris web developer [...]
    • Working with PHP 5 in Mac OS X 10.5 (Leopard)  83
      e-okul, Luis Oscar Cruz, xentek [...]
    • How to Transfer Mac OS X Application Data between Computers  34
      Khaled bin Alwaleed, Oscar, TeeJay [...]
    • Sarah Snow Stever  23
      Snowcore, ennah, Philippine Website Developers [...]
    • PHP Development From Java Architects Eye  9
      Bobrila, FelhoBacsi, Angsuman Chakraborty [...]
    • Improved Error Messages in PHP 5  9
      ennah, Khumaer, retry [...]
    • The value of MVC  7
      Vulchak, อะไหล่แอร์, Derek Scruggs [...]
    • Why PHP is easier to learn than Java  13
      , , WTF [...]
    • goto in PHP  38
      Goldilocks, , SFM [...]
  • Pages

    • Tags
  • Recent Posts

    • Sarah Snow Stever
    • Benchmarking PHP’s Magic Methods
    • The Endpoints of the Scale of Stupidity on Video
    • Working with PHP 5 in Mac OS X 10.5 (Leopard)
    • Keywords and Language Simplicity
    • Improved Error Messages in PHP 5
    • Michigan Taxes Graphic Design Services
    • Ruby versus PHP or There and Back Again
    • Mighty Mouse Kryptonite and Exceeding Expectations
    • reCAPTCHA - Combining Distributed Problem Solving with a Web Service
  • Archives

    • 2007: Jan Feb Mar Apr May Sep Oct Nov
    • 2006: Jan Feb Mar Apr May Jun Jul Oct Nov Dec
    • 2005: Jan Feb Mar Apr May Sep Oct Nov Dec
    • 2004: Apr May Jun Jul Aug Sep Oct Nov
  • Menu

    • Register
    • Login