Distributed Development

From Wiki

Jump to: navigation, search

Contents

Recruit: How do you recruit new developers?

Avoir

  • No new developers except through (Avoir) project network (nodes)
  • Vested interest for developers
  • Sexy project like FireFox
    • Easy to attract (high profile)
    • Millions of users
    • Cool factor
  • Avoir - no sexiness
  • Individuals that use the software will become developers
  • Masters program (Masters in Free and Open Source Software) in universities throughout Africa
    • Could be in PHP, Java, etc
    • Turn it into a research project
  • Take a business as an intern (SME in Capetown called Maxor)
  • Create new business by developing relationships with SME development
    • They use the framework and build modules
    • Platform benefits from the
    • Makes business opportunities

OpenMRS

  • Pseudo-sexiness
  • Fame aspect
  • GSoC developers
  • Get developers through universities
    • Trinity University
    • University of Rwanda


Retention: How do you retain developers? How do you keep them interested?

  • Increase bus factor
  • Can have turn over without affecting the project
  • Encouragement, egos
  • Using projects creates opportunity to develop new features (ex. Apache)
  • Payment
  • Taught formal university classes (revenue creates opportunities to create


Conflict: How to handle design conflicts / arguments?

  • Bus factor - how many developers could get hit by a bus before the project would stall
  • Design conflicts easily resolved through discussion
  • Group discussion usually resolves all problems
  • As long as modules adhere to coding standards, there won't be much conflicts since they are standalone)
  • Innane conversations about design issues (flame wars) -> Painting the shed
  • Conflicts usually revolve around the API/Core
    • Example: AJAX framework
      • Supports two frameworks, enable/disable
    • Short version of a method name
  • Modular architecture allows code to be written that can later be added to core
  • Some projects have hierarchy of conflict resolvers
  • Stealing code?
    • Depends on the license
      • BSD, MacOS X derivative of FreeBSD
      • GPL
    • Depends on what you do with the software
      • No distribution -> ok
      • Distribution -> GPL comes into play


Tools: What tools are used for development?

  • IRC - Both Chisimba and OpenMRS use it
  • Chisimba - Realtime (voice, video, presentation, sketching)
  • Tools mentioned this morning (Trac, wiki, forum, mailing list)
  • Google Docs
  • Skype, Yahoo, MSN, other chat
  • Eclipse plugins for this -- research this
  • RSS feeds
  • Events - code sprints, usability sprints


How are we going to make money

Mifos

    • Build services around the software
    • They get support from IDRC, cannot charge for it
    • Services = Revenue (business model)
    • Managing IT, training, capacity building, installation, data migration, customization

Avoir

  • Services = Revenue
  • Setting up content managed servers
  • Lots of features that make its very good software
  • Create internships for SMEs


Internet Based

  • Collaboration online is a big challenge
    • Code repository - gforge (fork of sourceforge)
      • Glue to hold all projects together

Collaboration

  • Committed code to other projects Oracle (Debian installer), PEAR, etc
  • Find other communities that are doing complementary work (build interfaces)
  • Another way to get developers

Ownership

  • If a person builds a module you can take the entire project and sell services around the OSS project
    • Demonstrates viability of the project
    • Promotes the application
  • With certain licenses you can:
    • Sell the application on the CD
    • Provide services
    • Provide a paid download service
  • With other licenses
  • Viral licensing
Personal tools