The Business of Open Source

Published on March 2017 | Categories: Documents | Downloads: 28 | Comments: 0 | Views: 236
of 83
Download PDF   Embed   Report

Comments

Content

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

Michael Weiss

www.timprogram.ca www.carleton.ca
1 Licensed under a CC BY-SA license

[email protected]

Outline
! Part I • Open source business • Business patterns • Stage 1-3 open source businesses • Lessons ! Part II • Stage 4 open source businesses • Licensing • Architecture • Future of open source • Lessons • Next steps

[email protected]

2

Licensed under a CC BY-SA license

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?

[email protected]

3

Licensed under a CC BY-SA license

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)

[email protected]

4

Licensed under a CC BY-SA license

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
[email protected] 5 Licensed under a CC BY-SA license

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)

[email protected]

6

Licensed under a CC BY-SA license

Open source engagement model
Profit

Collaborate Champion Contribute Use
Level
Licensed under a CC BY-SA license

Modified from Carbone (2007)
[email protected] 7

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

[email protected]

8

Licensed under a CC BY-SA license

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
[email protected] 9 Licensed under a CC BY-SA license

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

[email protected]

10

Licensed under a CC BY-SA license

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

[email protected]

11

Licensed under a CC BY-SA license

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

[email protected]

12

Licensed under a CC BY-SA license

Business patterns
3 The Patterns

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.

Kelly (2008, 2012)
Figure 1 - Pattern sequence
[email protected] 13 Licensed under a CC BY-SA license

Open source business patterns

Use
Patterns for each stage of engagement

Contribute Champion Collaborate

Cross-cutting patterns
[email protected] 14 Licensed under a CC BY-SA license

Architecture

Licensing

Use
“It costs virtually nothing to start a software business these days.” [when you use open source] – Jason Fried, 37signals

Use Contribute Champion Collaborate Architecture Licensing

[email protected]

15

Licensed under a CC BY-SA license

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

[email protected]

16

Licensed under a CC BY-SA license

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

[email protected]

17

Licensed under a CC BY-SA license

Related patterns
• Build on the Shoulders of Others • Play by the Rules

[email protected]

18

Licensed under a CC BY-SA license

Share of customer’s wallet
Price/ Customer Services Price/ Customer

Demand curve

Demand curve Services Increase

Software

Open source software

Hardware Number of customers

Hardware Number of customers Based on Riehle (2007)

[email protected]

19

Licensed under a CC BY-SA license

Higher service revenue
Price/ Customer Services
Service cost Service cost

Demand curve

Price/ Customer Services

Demand curve

Software

Open source software

Increase Hardware Maximum Hardware Number of customers Based on Riehle (2007)
[email protected] 20 Licensed under a CC BY-SA license

Number of customers

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

Use Contribute Champion Collaborate Architecture Licensing

[email protected]

21

Licensed under a CC BY-SA license

Contribute Back
You need to keep aligned with the open source projects you use

Contribute back resources (code, people, money) to these projects
[email protected] 22 Licensed under a CC BY-SA license

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)
[email protected] 23 Licensed under a CC BY-SA license

Related patterns
• Feature Gift • Sponsor a project • Chinese Wall • Hire the Men Inside

[email protected]

24

Licensed under a CC BY-SA license

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

Use Contribute Champion Collaborate Architecture Licensing

[email protected]

25

Licensed under a CC BY-SA license

Credible Promise

How do you mobilize developers to contribute to your project?

Build a critical mass of functionality early in your project that demonstrates that the project is doable and has merit

[email protected]

26

Licensed under a CC BY-SA license

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
[email protected] 27 Licensed under a CC BY-SA license

Related patterns
• Feed the Community • Modular Architecture • Sell Complements • Run a Tight Ship • Donate Code

[email protected]

28

Licensed under a CC BY-SA license

Feed the Community
How do you build legitimacy with your project community?

Nurture the community without expecting an immediate return

[email protected]

29

Licensed under a CC BY-SA license

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
[email protected] 30 Licensed under a CC BY-SA license

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 Installed base Complements Evangelism Technology

Contributors

[email protected]

31

Licensed under a CC BY-SA license

Related patterns
• Create Pull • Prepare for Release • Approved Open Source License • Permissive License • Self-Service • Community as Supplier

[email protected]

32

Licensed under a CC BY-SA license

Sell Complements
How do you monetize an open source product?

Sell products or services (eg hardware or support) that complement the open source product

[email protected]

33

Licensed under a CC BY-SA license

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
[email protected] 34 Licensed under a CC BY-SA license

Services – PostgreSQL

[email protected]

35

Licensed under a CC BY-SA license

Related patterns
• Derivative Product • Services • Paid Feature • Support • Distributor • Ancillary Product • Dual License • Dual Product

[email protected]

36

Licensed under a CC BY-SA license

Run a Tight Ship
How do you keep control of the project’s direction?

Maintain full ownership of the code

[email protected]

37

Licensed under a CC BY-SA license

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)
[email protected] 38 Licensed under a CC BY-SA license

Related patterns
• Dual License • Dual Product (Open Core) • IP Modularity

[email protected]

39

Licensed under a CC BY-SA license

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

[email protected]

40

Licensed under a CC BY-SA license

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
[email protected]

Cordova
41

Icenium
Licensed under a CC BY-SA license

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
[email protected]

Cordova
41

Icenium
Licensed under a CC BY-SA license

Related patterns
• IP Modularity

[email protected]

42

Licensed under a CC BY-SA license

Pattern Map – Champion
Credible Promise

Donate Code

Feed Community

Modular Architecture

Pool Resources

Create Pull

Self-Service

Community as Supplier

Foundation

Sell Complements

