Roadmap for Enterprise Open Source Adoption Agenda

Total Page:16

File Type:pdf, Size:1020Kb

Roadmap for Enterprise Open Source Adoption Agenda Roadmap for Enterprise Open Source Adoption Agenda • Introduction • What is Open Source? • The Open Source Landscape • Managed Open Source Adoption • Summary • Q & A 3/30/2007 2 What is Open Source? • “Open Source” originally coined in a strategy session to position and explain Netscape’s 1998 announcement to give away the source code for its browser • Open source has evolved to describe the principles and methodologies that promote open access to the production and design process for various goods, products and resources • Today, Open Source Software (OSS) has become the most recognized form of open source 3/30/2007 3 What is Open Source? • OSS was advocated to replace “Free Software” • Less ambiguous terminology • Higher comfort level for corporate consumers • OSS follows the “Bazaar” vs. “Cathedral” Development Model: • Users as Co-Developers, Community-based • Early Releases • Frequent Integration • Multiple Versions • High Modularization (SOC) • Dynamic Decision-Making Structures 3/30/2007 4 By 2008, OSS solutions will directly compete with closed-source products in all software infrastructure markets - Gartner 3/30/2007 5 What is Open Source: Project Eco-systems Enterprise Portal Continuous Integration Apache Jetspeed Code Testing LuntBuild Liferay Tools Build Tools Objectweb eXo Apache Continuum Enterprise CruiseControl JUnit Apache Ant Cactus Apache Maven Application Selenium IDEs Development Network Management Eclipse OpenQRM Java.net NetBeans Cacti Sun JSE OpenNMS Source Code Management SVN Enterprise Application Management CVS LiveTribe Mercurial Systems Nagios/GroundWork Message-oriented Middleware Management OpenNMS Apache ActiveMQ Jboss Messaging Objectweb JORAM Performance Management Enterprise Service Bus (JBI) JMeter Apache ServiceMix Enterprise Codehaus Mule Seige IONA Celtix Integration OpenSTA And SOA Web Services (SOAP Stack) Apache Axis Codehaus xFire J2EE App Server Apache CXF Apache Geronimo Jboss AS Objectweb JOnAS 3/30/2007 6 The Open Source Process • Suits Enterprise Development • Enables higher code/component re-use • Promotes information-sharing and interaction • Supports high interdependencies • Offers a good fit for agile strategies • Handles distributed teams easily • Next Generation Tooling • IBM Jazz promotes community development • Eclipse Kepler provides open source tooling 3/30/2007 7 We’re going to utilize the way the community develops software for E*Trade proprietary development… and make E*Trade more nimble - Greg Framke CIO E*TRADE FINANCIAL 3/30/2007 8 The Open Source Landscape • OSS penetration continues to grow • Stack vendors are packaging OSS for consumption • Traditional vendors are providing hybrids • Large enterprises are already piecing together management solutions • OSS-style development is being readied for the enterprise • Management solutions will enable open source consumption throughout the application development life cycle 3/30/2007 9 The Open Source Landscape Disruptors Stacks Enabled Vendor Independent Dependent Proprietary Hybrids Incumbents 3/30/2007 10 Managed Open Source Adoption - Benefits • Extensibility • Open Standards • Access to source provides • Projects are built on extensibility established standards (JCP, RCF) • Many projects driven to • Multiple implementations design for extensibility against established standards • OSS frameworks and offers choice to users platforms offer technology • Reference implementations of leadership standards often driven by OSS • Licensing • Community Support • Less restrictive deployment • Broad user base around OSS licensing projects • Ability to embed OSS • Expert consulting/development technologies into products experience available for major projects • Enables massive • Community forums/mailings deployments (Grid/Farm) lists helps users get started 3/30/2007 11 Managed Open Source Adoption - Challenges • Governance • Support • Licensing models and • Availability of structured support implications • Enterprise-readiness Service • Delivery Mechanisms for Level Agreements projects • Open Source Support and • Intellectual Property Management Consulting Vendors • Indemnification • Integration • Community • Change velocity with projects • Diversity within the • Lack of clearly-defined community roadmaps • Infrastructure available to • Understood Project support development Dependencies • History for community • Highly Componentized stability • Flexibility for accepting input and new ideas 3/30/2007 12 Managed Open Source Adoption - Guidelines for Success • Look Beyond OSS Code • Manage Open Source • Understand licensing Consumption implications • Build an open source • Monitor community statistics repository and health • Integrate legal activities with • Evaluate community development process infrastructure • Enforce Control over your • Evaluate Vendor Offerings component usage • Review available distributions • Understand and Leverage the • Understand open source OSS Process Model support subscriptions/SLAs • Distributed development • Determine if open source add- • Modular, re-usable ons can help components • Incremental development based on rapid iterations 3/30/2007 13 By 2010, 90 percent of Global 2000 organizations will have formal open source acquisition and management strategies - Gartner 3/30/2007 14 Managed Open Source Adoption - Models for Success • Artifact-driven • Enterprise Repository Development Architecture • Consuming component • A centralized store of artifacts artifacts • Managed by both developers • Handles both open source and legal teams and internal artifacts • Determines project • Allows for version tracking dependencies • Extensible meta-data for • Exposes project meta-data for licensing, community sharing information, etc. • Tracks open source usage • Allows for distributed • Provides control development 3/30/2007 15 Managed Open Source Adoption - Models for Success QuickTime™ and a Community TIFF (Uncompressed) decompressor are needed to see this picture. Developers IP Support Verification Enterprise Repository License Indemnification Compliance QuickTime™ and a Enterprise TIFF (Uncompressed) decompressor are needed to see this picture. Developers 3/30/2007 16 Summary • Open Source: Projects and Process • OSS Landscape is Evolving • Benefits and Challenges in Adopting OSS • Understand the Requirements for Managed Open Source Adoption 3/30/2007 17.
Recommended publications
  • Tracking Known Security Vulnerabilities in Third-Party Components
    Tracking known security vulnerabilities in third-party components Master’s Thesis Mircea Cadariu Tracking known security vulnerabilities in third-party components THESIS submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in COMPUTER SCIENCE by Mircea Cadariu born in Brasov, Romania Software Engineering Research Group Software Improvement Group Department of Software Technology Rembrandt Tower, 15th floor Faculty EEMCS, Delft University of Technology Amstelplein 1 - 1096HA Delft, the Netherlands Amsterdam, the Netherlands www.ewi.tudelft.nl www.sig.eu c 2014 Mircea Cadariu. All rights reserved. Tracking known security vulnerabilities in third-party components Author: Mircea Cadariu Student id: 4252373 Email: [email protected] Abstract Known security vulnerabilities are introduced in software systems as a result of de- pending on third-party components. These documented software weaknesses are hiding in plain sight and represent the lowest hanging fruit for attackers. Despite the risk they introduce for software systems, it has been shown that developers consistently download vulnerable components from public repositories. We show that these downloads indeed find their way in many industrial and open-source software systems. In order to improve the status quo, we introduce the Vulnerability Alert Service, a tool-based process to track known vulnerabilities in software projects throughout the development process. Its usefulness has been empirically validated in the context of the external software product quality monitoring service offered by the Software Improvement Group, a software consultancy company based in Amsterdam, the Netherlands. Thesis Committee: Chair: Prof. Dr. A. van Deursen, Faculty EEMCS, TU Delft University supervisor: Prof. Dr. A.
    [Show full text]
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • Generación, Gestión Y Distribución De Artefactos Java Con Técnicas De Integración Continua Y Software Libre
    FACULTAD DE INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE MADRID UNIVERSIDAD POLITÉCNICA DE MADRID FACULTAD DE INFORMÁTICA TRABAJO FIN DE CARRERA GENERACIÓN, GESTIÓN Y DISTRIBUCIÓN DE ARTEFACTOS JAVA CON TÉCNICAS DE INTEGRACIÓN CONTINUA Y SOFTWARE LIBRE AUTOR: Carlos González Sánchez TUTOR: Francisco Gisbert Canto Agradecimientos A la Comunidad de Software Libre, porque sin ella este trabajo difícilmente po- dría haberse llevado a cabo. A Javier Bezos por compartir generosamente su amplio conocimiento acerca de LATEX, y a Ignacio Estirado por su inestimable ayuda en el trabajo de campo. A Susana, a Martín y a mis padres, por todo. Facultad de Informática - UPM. Julio 2008. Carlos González Sánchez I Índice general Agradecimientos I Resumen VII 1. INTRODUCCIÓN1 1.1. Motivación.................................1 1.2. Objetivos..................................2 1.3. Alcance...................................3 2. MATERIAL DE ESTUDIO5 2.1. Ciclo de vida del software........................5 2.2. Control de versiones...........................6 2.3. Gestión de artefactos...........................7 2.4. Gestión de dependencias.........................8 2.5. Gestión de despliegues.......................... 10 2.6. Integración continua........................... 10 2.7. Virtualización............................... 11 2.7.1. Tecnologías de virtualización.................. 12 2.7.2. Ventajas de la virtualización................... 13 2.7.3. Inconvenientes.......................... 14 3. METODOLOGÍA 15 3.1. Arquitectura................................ 15
    [Show full text]
  • Apache Continuum 1.3.8 V
    ...................................................................................................................................... Apache Continuum 1.3.8 v. ...................................................................................................................................... The Apache Continuum Project Documentation i Documentation ....................................................................................................................................... 1 Index (category) . 1 2 Getting Started . 2 3 Installation/Upgrade Guides . 3 4 System Requirements . 4 5 Installation . 5 6 Standalone . 6 7 Tomcat . 10 8 Upgrade . 15 9 User's Guides . 17 10 Managing Projects . 18 11 Add a Project . 19 12 Edit a Project . 24 13 Remove a Project . 27 14 Managing Build Definitions . 28 15 Project Build Definition . 29 16 Project Group Build Definition . 31 17 Managing Notification . 33 18 Mail Notification . 35 19 IRC Notification . 36 20 Jabber Notification . 38 21 MSN Notification . 40 22 Wagon Notification . 41 23 Building a project . 43 24 Scheduled Build . 44 25 Forced Build . 45 26 Build Results Management . 46 26 Release Management . 48 26 Prepare Project Release . 50 26 Perform Project Release . 53 26 Release Results Management . 55 26 Administrator's Guides . 56 26 Managing Users and Security . 57 26 Security Configuration . 58 26 LDAP Configuration . 59 26 Managing Project Groups . 60 26 Managing Builders . 63 26 Managing JDKs . 65 26 Managing Build Environments . © 2 0 1 1 , • A L L R I G H T S R E S E R V E D . Documentation ii 26 Managing Schedules . 66 26 Managing General Configuration . 69 26 Managing Local Repositories . 71 26 Managing Purge Configuration . 72 26 Managing Parallel Builds . 74 26 Managing Build Queues . 75 26 Managing Build Agents . 77 26 Managing Build Agent Groups . 78 26 Managing Project Queues . 79 26 External databases . 81 26 Monitoring Continuum . 84 26 Log Files . 87 26 Audit Logs .
    [Show full text]
  • Apache Maven Current Version User Guide
    ...................................................................................................................................... Apache Maven Current version User Guide ...................................................................................................................................... The Apache Software Foundation 2009-10-16 T a b l e o f C o n t e n t s i Table of Contents ....................................................................................................................................... 1 Table of Contents . i 2 What is Maven? . 1 3 Features . 3 4 FAQ . 4 5 Community Overview . 11 5.1 How to Contribute . 13 5.2 Getting Help . 15 5.3 Issue Tracking . 17 5.4 Source Repository . 18 5.5 Continuous Integration . 20 6 Running Maven . 21 7 Maven Plugins . 23 8 User Centre . 30 8.1 Maven in 5 Minutes . 31 8.2 Getting Started Guide . 35 8.3 POM Reference . 57 8.4 Settings Reference . 91 8.5 Guides . 100 8.5.1 The Build Lifecycle . 103 8.5.2 The POM . 111 8.5.3 Profiles . 123 8.5.4 Repositories . 133 8.5.5 Standard Directory Layout . 136 8.5.6 The Dependency Mechanism . 137 8.5.7 Plugin Development . 153 8.5.8 Configuring Plug-ins . 156 8.5.9 The Plugin Registry . 169 8.5.10 Plugin Prefix Resolution . 172 8.5.11 Developing Ant Plugins . 174 8.5.12 Developing Java Plugins . 188 8.5.13 Creating a Site . 198 8.5.14 Snippet Macro . 203 8.5.15 What is an Archetype . 205 8.5.16 Creating Archetypes . 207 8.5.17 From Maven 1.x to Maven 2.x . 210 8.5.18 Using Maven 1.x repositories with Maven 2.x . 213 8.5.19 Relocation of Artifacts . 214 8.5.20 Installing 3rd party JARs to Local Repository .
    [Show full text]
  • Introducing Continuous Integration in an Enterprise Scale Environment
    UPTEC IT08 014 Examensarbete 30 hp November 2008 Introducing Continuous Integration in an Enterprise Scale Environment Staffan Persson This page intentionally left blank. Abstract Introducing Continuous Integration in an Enterprise Scale Environment Staffan Persson Teknisk- naturvetenskaplig fakultet UTH-enheten This thesis investigates how continuous integration best should be incorporated into a current development environment in order to acquire a shorter time for the Besöksadress: regression testing feedback loop. The product in target is a high availability enterprise Ångströmlaboratoriet Lägerhyddsvägen 1 scale software product within mobile telecom. It utilizes a large commercial relational Hus 4, Plan 0 database for customer associated data and employs approximately one hundred designers. Postadress: Box 536 751 21 Uppsala A continuous integration system needs automatic database integration, compilation, testing, inspection, deployment, and feedback. Measures that are valuable to the build Telefon: process regardless of build time should be given the highest priorities of 018 – 471 30 03 implementation. Feedback has been developed in the form of Continuous Integration Telefax: Web. The first priority at this stage is to introduce unit testing of the database which 018 – 471 30 00 also has to be automatically built whenever updated or changed. Hemsida: The amount of time used to integrate should be as close to ten minutes as possible. http://www.teknat.uu.se/student This goal is reachable if the build process is split into at least two integrations by differentiating unit tests from component tests and, if the software’s functionally divided parts are built separately on local integration servers. Starting integrations automatically could potentially allow broken source code to reside in the source code repository.
    [Show full text]
  • Apache Continuum 1.4.0 V
    ...................................................................................................................................... Apache Continuum 1.4.0 v. ...................................................................................................................................... The Apache Continuum Project Documentation i Documentation ....................................................................................................................................... 1 Index (category) . 1 2 Getting Started . 2 3 Installation/Upgrade Guides . 3 4 System Requirements . 4 5 Installation . 5 6 Standalone . 6 7 Tomcat . 10 8 Upgrade . 15 9 User's Guides . 17 10 Managing Projects . 18 11 Add a Project . 19 12 Edit a Project . 24 13 Remove a Project . 27 14 Managing Build Definitions . 28 15 Project Build Definition . 29 16 Project Group Build Definition . 31 17 Managing Notification . 33 18 Mail Notification . 35 19 IRC Notification . 37 20 Jabber Notification . 39 21 MSN Notification . 41 22 Wagon Notification . 42 23 Building a project . 44 24 Scheduled Build . 45 25 Forced Build . 46 26 Build Results Management . 47 26 Release Management . 49 26 Prepare Project Release . 51 26 Perform Project Release . 54 26 Release Results Management . 56 26 Administrator's Guides . 57 26 Managing Users and Security . 58 26 Security Configuration . 59 26 LDAP Configuration . 60 26 Managing Project Groups . 61 26 Managing Builders . 64 26 Managing JDKs . 66 26 Managing Build Environments . © 2 0 1 0 , • A L L R I G H T S R E S E R V E D . Documentation ii 26 Managing Schedules . 67 26 Managing General Configuration . 70 26 Managing Local Repositories . 72 26 Managing Purge Configuration . 74 26 Managing Parallel Builds . 76 26 Managing Build Queues . 77 26 Managing Build Agents . 79 26 Managing Build Agent Groups . 80 26 Managing Project Queues . 81 26 External databases . 83 26 Monitoring Continuum . 86 26 Log Files . 89 26 Audit Logs .
    [Show full text]
  • Dissertation Sensorial Networks Embedded in Mobile
    University of Hradec Králové Faculty of Informatics and Management Department of Information Technologies Dissertation Sensorial Networks embedded in Mobile Devices Mgr. Miroslav Behan Acknowledgement Special thanks to my supervisor Ondřej Krejcar for acquired knowledge during my studies by writing articles and by his effective reasonable motivation based on evolutionary mind with possibility of change and brighter vision of future science in the Czech Republic. Declaration I declare that I carried out this doctoral thesis independently, and only with the cited sources, literature and other professional sources. I understand that my work relates to the rights and obligations in particular the fact that the University of Hradec Králové has the right to conclude a license agreement on the use of this work as a school work. In Hradec Králové date 2015 Signature ……………….............. Abstract / English TITLE SENSORIAL NETWORKS EMBEDDED IN PERSONAL MOBILE DEVICES AUTHOR Mgr. Miroslav Behan DEPARTMENT / Department of Information Technologies, Faculty of Informatics and INSTITUTE Management, University of Hradec Králové SUPERVISOR OF THE doc. Ing. Ondřej Krejcar, Ph.D., Department of Information DOCTORAL THESIS Technologies, Faculty of Informatics and Management, University of Hradec Králové ABSTRACT The modern society evolves into a sensorial network environment where individual sensor data can be transformed into cumulative and comprehensive representation for human. In a real time, it is independent of current location or behavior. The only limits to increase productivity and to create a smarter surrounding environment are personal habits and technology progress. The paper describes sensorial framework, which is dealing with the current aspects of technology, sociology, and usability in daily life usage of ubiquitous mobile devices with sensors, and arising computed and energy power.
    [Show full text]
  • Apache Maven 2 Effective Implementation
    Apache Maven 2 Effective Implementation Maria Odea Ching Brett Porter Chapter No. 6 "Useful Maven Plugins" In this package, you will find: A Biography of the authors of the book A preview chapter from the book, Chapter NO.6 "Useful Maven Plugins" A synopsis of the book’s content Information on where to buy this book About the Authors Maria Odea Ching grew up in Daet, a small town in the Philippines, then moved to the country's capital, Manila, when she went to college. She took up Computer Studies at De La Salle University, and graduated in 2004. She started using open source tools from her first job after graduating. From then on, she got interested in the open source philosophy. She was introduced to Apache Maven, Apache Continuum, and Apache Archiva early on in her career. She became a committer and a Project Management Committee member of Apache Maven. Eventually, she was elected as PMC Chair of Apache Archiva. She is also a member of the Apache Software Foundation. Deng is currently a Senior Software Engineer and serves as the development lead for the Maestro project. For More Information: www.packtpub.com/apache-maven-2-effective-implementations/book First, I'd like to thank Brett for the whirlwind endeavor which is this book. I'd also like to thank all our reviewers—Wendy, Emmanuel, Carsten and the Packt team, for taking the time to review and go through each chapter. You guys rock! And of course without the communities of Maven, Continuum, and Archiva, we wouldn't have anything to write about.
    [Show full text]
  • Ing. Markus Hopf, System
    Munich, 27. July 2021 Profile of Mr. Markus Hopf Dipl.-Ing. (FH) Picture: Overview: - Dipl.-Ing. Computer Engineering (FH) - Certified Professional Scrum Master PSM - Certified Spring Professional - Sun Certified Java Programmer - Sun Enterprise Trainer - Sun Certified Enterprise Architect - OMG Certified UML Professional - IBM Certified XML Professional Skills: - Senior Full Stack Developer - Cloud Microservice architecture - Single Page Applications (SPA) - Java, JavaScript, Typescript, Groovy, Groovy, Kotlin, Scala, Go, Python - Angular, ReactJs, Wicket - Spring Boot, Hibernate - NodeJs, npm - Kubernetes, Docker - REST API Webservices - Coordination of Projects Availability: In 100% availability projects i can immediately Location: Munich or Remote. Conditions: x € per hour. Experience: about 30 years Birthday: 13.02.68 Address: Dipl. Ing. (FH) Hopf, Markus Klara-Ziegler-Bogen 53, D-81739 München Mobil: +49 172 / 95 94 590 E-Mail: [email protected] Homepage: www.hopf-it.de Past projects: Housing-saving Calculator and Taxes Branche: Finance Referenz: Co. Fiducia GAD in München/Aschheim Contact person Mr. Matthias Leukert, Mr Erich Burggraf, Mr. Martin Hahn http://www.fiduciagad.de from 12/2019 - 08/2021 with 20 months Senior Fullstack Developer Angular Single Page Application - SPA 12 Microservices for Front- and Backend TypeScript, Java, JavaScript, Groovy RESTful Microservice Architectur REST API Versioning Framework for Standardization of Microservices RedHat Openshift Cloud Environment Docker Container in Azure Cloud Environment
    [Show full text]
  • Unit Test Virtualization with VMVM
    Unit Test Virtualization with VMVM Jonathan Bell Gail Kaiser Columbia University Columbia University 500 West 120th St, MC 0401 500 West 120th St, MC 0401 New York, NY USA New York, NY USA [email protected] [email protected] ABSTRACT by the test suite. These tests are added to existing unit test Testing large software packages can become very time in- suites and in an ideal continuous integration environment, tensive. To address this problem, researchers have inves- executed regularly (e.g., upon code check-ins, or nightly). tigated techniques such as Test Suite Minimization. Test Because developers are often creating new tests, as software Suite Minimization reduces the number of tests in a suite grows in size and complexity, its test suite frequently grows by removing tests that appear redundant, at the risk of a similarly. Software can reach a point where its test suite has reduction in fault-finding ability since it can be difficult to gotten so large that it takes too long to regularly execute identify which tests are truly redundant. We take a com- | previous work has reported test suites in industry taking pletely different approach to solving the same problem of several weeks to execute fully [36]. long running test suites by instead reducing the time needed To cope with long running test suites, testers might turn to execute each test, an approach that we call Unit Test to Test Suite Minimization or Test Suite Prioritization [43]. Virtualization. With Unit Test Virtualization, we reduce Test Suite Minimization techniques such as [14, 15, 22, 23, the overhead of isolating each unit test with a lightweight 27, 28, 38, 41] seek to reduce the total number of tests to virtualization container.
    [Show full text]
  • Oracle Webcenter 11G Handbook This Page Intentionally Left Blank ®
    ® Oracle WebCenter 11g Handbook This page intentionally left blank ® Oracle WebCenter 11g Handbook: Build Rich, Customizable Enterprise 2.0 Applications Frédéric Desbiens Peter Moskovits Philipp Weckerle New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Copyright © 2010 by The McGraw-Hill Companies, Inc. All rights reserved. Except as permitted under the United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher. ISBN: 978-0-07-162933-1 MHID: 0-07-162933-5 The material in this eBook also appears in the print version of this title: ISBN: 978-0-07-162932-4, MHID: 0-07-162932-7. All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark. Where such designations appear in this book, they have been printed with initial caps. McGraw-Hill eBooks are available at special quantity discounts to use as premiums and sales promotions, or for use in corporate training programs. To contact a representative please e-mail us at [email protected]. Information has been obtained by Publisher from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Publisher, or others, Publisher does not guarantee to the accuracy, adequacy, or completeness of any information included in this work and is not responsible for any errors or omissions or the results obtained from the use of such information.
    [Show full text]