Business Models for Software Component Market Jarley Nóbrega jpn@cin.ufpe.br Agenda Introduction Component Market Licenses and Commercial Law Related Works Business Cases Conclusions References 2 Introduction Context “Components develop their full potential only in a component market” [Szyperski, 1998] Most leading industry analysts predict an increasingly prominent role for software component technology. Several predictions: “The onset of server-side components is inevitable; nearly every self-respecting application server vendor is planning to incorporate a component model in its product.” [Gartner, 1998] Gartner is not alone: Giga, Ovum and PriceWaterhouseCoopers. One point of agreement: CBSE has already started. 3 Introduction Software Component Market estimates (2001) [SEI, 2001] 4 Introduction More evidences that component markets exists: Growing costumer volume of components brokerage companies (e.g. ComponentSource and Flashline.com) US -> President's Information Technology Advisory Committee (PITAC): funding recommendation in fundamental research in component technology [PITAC, 1999] Japan-> Consortium for Business Object Promotion (CBOP) [Nagano, 1996] Korea -> Component Industry Promotion (CIP) and Korea Consortium for Software Component Promotion (KCSC) [Kim, 2002] China -> Chinese Software Component Consortium (CSCC) 5 Introduction Korean experience [Kim, 2002]: Two technology sets o Currently available (DA, OO, UML, Java, first generation CBD methods) o Technology to be developed by CIP (CBD process, variability, component reference models, identification, metrics, testing, etc.) Common reference model o GREEN [OTL, 2001] 1999-2002: 40 CBD projects KCSC: 150 companies 6 Introduction Component Economy Component Market: from small-grained graphical user interface (GUI) controls to large-grained server-side components. Product Lines: vertical markets (insurance, financial services, communication, etc.) 7 Introduction Component Economy Component Market Niches [SEI, 2001]: Components themselves Standards Component Platforms and Application Servers Component Tools Market Consulting/Integrator Market Brokerage Market Third-Party Component Certification Market 8 Introduction Overview of Component Market Apart from rough estimations of the future size of the market, little research has been done to investigate the current component market and its growth. “Internet component market is still in its infancy.” [Hillegersberg, 2000] “Since current markets of software components are still in their infancy, producers of such components lack a framework for predicting consumer behavior” [Hong, 2002] “The overall CBD technology was still largely immature to apply in industry.” [Kim, 2002] “…the market is relatively immature and highly supplyconstrained.” [Ravichandran, 2003] “...it concluded that the prophesied principal market (r)evolution did not happen yet.” [Overhage, 2004b] 9 Introduction Component Market Inhibitors Survey of Components adopters [SEI, 2001]: 10 Introduction Component Market Inhibitors Market perception of key inhibitors: Lack of available components Lack of stable standards for component technology Lack of certified components Lack of an enginnering method to consistently produce quality systems from components 11 Introduction Component Market Inhibitors SEI research approach: Literature survey (80 articles) Third-party research (Gartner, Ovum and PriceWaterhouseCoopers) Internet search (+100 component technology providers) Market surveys (130 responses) Face-to-face interviews (key executives and researchers) 12 Component Market Market Structure [Hillegersberg, 2001] software component producer Component Catalogue Specialized Intermediary System Integrator, IT Dept. component end-user 13 Licenses and Commercial Law Intellectual Property law and Commercial law “Software components must function with other computer programs with less tolerance for error than most physical components” [Chow, 2001] Applicability of Intellectual Property Law to software: Trade secrets Copyright laws Patent laws 14 Licenses and Commercial Law Software component producer and consumer should be careful to: Obtain nondisclosure and technology transfer agreements Register copyrights in every release of code Keep inventor notebooks witnessed periodically Consider filing patent applications for important advances in the product. 15 Licenses and Commercial Law Software Components as Goods versus Services US: Uniform Computer Information Transaction Act (UCITA) Business Software Alliance (headed by Microsoft): new article to “licensing” (www.law.upenn.edu/bll/ulc/u cc2/ucc2b296.htm) Provide answers to the software contract questions 16 Licenses and Commercial Law Contract issues in CBSE transactions [Chow, 2001] Establish multiple remote contractual relationships to control use of the component Rely only on the component consumer to protect the component contractually from copying Protect the component through intellectual property. Liability in CBSE transactions 17 Related Works 18 [Aoyama, 1998] Proposes an architecture of a Software Commerce Broker Trade of software packages and components over the Internet SCB prototype: collects information on components and provides catalogues of them. Describe a semi-formal specification language Software specification and Commerce Language (SCL) Related work: [Ning, 1996] proposed a producer-brokerintegrator model 19 [Aoyama, 1998] Software Commerce Broker 20 [Aoyama, 1998] Software Commerce Broker prototype Component player o “Plays” components and watch its dynamic behaviour SCB prototype collected 16000 components over the Internet 21 [Aoyama, 1998] Software specification and Commerce Language (SCL) 22 [Lerch, 1998] Investigates the consumer preferences in a software component market. Measuring popularity of software components Experimental market laboratory: SoftTrade Few mature markets exists Collecting large amount of data from real market is expensive 23 [Lerch, 1998] SoftTrade experiment 24 [Lerch, 1998] SoftTrade's Component Distribution Channel Two mechanisms for selling components: Grocery auction and English auction All components acquisition using the Web. 25 [Lerch, 1998] SoftTrade summary 26 components created in three rounds of trading. Metric creation to measure the popularity of software components The popularity has a complex relationship over time and user preferences. Perceived generality was found to be a key predictor of user preferences. The study failed to establish a correlation between object complexity and user preferences (in [Frakes, 1995] the same result is observed) Component price, support and a broker model weren’t covered by this research. 26 [Wiederhold, 1998] Software Component Licensing Developers should inform themselves of the legal peculiarities that characterize software component licensing. Software components challenges well-established software licensing paradigms Assumptions regarding: Size, quality and flexibility Effects on license grant, payment, ownership, liability, warranty, maintenance and confiability. 27 [Wiederhold, 1998] Software Component Licensor owns Copyright, trade secret and patents rights As the same way the entire software package A license between the licensor and the licensee should specify: License grant Payments to the licensor Who owns the component and the modifications on it Risks and liability each part assumes Support, maintenance and warranties Confidenciality 28 [Wallnau, 1999] Describes a SCM reference model CSC - COTS Software Component IC - Infrastructure Component IE - Infrastructure Engineering BC - Business Component BCPL - Business Components Product Line VECF - VerticallyIntegrated Component Framework LC - Legacy Component. RE - Repair Engineering BCE - Business Component Engineering EA - Enterprise Architectecting 29 [Sparling, 2000] Is there’s a market for components? There’s a relative well established market for client-side components Graphical and behavioural components (push buttons, grids, dynamic resizing controls, etc). On the server-side the adoption of enterprise-class components is rare. 30 [Sparling, 2000] Reference Model for the Component Market 31 [Rosenblum, 2000] Software Patents to Support the Business Model of SCM Patents are one of the three branches legislation to protect intellectual properties Patents protects inventions, but not particular expressions [Elias, 1999] Why patent components? Two major issues: Technical: Software component interaction struggles from multiple standards Economic: It is difficult to identify and quantify the exact economic benefit derived from the development of reusable software components 32 [Rosenblum, 2000] Conclusions The legal patenting process will affect several phases of the software development life-cycle Design tools should be able to support the patenting by processing patent relevant information. Software developers will face the problem of working around existing patents when designing a new system 33 [Hillegerberg, 2000] Presents an overview of the component market. Survey was held with 38 components suppliers. Relevant suppliers categories: Producer Catalogue Intermediary Components described on their total number, standard, type and documentation. Use of the taxonomy described in [Pfister, 1997] for type and documentation. 34 [Hillegerberg, 2000] Taxonomy [Pfister, 1997] Type of components: Controls Containers Command Package Library Framework Business Components Documentation of components: Simple description Technical details Demos Tests reports Component Source Code 35 [Hillegerberg et al., 2000] 36 [Hillegerberg, 2000] Presents the conditions for growth of component market 37 [Hillegerberg, 2000] Conclusions Experts worldwide agree that the shape in which components are offered on the internet is an important condition for market growth. Extensive documentation following standard methods, demos, and a clear focus on black-box reuse are all regarded very important. 38 [Hillegersberg, 2001] A Longitudinal Study of the SCM Develops a model of the SCM Describes a classification of components Validates the model with a longitudinal dataset of components (almost 5K collected) 39 [Hillegersberg, 2001] Research summary 40 [Hillegersberg et al., 2001] Research summary 41 [Hillegersberg, 2001] Research summary 42 [Hillegersberg, 2001] Research summary 43 [Hillegersberg, 2001] Conclusions SCM is still in its early stages. The market is still dominated by small “graphical” controls Different technical standards rather than functional and domain knowledge are important segmentation factors. Questions Should intermediaries specialize or aim to be present in all areas? Is there a continuing role for catalogues? 44 [Ravichandran, 2003] Positions CBD within reuse strategies. • Contextual distance is the extent to which the target implementation environment for a software artifact differs from the existing artifact. • Domain distance can be measured by the effort required to modify the functionality of an existing component Software Reuse Strategies 45 [Ravichandran, 2003] Component-level reuse decision tree 46 [Ravichandran, 2003] Conclusions The decision model reflects that markets can reduce the need for customization by allowing a better match of developer needs with available components. Component markets currently perform only the role of distributing components, and fail to be effective market mediators. When purchasing components, organizations must be able to assess the quality of the software artifacts in order to develop the confidence to use them. 47 [Overhage, 2004a] UnSCom (Unified Specification of Components). 48 [Overhage, 2004a] UnSCom (Unified Specification of Components). 49 [Overhage, 2004a] UnSCom (Unified Specification of Components). 50 [Overhage, 2004a] UnSCom (Unified Specification of Components). 51 [Overhage, 2004a] UnSCom (Unified Specification of Components). 52 [Overhage, 2004b] Analyses the maturity of SCM Devises critical success factors Since last decade only very few component marketplaces managed to work profitable. Business Plan of SCM Describes an architecture of today’s SCM Component Nexus (CompoNex) Available at http://www.componex.biz 53 [Overhage, 2004b] Maturity of SCM’s Perfect market [Jevons, 1970]: Price takers No barriers to enter or leave No temporal or regional constraints Goods have substitutes Perfect information No transaction costs 54 [Overhage, 2004b] (Im)Maturity of SCM’s 55 [Overhage, 2004b] Critical Success Factors in Component Trading 56 [Overhage, 2004b] Dealing with sparsely populated market segments 1. 2. 3. 4. 5. 6. Covering many component market segments Provide a wellstructured component catalogue Invert the supplierinquirer relationship Providing notification services Offering user interfaces specific for particular target audiences Providing community tools 7. 8. 9. 10. 11. 12. Integrating marketplace services Ease the settlement of commercial transactions Providing a certification service Offer escrow services enable buyers to provide a feedback appropriate and automatically verifiable component specifications 57 [Overhage, 2004b] CompoNex: A Model Marketplace 58 [Overhage, 2004b] CompoNex: A Model Marketplace 59 [Overhage, 2004b] CompoNex Specification Framework 60 Business Cases 61 Business Cases ComponentSource 62 Business Cases ComponentSource 63 Business Cases Flashline.com 64 Business Cases Flashline.com 65 Business Cases Active-X.com 66 Business Cases Active-X.com 67 Conclusions Current Status Available Business Models Intermediaries and Catalogues Services Licensing issues SCM lies on immaturity , with a few well-established players Small-grained components Relationships between licensor and licensee Trends Services on components brokerage Assets Management as a service 68 References [AOYAMA, 1998] AOYAMA, M., YAMASHITA, T. Software Commerce Broker over the Internet . Proc. IEEE COMPSAC, August 1998 [BARNES, 1991] BARNES, B. H., BOLLINGER, T. B. Making Reuse Cost-Effective. IEEE Software 1, 13–24, 1991 [CHOW, 2001] CHOW, S. Commercial Law Applicable to Component-Based Software. In Component-Based Software Engineering: Putting the Pieces Together, Addison-Wesley, 2001 [ELIAS, 1999] ELIAS, S. Patent, Copyright & Trademark. 3rd Edition, Nolo Press, Berkeley, CA, 1999. [FRAKES, 1995] FRAKES, W B., FOX, C.J. Sixteen Questions About Software Reuse. Communications fo the ACM. Vol 38, Num 6. June 1995. [GARTNER, 1998] Percy, A. The New Impedance Mismatch. Gartner Group, November 1998. [HILLEGERSBERG, 2000] HILLEGERSBERG, J. V. ,TRAAS, V. Software Component Market on the Internet Current Status and Conditions for Growth. ACM Software Enginnering Notes, Volume 25, No 1, January 2000 69 References [HILLEGERSBERG, 2001] HILLEGERSBERG, J. V. A Longitudinal Study of the E-Market for Sofware Components. 14th Bled Eletronic Commerce Conference, June 2001 [HONG, 2002] HONG, S., LERCH, F. J. A Laboratory Study of Consumers’ Preferences and Purchasing Behavior with Regards to Software Components. ACM Database. Volume 33, Issue 3, Summer 2002 [JEVONS, 1970] JEVONS, W. S. The Theory of Political Economy. Penguin Books, Harmondsworth, 1970 [KIM, 2002] KIM, S. D. Lessons Learned from a Nationwide CBD Promotion Project. Communications fo the ACM. Vol 45, Num 10. October 2002. [LERCH, 1998] LERCH, J.F., FLOR, N. V., HONG, S. Software Reuse and Competition: Consumer Preferences in a Software Component Market. Anuals of Software Engineering 5, 1998 [NAGANO , 1996] NAGANO, H., OHBA, M. A Global Software Marketplace: Virtual or Real. NTT Comware report, 1996 70 References [NING, 1996] NING, J. Q. A Component-Based Software Development Model. Proc. IEEE COMPSAC ‘96,August 1996 [OTL, 2001] Object Technology Laboratory. GREEN Methodology Specification. Technical Report, 2001. [OVERHAGE, 2004a] OVERHAGE, O. UnSCom: A Standardized Framework for the Specification of Software Components. Lecture Notes in Computer Science (LNCS) 3263, Springer, pp. 169184, 2004 [OVERHAGE, 2004b] OVERHAGE, O., THOMAS, P. A Business Perspective on Component Trading: Criteria, Immaturities, and Critical Success Factors. IEEE Computer Society Press, September 2004 [PFISTER, 1997] PFISTER, C. Component software: a case study using blackbox components. Oberon Microsystems report, 1997 [PITAC, 1999] President's Information Technology Advisory Committee. Presentation on Software Research. Available at <http://www.ccic.gov/ac/report>, 1999 71 References [RAVICHANDRAN, 2003] RAVICHANDRAN, T., ROTHENBERG, M. A. Software Reuse Strategies and Component Markets. Communications of the ACM, Vol 46, Issue 8. August, 2003 [ROSENBLUM, 2000] ROSENBLUM, D. S., KAY, D. G., GUNTERSDORFER, M S. Using Software Patents to Support the Business Model of Software Components. Proceedings of the ICSE, June 2000 [SEI, 2001] SOFTWARE ENGINEERING INSTITUTE. Volume I: Market Assessment of Component-Based Software Engineering. Technical Note, CMU/SEI-2001-TN-007, May 2001. [SPARLING, 2000] SPARLING, M. Is There’s a Market for Components? Castek Software Factory report, 2000 [SPROTT, 2000] SPROTT, D. Enterprise resource planning: componentizing the enterprise application packages. Communications of the ACM, vol 43, no 4, April 2000 [SZYPERSKI, 1998] SZYPERSKI, C. Component software: beyond object oriented programming. ACM Press, 1998 72 References [WALLNAU, 1999] WALLNAU, K. C. On Software Components and Commercial (“COTS”) Software. International Workshop on Component-Based Software Engineering, 1999 [WIEDERHOLD, 1998] WIEDERHOLD, G., CHAVEZ, A., TORNABENE, C. Software Component Licensing: A Primer. IEEE Software, September/October 1998. 73 “High-tech entrepreneurship and innovation are intrinsically more difficult and more risky than innovations based on economics and market structure…It does need, however, to be systematic.” Peter F. Drucker (1909 – 2005) in “Innovation and Entrepreneurship” 74 ? 75