The Business of Open Source
TIM Lecture Series
Dec 12, 2013

www.timprogram.ca
www.carleton.ca

Michael Weiss

weiss@sce.c...
Outline
★ Part I

★ Part II

• Open source business

• Stage 4 open source
businesses

• Business patterns
• Stage 1-3 ope...
Open source
• Open source (OSS) has become an integral part of
commercial software development
• In the past, open source ...
Defining open source
• Free Software Foundation (FSF) defines open source
through four freedoms: freedom to i) run, ii) stud...
Not a business model
• Open source is used by the business as a strategy to
strengthen its business model (Bailetti, 2009)...
Open source business
• Uses open source to develop new products
• Builds its products/services around open source offers
•...
Open source engagement model
Profit

Collaborate
Champion
Contribute
Use
Level

Modified from Carbone (2007)
weiss@sce.carle...
Patterns
• Idea of patterns originates in architecture
• Have become popular in software (design patterns)
• A pattern is ...
Example: Whole Product
• You sold your first products to early adopters
• You need to sell more than a technology
• The sol...
Elements of a pattern
• Name that communicates the intent of the pattern
• Context in which the pattern applies
• Problem ...
Pattern languages
• Patterns are rarely applied in
isolation; rather they become
words in a pattern language
• Each patter...
Choose your own adventure
• Pattern languages can be
navigated in different ways like
the chapters in a “Choose Your
Own A...
In parts the patterns draw on existing research and literature. Inevitably these
patterns represent the author’s understan...
Open source business patterns

Contribute
Champion

Architecture

Licensing

Patterns for each
stage of engagement

Use

C...
Use
“It costs virtually nothing to start a software business
these days.” [when you use open source]
– Jason Fried, 37sign...
Bootstrap
You need to shorten
the time it takes you to
create the first version
of your product while
keeping your costs
lo...
Example
• The initial version of the BigBlueButton open source
web conferencing system (www.bigbluebutton.org)
was built b...
Related patterns
• Build on the Shoulders of Others
• Play by the Rules

weiss@sce.carleton.ca

18

Licensed under a CC BY...
Share of customer’s wallet
Price/
Customer
Services

Demand
curve

Price/
Customer

Demand
curve
Services
Increase

Softwa...
Higher service revenue
Price/
Customer
Services

Demand
curve

Price/
Customer

Demand
curve
Services

Service cost
Servic...
Contribute
“Companies have also begun to recognise that making
money from open source software while not giving
anything b...
Contribute Back
You need to keep
aligned with the
open source projects
you use

Contribute back
resources (code,
people, m...
Example
• Companies generally achieve three goals by
contributing back: i) build trust with the community, ii)
influence th...
Related patterns
• Feature Gift
• Sponsor a project
• Chinese Wall
• Hire the Men Inside

weiss@sce.carleton.ca

24

Licen...
Champion
“Let’s make it open source to share costs and give
others a platform to participate and contribute”
– Accenture

...
Credible Promise

Build a critical mass
of functionality early
in your project that
demonstrates that the
project is doabl...
Example
• BigBlueButton is an open source web conferencing
system whose functionality was sufficient for teaching
our onlin...
Related patterns
• Feed the Community
• Modular Architecture
• Sell Complements
• Run a Tight Ship
• Donate Code

weiss@sc...
Feed the Community
How do you build
legitimacy with your
project community?

Nurture the
community without
expecting an
im...
Example
• A company builds up legitimacy with the community
by i) giving to the community (code, documentation,
participat...
Community funnel
• A community has three types of participants: i) users
who use the technology internally, ii) adopters w...
Related patterns
• Create Pull
• Prepare for Release
• Approved Open Source License
• Permissive License
• Self-Service
• ...
Sell Complements
How do you
monetize an open
source product?

Sell products or
services (eg hardware
or support) that
comp...
Example
• IBM has made Linux the operating system of choice for
its servers and has ported most of its applications
• IBM’...
Services – PostgreSQL

weiss@sce.carleton.ca

35

Licensed under a CC BY-SA license
Related patterns
• Derivative Product
• Services
• Paid Feature
• Support
• Distributor
• Ancillary Product
• Dual License...
Run a Tight Ship
How do you keep
control of the
project’s direction?

Maintain full
ownership of the
code

weiss@sce.carle...
Example
• OpenOffice started as a closed source product
(StarOffice) that was bought by Sun and later released
as open sourc...
Related patterns
• Dual License
• Dual Product (Open Core)
• IP Modularity

weiss@sce.carleton.ca

39

