2007-11-03

Strategies for using open source in the Thai software industry

The following is adapted from the slides of a presentation I gave yesterday on how the Thai software industry can benefit from open source. I think a more important problem is how the country as a whole can benefit from open source, but that wasn't what I was asked to talk about. Also note that the objective here is not to help open source but to help the Thai software industry. I think most, if not all of this, is applicable to other countries at a stage of development similar to Thailand's.

Application platform
  • Applications need server platform, including
    • OS
    • Database
    • Web server, framework
  • Open source server platform is at least as good in quality as proprietary platforms
  • Platform does not compete with local software industry
  • Using open source on the server does not require users to move away from familiar Windows desktop environment
  • Virtualization enables applications built on fully open source application platform to be deployed on Windows
  • Trend towards web-based applications, where everything is on the server
  • Avoids cost of platform software licenses, according to business model
    • Licensing software: users save cost
    • Appliance, software as a service: producer saves cost
  • Licensing issues
    • Software as a service: no issues
    • Licensing software: must keep separation between proprietary and open source parts (no linking)
    • Appliance: must make some parts of source code available to customers
  • Mixed strategies also possible (e.g. Oracle on Linux, PHP on Windows)
Development tools
  • Traditional strength of open source
  • Java-based IDEs (e.g. Eclipse, NetBeans)
    • Written in Java, but support many kinds of development in addition to Java, e.g. C/C++, Web
    • Several companies adopting Eclipse as base (e.g. Nokia)
    • Main advantage compared to Microsoft is no lock-in to Microsoft application platform
    • Cost not the key issue: Microsoft makes development tools available to ISVs at low cost
  • Collaboration tools
    • Open source community has evolved exceptionally effective collaboration tools because
      • it is highly distributed
      • it only adopts process to the extent that it actually delivers results
    • Proprietary tools expensive
    • Key tools
      1. Version control (CVS, Subversion, Mercurial)
      2. Issue tracking (Bugzilla, Trac)
Education and professional development
  • Participation in open source projects builds skills that universities often fail to teach
    • Communication, especially English language
    • Cooperation
    • Working with large programs
    • Modifying existing programs as opposed to creating new programs
  • Opportunity to work with world-class developers
  • Helps career of individual developer by building personal brand
    • Opportunity to get work overseas
    • Improves chances of getting into good US graduate school
  • Builds highly motivated developers with world-class skills, who wish to pursue technical career
  • Useful both at student and professional level
  • Should emphasize participation in existing, successful, international projects
  • Be highly selective about starting new projects
    • Successful, large open source projects could help build image of sponsor organization or Thailand generally
    • But very difficult to create a really successful, large open source projects
    • Choose area where no open source solution is yet available; opportunities still exist
    • Need to choose projects that can benefit rather than compete with local software industry
  • Individuals must choose projects they are passionate about
Embedded software
  • Hardware sales provide well-understood business model
  • Trend to Linux as OS for embedded systems
    • Increased power of embedded devices
    • Need for strong networking capabilities
  • Opportunity for electronics industry to move up the value chain
Fully open source business model
  • Product is fully open source
  • Possible for small company to achieve large market share because of
    • No licensing cost
    • Contribution of open source community
    • Examples: JBoss, MySQL
  • Business model based on support, consulting, training
  • Not an easy strategy