Manage Complements

Support

Service

Derivative Product

Ancillary Product

Dual License

Dual Product

Embedded Open Source

Distributor

Paid Feature
[email protected] 43

Run a Tight Ship

IP Modularity

Licensed under a CC BY-SA license

Lessons

[email protected]

44

Licensed under a CC BY-SA license

Break

[email protected]

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. (2013)

Use Contribute Champion Collaborate Architecture Licensing

[email protected]

46

Licensed under a CC BY-SA license

Pool Resources
How do you optimize the use of your 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

[email protected]

47

Licensed under a CC BY-SA license

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
[email protected] 48 Licensed under a CC BY-SA license

Related patterns
• Foundation • Sell Complements

[email protected]

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 independent foundation

[email protected]

50

Licensed under a CC BY-SA license

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
[email protected] 51 Licensed under a CC BY-SA license

Related Patterns
• Shepherd • Incubation Process • Whole Product • Project Champion • Permissive License

[email protected]

52

Licensed under a CC BY-SA license

Collectives
• Projects play a central role in a collective: their role is to reduce gaps and advance technology
Foundation
Governance

Projects

Resources R A C Access

Collective

Contributions

Platform
[email protected] 53 Licensed under a CC BY-SA license

Economics of a collective
Time 1, 2 4, 5 6 • Time to market • Coordination

Level of contribution

Quality • Core asset base • Product

Number of members 8 Diversity of use 9 7

3

Cost • Organization • Core asset base • Reuse • Unique

[email protected]

54

Licensed under a CC BY-SA license

Propositions
• P1. (Early bird) Improved alignment between contributed assets and contributor’s needs • P2. (Track record) Increased trust between members • P3. (Fit for use) Highest benefit from assets to main contributors • P4. (80/20 rule) Members can focus on value-added • P5. (Too many cooks) Each member added to a team adds overhead not spent productively • P6. (Many eyes) Increased feedback from members • P7. (Sharing the load) Increased resources • P8. (Many faces) Each new context of use hardens assets • P9. (Multiple perspectives) Low diversity, collective benefits from multiple perspectives; high, collective appears less cohesive
[email protected] 55 Licensed under a CC BY-SA license

T

T C T T

Q C Q C

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)
Use Contribute Champion Collaborate Architecture Licensing

[email protected]

56

Licensed under a CC BY-SA license

Play by the Rules
Link (2010)

How do you prevent licensing problems after your product is released?

Ensure license compliance for open source components that are combined

[email protected]

57

Licensed under a CC BY-SA license

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
[email protected] 58 Licensed under a CC BY-SA license

Related patterns
• Due Diligence • Contributor Agreement • Prepare for Release • Contribute Back Derivatives • Shims and Friends • Open Architecture

[email protected]

59

Licensed under a CC BY-SA license

Dual License
How do you entice commercial users to pay for an OSS product? Link (2012)

Offer the same product under an open source and a commercial license

[email protected]

60

Licensed under a CC BY-SA license

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
[email protected] 61 Licensed under a CC BY-SA license

Related patterns
• Restrictive License • Dual Product

[email protected]

62

Licensed under a CC BY-SA license

IP Modularity
How do you manage open source and proprietary versions of a dual product?

Align intellectual property with product architecture

[email protected]

63

Licensed under a CC BY-SA license

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
DB access module

Accounts module

Oracle Reporting module

MySQL

Build
Extension modules Accounts module

Commercial editions
DB access module

Oracle Reporting module
IP for commercial editions IP for open source edition

MySQL Accounts module

Waltl et al. (2012)

[email protected]

64

Licensed under a CC BY-SA license

Related patterns
• Modular Architecture

[email protected]

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 limiting module size and ease of contribution by minimizing the propagation of design changes” – MacCormack (2006)

Use Contribute Champion Collaborate Architecture Licensing

[email protected]

66

Licensed under a CC BY-SA license

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.

[email protected]

67

Licensed under a CC BY-SA license

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)

[email protected]

68

Licensed under a CC BY-SA license

Related patterns
• Stable Core • Create Options • Refactor the Code • Tuning (Mix and Match) • Conway’s Law • Manage Complements

[email protected]

69

Licensed under a CC BY-SA license

Manage Complements
How do you manage the quality of complements?

Establish a governance model and provide regulatory tools to manage complement development
[email protected] 70 Licensed under a CC BY-SA license

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
[email protected] 71 Licensed under a CC BY-SA license

Governance model: Eclipse
Project: Eclipse Governance model: Hybrid control Community tiers: Core, internal, and external Governance structure: Who proposes complements? Who selects complements? Hierarchical Hierarchical /Flat Flat

Openness: Who can participate?

Open

Internal

External

Closed

Core Commercial

[email protected]

72

Licensed under a CC BY-SA license

Related Patterns
• IP Modularity

[email protected]

73

Licensed under a CC BY-SA license

Quo vadis, open source?

[email protected]

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, 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)

[email protected]

75

Licensed under a CC BY-SA license

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
[email protected] 76 Licensed under a CC BY-SA license

Open beyond software
• Open hardware • Open data • Open content • Open knowledge • Open APIs • Open access • Open science • ... New patterns ;-) New business opportunities

[email protected]

77

Licensed under a CC BY-SA license

Lessons

[email protected]

78

Licensed under a CC BY-SA license

Next steps

[email protected]

79

Licensed under a CC BY-SA license

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.
[email protected] 80 Licensed under a CC BY-SA license

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
[email protected] 81 Licensed under a CC BY-SA license

Image credits
• Unless noted, images were sourced from Wikimedia Commons and Flickr under a CC license

[email protected]

82

Licensed under a CC BY-SA license

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close