Licensed under a CC...
Dual Product (Open Core)
How do you
entice commercial
users to pay for an
OSS product?
Sell a commercial
version of the op...
Example
• PhoneGap (a popular mobile application development
framework) is an Adobe-led Apache project
• PhoneGap was dona...
Example
• PhoneGap (a popular mobile application development
framework) is an Adobe-led Apache project
• PhoneGap was dona...
Related patterns
• IP Modularity

weiss@sce.carleton.ca

42

Licensed under a CC BY-SA license
Pattern Map – Champion
Credible Promise

Donate Code

Feed Community

Pool
Resources

Create Pull

Foundation

Sell Comple...
Lessons

weiss@sce.carleton.ca

44

Licensed under a CC BY-SA license
Break

weiss@sce.carleton.ca

45

Licensed under a CC BY-SA license
Collaborate
• Collectives are “used to achieve results that no single
member can achieve on its own”
– Bailetti et al. (20...
Pool Resources
Pool resources with
other companies to
jointly develop a
common stack of open
source assets that the
compan...
Example
• The members of the Eclipse project develop common
assets (such as GUI components and code generation
tools) that...
Related patterns
• Foundation
• Sell Complements

weiss@sce.carleton.ca

49

Licensed under a CC BY-SA license
Foundation
How do you attract
other companies to
contribute to your
source project?
Transfer
ownership of the
code to an
i...
Example
• When Eclipse was spun out of IBM, a foundation was
put in place to manage the project
• While IBM still contribu...
Related Patterns
• Shepherd
• Incubation Process
• Whole Product
• Project Champion
• Permissive License

weiss@sce.carlet...
Collectives
• Projects play a central role in a collective: their role is
to reduce gaps and advance technology
Foundation...
Economics of a collective
Time
• Time to market
• Coordination

1, 2

Level of
contribution

4, 5

• Core asset base
• Pro...
Propositions
• P1. (Early bird) Improved alignment between contributed assets
and contributor’s needs

T

• P2. (Track rec...
Licensing
• “To succeed, companies need to find ways to use
outside innovations and to become part of a distributed
fabric ...
Play by the Rules
Link (2010)

Ensure license
compliance for open
source components
that are combined

How do you prevent
...
Example
• Components licensed under the GPL and the EPL are
not compatible. When the Mercurial Eclipse plugin
(EPL) uses M...
Related patterns
• Due Diligence
• Contributor Agreement
• Prepare for Release
• Contribute Back Derivatives
• Shims and F...
Dual License
Link (2012)

How do you
entice commercial
users to pay for an
OSS product?

Offer the same product
under an o...
Example
• “You can make sure you own the copyrights by either
writing all your own code or obtaining third-party
licenses....
Related patterns
• Restrictive License
• Dual Product

weiss@sce.carleton.ca

62

Licensed under a CC BY-SA license
IP Modularity
How do you
manage open
source and
proprietary
versions of a dual
product?

weiss@sce.carleton.ca

Align
inte...
Example
• SugarCRM’s business model is enabled by a modular
architecture that separates IP elements
• IP modularity facili...
Related patterns
• Modular Architecture

weiss@sce.carleton.ca

65

Licensed under a CC BY-SA license
Architecture
• “There is a need to create an ‘architecture for
participation’ that promotes ease of understanding by
limit...
Modular Architecture
How do you enable
external contributors to add
to the codebase without
requiring them to have
deep kn...
Example
• Examples of systems using a modular architecture are
OSGi-based runtime frameworks like Apache Felix and
Equinox...
Related patterns
• Stable Core
• Create Options
• Refactor the Code
• Tuning (Mix and Match)
• Conway’s Law
• Manage Compl...
Manage Complements
How do you
manage the quality
of complements?

Establish a governance
model and provide
regulatory tool...
Example
• Eclipse had created a three-tier community where
external contributions can be made by anyone, but
developers wh...
Governance model: Eclipse
Project: Eclipse
Governance model:
Hybrid control
Community tiers: Core,
internal, and external
...
Related Patterns
• IP Modularity

weiss@sce.carleton.ca

73

Licensed under a CC BY-SA license
Quo vadis, open source?

weiss@sce.carleton.ca

74

Licensed under a CC BY-SA license
Beyond the desktop and servers
• “FOSS has had a significant impact not only on
traditional desktop and server software, bu...
Open source in the Internet of Things
• “Open source software and collaborative development
have been proven to accelerate...
Open beyond software
• Open hardware
• Open data
• Open content

New business
opportunities

• Open knowledge
• Open APIs
...
Lessons

weiss@sce.carleton.ca

78

Licensed under a CC BY-SA license
Next steps

weiss@sce.carleton.ca

79

Licensed under a CC BY-SA license
References
•
•
•
•
•
•
•
•
•
•

Bailetti, T. (2009), How open source strengthens business models, TIM Review, http://
timr...
References
•
•
•
•
•
•
•
•
•
•
•
•

Noori, N., & Weiss, M. (2013), Going open: Does it mean giving away control, TIM
Revie...
Image credits
• Unless noted, images were sourced from Wikimedia
Commons and Flickr under a CC license

weiss@sce.carleton...
Upcoming SlideShare
Loading in...5
×

Business of Open Source

2,146

Published on

Open source has become an integral part of commercial software development. Whereas in the past, open source software development was considered to be driven by volunteer effort, today most of it is carried out by companies. How companies leverage open source ranges from the adoption of open source development practices, the use of open source development tools, and the integration of open source components into products to active contributions to existing open source projects, and the initiation of their own company-led open source projects. Open source furthermore enables companies to collaborate on the creation of common assets that they can jointly use in product development.

This talk will focus on open source businesses. An open source business is a business built around an open source offer. Open source is used by the business as a strategy to strengthen its business model. In this talk we will present common patterns followed by open source businesses. Patterns are proven solutions to common problems, and have been popular in the fields of architecture and software design. More recently, they have also been used to document business strategies. The patterns in this talk aim to provide entrepreneurs, managers, and students of business models with a language for creating new business models around open source, and for incorporating open source into existing business models.

1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,146
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
71
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Business of Open Source

  1. 1. The Business of Open Source TIM Lecture Series Dec 12, 2013 www.timprogram.ca www.carleton.ca Michael Weiss weiss@sce.carleton.ca 1 Licensed under a CC BY-SA license
  2. 2. Outline ★ Part I ★ Part II • Open source business • Stage 4 open source businesses • Business patterns • Stage 1-3 open source businesses • Licensing • Lessons • Future of open source • Architecture • Lessons • Next steps weiss@sce.carleton.ca 2 Licensed under a CC BY-SA license
  3. 3. Open source • Open source (OSS) has become an integral part of commercial software development • In the past, open source software development was considered to be driven by volunteer effort • Today, most of it is carried out by companies • For example, over 80% of changes to the Eclipse platform are made by paid developers • How do you build a business around open source? weiss@sce.carleton.ca 3 Licensed under a CC BY-SA license
  4. 4. Defining open source • Free Software Foundation (FSF) defines open source through four freedoms: freedom to i) run, ii) study and change, iii) redistribute, and iv) distribute changes • “Open source is a development method for software that harnesses the power of distributed peer review and transparency of process” (Open Source Initiative) weiss@sce.carleton.ca 4 Licensed under a CC BY-SA license
  5. 5. Not a business model • Open source is used by the business as a strategy to strengthen its business model (Bailetti, 2009) • Elements of a business model and how OSS can help Importance Community convinces customers on dimensions of importance: eg functionality, avoid lock-in Value Customers get eg higher quality, efficiency Partners can spend more money on going to market than on R&D, & can collaborate Resources and Access to talent and customers Processes Equal footing for small and large companies Profit Focus on IP that differentiates them Generates demand for paid complements weiss@sce.carleton.ca 5 Licensed under a CC BY-SA license
  6. 6. Open source business • Uses open source to develop new products • Builds its products/services around open source offers • Initiates its own open source projects • Leverages open source as a form of co-opetition (ie cooperation between competitors) weiss@sce.carleton.ca 6 Licensed under a CC BY-SA license
  7. 7. Open source engagement model Profit Collaborate Champion Contribute Use Level Modified from Carbone (2007) weiss@sce.carleton.ca 7 Licensed under a CC BY-SA license
  8. 8. Patterns • Idea of patterns originates in architecture • Have become popular in software (design patterns) • A pattern is a recurring solution to a common problem in a given context and system of forces • Recently, patterns have been documented for other domains than software, eg business patterns • Patterns are mined by domain experts, reviewed by shepherds, and subsequently workshopped weiss@sce.carleton.ca 8 Licensed under a CC BY-SA license
  9. 9. Example: Whole Product • You sold your first products to early adopters • You need to sell more than a technology • The solution needs to address the whole problem faced by the customer in a particular market • You may also need to provide training and integrate your product with the customer’s existing systems • Therefore, sell a whole product that includes everything the customer needs • The benefits of your technology are clear to customers, and you can differentiate yourself from competitors weiss@sce.carleton.ca 9 Licensed under a CC BY-SA license
  10. 10. Elements of a pattern • Name that communicates the intent of the pattern • Context in which the pattern applies • Problem that the pattern solves • Forces describe the conflicts within the problem • Solution that resolves the forces • Consequences of applying the pattern • Known uses provide evidence that this is a pattern • Related patterns link to other patterns weiss@sce.carleton.ca 10 Licensed under a CC BY-SA license
  11. 11. Pattern languages • Patterns are rarely applied in isolation; rather they become words in a pattern language • Each pattern describes how it fits into a larger whole through links to other helpful patterns • Patterns also describe how their solutions create benefits; a pattern should only be applied when its benefits are needed weiss@sce.carleton.ca 11 Licensed under a CC BY-SA license
  12. 12. Choose your own adventure • Pattern languages can be navigated in different ways like the chapters in a “Choose Your Own Adventure” book • Each pattern solves one problem and introduces new problems that can be resolved by applying further patterns in the language • When you follow patterns you create a pattern sequence weiss@sce.carleton.ca 12 Licensed under a CC BY-SA license
  13. 13. In parts the patterns draw on existing research and literature. Inevitably these patterns represent the author’s understanding and views on how companies should go about tackling the problems identified. While there are no right answers to these problems - indeed some out dispute the problems identified – it is hoped that these patterns can help expand the understanding of business strategy in the technology domain. Business patterns 3 The Patterns Kelly (2008, 2012) Figure 1 - Pattern sequence weiss@sce.carleton.ca 13 Licensed under a CC BY-SA license
  14. 14. Open source business patterns Contribute Champion Architecture Licensing Patterns for each stage of engagement Use Collaborate Cross-cutting patterns weiss@sce.carleton.ca 14 Licensed under a CC BY-SA license
  15. 15. Use “It costs virtually nothing to start a software business these days.” [when you use open source] – Jason Fried, 37signals Champion Architecture Contribute Licensing Use Collaborate weiss@sce.carleton.ca 15 Licensed under a CC BY-SA license
  16. 16. Bootstrap You need to shorten the time it takes you to create the first version of your product while keeping your costs low Reuse existing open source components to develop your products weiss@sce.carleton.ca 16 Licensed under a CC BY-SA license
  17. 17. Example • The initial version of the BigBlueButton open source web conferencing system (www.bigbluebutton.org) was built by combining 14 different existing open source components, ranging from Red5, a streaming server for managing voice and video streams, to Open Office for converting slides from various formats • This approach kept the cost of developing the system low and sped up the creation of the first version • However, bootstrapping also increased the complexity of the software and breadth of knowledge needed weiss@sce.carleton.ca 17 Licensed under a CC BY-SA license
  18. 18. Related patterns • Build on the Shoulders of Others • Play by the Rules weiss@sce.carleton.ca 18 Licensed under a CC BY-SA license
  19. 19. Share of customer’s wallet Price/ Customer Services Demand curve Price/ Customer Demand curve Services Increase Software Open source software Hardware Hardware Number of customers Number of customers Based on Riehle (2007) weiss@sce.carleton.ca 19 Licensed under a CC BY-SA license
  20. 20. Higher service revenue Price/ Customer Services Demand curve Price/ Customer Demand curve Services Service cost Service cost Software Open source software Increase Hardware Hardware Maximum Number of customers Number of customers Based on Riehle (2007) weiss@sce.carleton.ca 20 Licensed under a CC BY-SA license
  21. 21. Contribute “Companies have also begun to recognise that making money from open source software while not giving anything back to the community or project is likely to ultimately result in the failure of their open source related products” – Matthew Langham, Indiginox Champion Architecture Contribute Licensing Use Collaborate weiss@sce.carleton.ca 21 Licensed under a CC BY-SA license
  22. 22. Contribute Back You need to keep aligned with the open source projects you use Contribute back resources (code, people, money) to these projects weiss@sce.carleton.ca 22 Licensed under a CC BY-SA license
  23. 23. Example • Companies generally achieve three goals by contributing back: i) build trust with the community, ii) influence the development of the project, and iii) demonstrate their depth of competence • Companies like IBM and HP all contribute to the development of the Mozilla Firefox browser. Their contributions consist of code that makes Firefox compatible with their Unix workstations • Pivos is a hardware company that develops a media player. It sponsors the XMBC open source media center project as a member of the XMBC Foundation, and pays developers to work on the project. It contributed the Android port of XMBC (example of Feature Gift) weiss@sce.carleton.ca 23 Licensed under a CC BY-SA license
  24. 24. Related patterns • Feature Gift • Sponsor a project • Chinese Wall • Hire the Men Inside weiss@sce.carleton.ca 24 Licensed under a CC BY-SA license
  25. 25. Champion “Let’s make it open source to share costs and give others a platform to participate and contribute” – Accenture Champion Architecture Contribute Licensing Use Collaborate weiss@sce.carleton.ca 25 Licensed under a CC BY-SA license
  26. 26. Credible Promise Build a critical mass of functionality early in your project that demonstrates that the project is doable and has merit How do you mobilize developers to contribute to your project? weiss@sce.carleton.ca 26 Licensed under a CC BY-SA license
  27. 27. Example • BigBlueButton is an open source web conferencing system whose functionality was sufficient for teaching our online courses, but did not yet have the bells and whistles of competing commercial products (eg recording and playback or desktop sharing) • “What both projects [Fetchmail and Linux] did have was a handful of enthusiasts and a plausible promise. The promise was partly technical [..] and sociological [..]. So what's necessary for a bazaar to develop is that it be credible that the full-blown bazaar will exist!” – Eric Raymond weiss@sce.carleton.ca 27 Licensed under a CC BY-SA license
  28. 28. Related patterns • Feed the Community • Modular Architecture • Sell Complements • Run a Tight Ship • Donate Code weiss@sce.carleton.ca 28 Licensed under a CC BY-SA license
  29. 29. Feed the Community How do you build legitimacy with your project community? Nurture the community without expecting an immediate return weiss@sce.carleton.ca 29 Licensed under a CC BY-SA license
  30. 30. Example • A company builds up legitimacy with the community by i) giving to the community (code, documentation, participation in the discussion forum), ii) a clear licensing practice, iii) a clear process for making contributions, iv) making decisions in the open, and v) not treating community members as prospects • “We take the perspective that, if we consciously commit a portion of our resources to assisting others on the mailing list, then as their adoption of BigBlueButton grows so does the pool of potential customers that may approach us later on” – Fred Dixon weiss@sce.carleton.ca 30 Licensed under a CC BY-SA license
  31. 31. Community funnel • A community has three types of participants: i) users who use the technology internally, ii) adopters who integrate the technology into product or services, and iii) contributors who advance the project technology Users Adopters Contributors weiss@sce.carleton.ca 31 Installed base Complements Evangelism Technology Licensed under a CC BY-SA license
  32. 32. Related patterns • Create Pull • Prepare for Release • Approved Open Source License • Permissive License • Self-Service • Community as Supplier weiss@sce.carleton.ca 32 Licensed under a CC BY-SA license
  33. 33. Sell Complements How do you monetize an open source product? Sell products or services (eg hardware or support) that complement the open source product weiss@sce.carleton.ca 33 Licensed under a CC BY-SA license
  34. 34. Example • IBM has made Linux the operating system of choice for its servers and has ported most of its applications • IBM’s support for Linux drives demand for its servers. Example of a network effect: complements become the more valuable the larger the installed base • The creators of the BigBlueButton web conferencing system sold add-on modules such as desktop sharing to business users. These add-ons or Paid Features met the needs of users willing to pay for them • PostgreSQL Experts (PGX) is a core contributor to the PostgreSQL project and sells a range of services weiss@sce.carleton.ca 34 Licensed under a CC BY-SA license
  35. 35. Services – PostgreSQL weiss@sce.carleton.ca 35 Licensed under a CC BY-SA license
  36. 36. Related patterns • Derivative Product • Services • Paid Feature • Support • Distributor • Ancillary Product • Dual License • Dual Product weiss@sce.carleton.ca 36 Licensed under a CC BY-SA license
  37. 37. Run a Tight Ship How do you keep control of the project’s direction? Maintain full ownership of the code weiss@sce.carleton.ca 37 Licensed under a CC BY-SA license
  38. 38. Example • OpenOffice started as a closed source product (StarOffice) that was bought by Sun and later released as open source. When Sun was acquired by Oracle, the project was again put under tight control in order to sell a commercial version • After receiving push back from the open source community, Oracle again released control over the project by Donating Code to Apache, but not before the project was forked as the LibreOffice project • Moodle, an open source e-learning platform, is centrally developed by Moodle HQ and a network of partners. Non-core contributors can author plugins (https://moodle.org/dev/contributions.php) weiss@sce.carleton.ca 38 Licensed under a CC BY-SA license
  39. 39. Related patterns • Dual License • Dual Product (Open Core) • IP Modularity weiss@sce.carleton.ca 39 Licensed under a CC BY-SA license
  40. 40. Dual Product (Open Core) How do you entice commercial users to pay for an OSS product? Sell a commercial version of the open source product with exclusive features weiss@sce.carleton.ca 40 Licensed under a CC BY-SA license
  41. 41. Example • PhoneGap (a popular mobile application development framework) is an Adobe-led Apache project • PhoneGap was donated by Adobe in 2011: PhoneGap is the brand, Apache Cordova the project • Adobe sells a cloud-based service PhoneGap Build • A similar service is offered by Icenium PhoneGap Build weiss@sce.carleton.ca Cordova 41 Icenium Licensed under a CC BY-SA license
  42. 42. Example • PhoneGap (a popular mobile application development framework) is an Adobe-led Apache project • PhoneGap was donated by Adobe in 2011: PhoneGap is the brand, Apache Cordova the project • Adobe sells a cloud-based service PhoneGap Build • A similar service is offered by Icenium PhoneGap Build weiss@sce.carleton.ca Cordova 41 Icenium Licensed under a CC BY-SA license
  43. 43. Related patterns • IP Modularity weiss@sce.carleton.ca 42 Licensed under a CC BY-SA license
  44. 44. Pattern Map – Champion Credible Promise Donate Code Feed Community Pool Resources Create Pull Foundation Sell Complements Support Service Distributor Derivative Product Ancillary Product Paid Feature weiss@sce.carleton.ca Self-Service Modular Architecture Community as Supplier Manage Complements Dual Product Run a Tight Ship 43 Dual License IP Modularity Licensed under a CC BY-SA license Embedded Open Source
  45. 45. Lessons weiss@sce.carleton.ca 44 Licensed under a CC BY-SA license
  46. 46. Break weiss@sce.carleton.ca 45 Licensed under a CC BY-SA license
  47. 47. Collaborate • Collectives are “used to achieve results that no single member can achieve on its own” – Bailetti et al. (2013) Champion Architecture Contribute Licensing Use Collaborate weiss@sce.carleton.ca 46 Licensed under a CC BY-SA license
  48. 48. Pool Resources Pool resources with other companies to jointly develop a common stack of open source assets that the companies can all build on to develop their individual products How do you optimize the use of your resources? weiss@sce.carleton.ca 47 Licensed under a CC BY-SA license
  49. 49. Example • The members of the Eclipse project develop common assets (such as GUI components and code generation tools) that each of them requires, but that, on their own, do not create value for their customers • “[The Linux kernel development team adds] 11,000 lines, remove[s] 5,500 lines, and modif[ies] 2,200 lines [of code] every single day. [...] It's something that no one company can keep up with” (Assay, 2009) • On the other hand, developing such assets requires them to dedicate resources. All members win by sharing those development costs with other members, and focus on areas of differentiation weiss@sce.carleton.ca 48 Licensed under a CC BY-SA license
  50. 50. Related patterns • Foundation • Sell Complements weiss@sce.carleton.ca 49 Licensed under a CC BY-SA license
  51. 51. Foundation How do you attract other companies to contribute to your source project? Transfer ownership of the code to an independent foundation weiss@sce.carleton.ca 50 Licensed under a CC BY-SA license
  52. 52. Example • When Eclipse was spun out of IBM, a foundation was put in place to manage the project • While IBM still contributes many of the developers, IBM does not own the project, and many of its competitors, including Oracle and SAP contribute to and build many of their products on top of Eclipse • A foundation creates an arms-length relationship between the project creator and the project • It centralizes common functions that all members can access (eg legal, marketing, project management) • Creating a foundation builds trust and facilitates collaboration among the contributors weiss@sce.carleton.ca 51 Licensed under a CC BY-SA license
  53. 53. Related Patterns • Shepherd • Incubation Process • Whole Product • Project Champion • Permissive License weiss@sce.carleton.ca 52 Licensed under a CC BY-SA license
  54. 54. Collectives • Projects play a central role in a collective: their role is to reduce gaps and advance technology Foundation Governance Projects Resources Collective R A C Contributions Access Platform weiss@sce.carleton.ca 53 Licensed under a CC BY-SA license
  55. 55. Economics of a collective Time • Time to market • Coordination 1, 2 Level of contribution 4, 5 • Core asset base • Product 6 Number of members 3 8 7 Diversity of use 9 weiss@sce.carleton.ca Quality 54 Cost • Organization • Core asset base • Reuse • Unique Licensed under a CC BY-SA license
  56. 56. Propositions • P1. (Early bird) Improved alignment between contributed assets and contributor’s needs T • P2. (Track record) Increased trust between members T • P3. (Fit for use) Highest benefit from assets to main contributors C • P4. (80/20 rule) Members can focus on value-added T • P5. (Too many cooks) Each member added to a team adds overhead not spent productively T • P6. (Many eyes) Increased feedback from members Q • P7. (Sharing the load) Increased resources C • P8. (Many faces) Each new context of use hardens assets Q • P9. (Multiple perspectives) Low diversity, collective benefits from multiple perspectives; high, collective appears less cohesive weiss@sce.carleton.ca 55 Licensed under a CC BY-SA license C
  57. 57. Licensing • “To succeed, companies need to find ways to use outside innovations and to become part of a distributed fabric of innovation through a combination of licensing and well-chosen gifts...This is what open source is all about: harnessing engines of innovation in software” – Goldman & Gabriel (2005) Champion Architecture Contribute Licensing Use Collaborate weiss@sce.carleton.ca 56 Licensed under a CC BY-SA license
  58. 58. Play by the Rules Link (2010) Ensure license compliance for open source components that are combined How do you prevent licensing problems after your product is released? weiss@sce.carleton.ca 57 Licensed under a CC BY-SA license
  59. 59. Example • Components licensed under the GPL and the EPL are not compatible. When the Mercurial Eclipse plugin (EPL) uses Mercurial (GPL) it calls it as an external executable to avoid license conflicts • Closed binary-only loadable modules can be combined with the Linux kernel as long as they use a restricted interface and are marked as such • Compliance can be difficult to test – creates an opportunity for compliance checking tools • Eg compliance also requires you to check the license compatibility across a chain of dependencies weiss@sce.carleton.ca 58 Licensed under a CC BY-SA license
  60. 60. Related patterns • Due Diligence • Contributor Agreement • Prepare for Release • Contribute Back Derivatives • Shims and Friends • Open Architecture weiss@sce.carleton.ca 59 Licensed under a CC BY-SA license
  61. 61. Dual License Link (2012) How do you entice commercial users to pay for an OSS product? Offer the same product under an open source and a commercial license weiss@sce.carleton.ca 60 Licensed under a CC BY-SA license
  62. 62. Example • “You can make sure you own the copyrights by either writing all your own code or obtaining third-party licenses. In fact at SleepyCat and MySQL, all code development is done in-house” (Albert, 2004) • The MySQL database is licensed under an open source license (GPL) as well as a commercial license • Buyers of the commercial license are released from some of the obligations of the open source license • Eg, the GPL license, a reciprocal license, requires anyone who integrates the software with their software to license their software under the same terms weiss@sce.carleton.ca 61 Licensed under a CC BY-SA license
  63. 63. Related patterns • Restrictive License • Dual Product weiss@sce.carleton.ca 62 Licensed under a CC BY-SA license
  64. 64. IP Modularity How do you manage open source and proprietary versions of a dual product? weiss@sce.carleton.ca Align intellectual property with product architecture 63 Licensed under a CC BY-SA license
  65. 65. Example • SugarCRM’s business model is enabled by a modular architecture that separates IP elements • IP modularity facilitates development of complements, and thus increases the platform’s attractiveness Open source edition DB access module MySQL Proprietary code tree Platform core Accounts module DB access module Oracle MySQL Build Extension modules Reporting module Accounts module Commercial editions DB access module Oracle Reporting module IP for commercial editions weiss@sce.carleton.ca MySQL Accounts module IP for open source edition 64 Licensed under a CC BY-SA license Waltl et al. (2012)
  66. 66. Related patterns • Modular Architecture weiss@sce.carleton.ca 65 Licensed under a CC BY-SA license
  67. 67. Architecture • “There is a need to create an ‘architecture for participation’ that promotes ease of understanding by limiting module size and ease of contribution by minimizing the propagation of design changes” – MacCormack (2006) Champion Architecture Contribute Licensing Use Collaborate weiss@sce.carleton.ca 66 Licensed under a CC BY-SA license
  68. 68. Modular Architecture How do you enable external contributors to add to the codebase without requiring them to have deep knowledge of it? Partition the codebase so that different parts (or modules) can be worked on and managed independently. weiss@sce.carleton.ca 67 Licensed under a CC BY-SA license
  69. 69. Example • Examples of systems using a modular architecture are OSGi-based runtime frameworks like Apache Felix and Equinox OSGi, as well as Eclipse, an integrated development environment and rich client platform • “GNU/Linux is known for being a modular complex artifact and its successful development, accomplished by a distributed community of hackers, largely benefited from that. Therefore, it may be surprising that its core component, the so called kernel, was initially conceived as a highly integrated product and that eventually acquired a modular structure” (Rossi, 2003) weiss@sce.carleton.ca 68 Licensed under a CC BY-SA license
  70. 70. Related patterns • Stable Core • Create Options • Refactor the Code • Tuning (Mix and Match) • Conway’s Law • Manage Complements weiss@sce.carleton.ca 69 Licensed under a CC BY-SA license
  71. 71. Manage Complements How do you manage the quality of complements? Establish a governance model and provide regulatory tools to manage complement development weiss@sce.carleton.ca 70 Licensed under a CC BY-SA license
  72. 72. Example • Eclipse had created a three-tier community where external contributions can be made by anyone, but developers who want to contribute to the Stable Core need to follow a thorough incubation process with “gates” at which their quality is assessed. Apache, OpenOffice, and SpringSource are set up similarly • Complements can be either internal (deployed with the core), or external (added by users) • Owner of the core controls the interaction of network members through governance structure (hierarchical or flat), openness (open or closed), and regulatory tools weiss@sce.carleton.ca 71 Licensed under a CC BY-SA license
  73. 73. Governance model: Eclipse Project: Eclipse Governance model: Hybrid control Community tiers: Core, internal, and external Openness: Who can participate? Governance structure: Who proposes complements? Who selects complements? Hierarchical Hierarchical /Flat Open Closed weiss@sce.carleton.ca Internal Flat External Core Commercial 72 Licensed under a CC BY-SA license
  74. 74. Related Patterns • IP Modularity weiss@sce.carleton.ca 73 Licensed under a CC BY-SA license
  75. 75. Quo vadis, open source? weiss@sce.carleton.ca 74 Licensed under a CC BY-SA license
  76. 76. Beyond the desktop and servers • “FOSS has had a significant impact not only on traditional desktop and server software, but also on mobile computing, embedded, and cloud platforms, making it a significant factor in software adoption and use for the foreseeable future” – Wasserman (2013) weiss@sce.carleton.ca 75 Licensed under a CC BY-SA license
  77. 77. Open source in the Internet of Things • “Open source software and collaborative development have been proven to accelerate technology innovation in markets where major transformation is underway. Nowhere is this more evident today than in the consumer, industrial and embedded industries where connected devices, systems and services are generating a new level of intelligence in the way we and our systems interact. The AllSeen Alliance represents an unprecedented opportunity to advance the Internet of Everything for both home and industry. We are very happy to host and help guide this work” – Jim Zemlin, Linux Foundation weiss@sce.carleton.ca 76 Licensed under a CC BY-SA license
  78. 78. Open beyond software • Open hardware • Open data • Open content New business opportunities • Open knowledge • Open APIs New patterns ;-) • Open access • Open science • ... weiss@sce.carleton.ca 77 Licensed under a CC BY-SA license
  79. 79. Lessons weiss@sce.carleton.ca 78 Licensed under a CC BY-SA license
  80. 80. Next steps weiss@sce.carleton.ca 79 Licensed under a CC BY-SA license
  81. 81. References • • • • • • • • • • Bailetti, T. (2009), How open source strengthens business models, TIM Review, http:// timreview.ca/article/226 Bailetti, T., et al. (2013), Developing an innovation engine to make Canada a global leader in cybersecurity, TIM Review, http://timreview.ca/article/711 Carbone, P. (2007), Competitive open source, TIM Review, http://timreview.ca/article/ 93 Dixon, F. (2011), Lessons from an open source business, TIM Review, http:// timreview.ca/article/441 Goldman, R., & Gabriel, D. (2006), Innovation Happens Elsewhere: Open Source as Business Strategy, Morgan Kaufmann Link, C. (2010), Patterns for the commercial use of Open Source: Legal and licensing aspects, EuroPLoP Link, C. (2011), Patterns for the commercial use of Open Source: License patterns, EuroPLoP Link, C. (2012), Patterns for the commercial use of Open Source: Economic aspects and case studies, EuroPLoP MacCormack, A., et al. (2006), Exploring the structure of complex software designs: An empirical study of open source and proprietary code, Management Science, 52(7) Muegge S. Business Ecosystems as Institutions of Participation: A Systems Perspective on Community-Developed Platforms. Technology Innovation Management Review. weiss@sce.carleton.ca 80 Licensed under a CC BY-SA license
  82. 82. References • • • • • • • • • • • • Noori, N., & Weiss, M. (2013), Going open: Does it mean giving away control, TIM Review, http://timreview.ca/article/647 Riehle, D. (2007), The economic motivation of open source software: Stakeholder perspectives, Computer, April Riehle, D. (2012), The single-vendor commercial open source business model, Information Systems and e-Business Management, 10(1) Rossi, A. and Narduzzo, A., (2003), Modularity in Action. GNU/Linux and free/Open source software development model unleashed, Quaderni DISA, 78, Trento Skerrett, I. (2011), Best practices in multi-vendor open source communities, TIM Review, http://timreview.ca/article/409 Waltl, J., Henkel, J., & Baldwin, C. (2012), IP Modularity in Software Ecosystems: How SugarCRM’s IP and Business Model Shape Its Product Architecture, ICSOB Wasserman, T. (2013), Community and commercial strategies in open source software, Information Technology, 55(5) Weiss, M. (2009), Performance of open source projects, EuroPLoP Weiss, M. (2010), Profiting from open source, EuroPLoP Weiss, M. (2011), Profiting even more from open source, EuroPLoP Weiss, M. (2011), Economics of software product line economics, TIM Review, http:// timreview.ca/article/488 Weiss, M. (2013), Enabling contributions in open source projects, EuroPLoP weiss@sce.carleton.ca 81 Licensed under a CC BY-SA license
  83. 83. Image credits • Unless noted, images were sourced from Wikimedia Commons and Flickr under a CC license weiss@sce.carleton.ca 82 Licensed under a CC BY-SA license
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×