Tim O'Reilly has an interesting post entitled "Open Source: Architecture or Goodwill". It got me thinking about software development models, delivery models, licensing models, and business models. They are four different things. Open Source can be used to describe all four models, but can be used selectively. For example, you could have software that was developed by an open source project team, delivered on an OEM server, licensed per server, and paid for on a term basis. In a world where software can be delivered as a service does it matter how it was developed?
Development models are concerned with architecture, technology platforms, and how the development work will get done. You can use open source teams, offshore or out sourced teams, or internal development teams to get the work done.
Delivery models include shrink wrapped, OEM, down loadable binaries, open source code, or SaaS Software as a Service. The delivery model is only about how the software is delivered, and does not necessarily dictate the licensing model or business model. For example software could be developed internally by a software company, delivered as a hosted service, licensed for consumer use only, and paid for by advertisements.
Licensing models set the rules for how the software can be used and what rights the developer retains. Traditional software licenses were tied to a server, a PC, or a user, but all the IP remained the property of the software company. There were various models that tried to match the way the software would be used to the pricing. Open Source projects typically use a General Public License (GPL), a Creative Commons license or some variant. But the many variants have different rules about how the source code and derivative works can be used and redistributed. Some require that anything you develop from using the free source code must also be redistributed for free. The licensing model governs the use of the software, but not how it is paid for.
Business models include traditional perpetual up front license fees, term based payments, subscription based, ad supported, or the support and maintenance model. Software could be free to consumers but require payments for commercial use. Again, the business model or payment method is independent of the development, delivery, or licensing model.
The software business is very complex. The licensing and business models are morphing into strange combinations. Open Source is a broadly used term that can have very different meanings in the context of development, delivery, licensing, and business models. Make sure you know what you are agreeing to when you acquire the right to use software.