Predicting Developers' Negative Feelings About Code Review

Total Page:16

File Type:pdf, Size:1020Kb

Predicting Developers' Negative Feelings About Code Review Predicting Developers’ Negative Feelings about Code Review Carolyn D. Egelman1, Emerson Murphy-Hill1, Elizabeth Kammer1, Margaret Morrow Hodges2, Collin Green1, Ciera Jaspan1, James Lin1 1Google, 2Artech {cegelman,emersonm,eakammer,hodgesm,colling,ciera,jameslin}@google.com ABSTRACT me upset is that the crap is for completely bogus rea- During code review, developers critically examine each others’ code sons...anybody who thinks that the above [code snip- to improve its quality, share knowledge, and ensure conformance pet] is (a) legible (b) efficient (even with the magical to coding standards. In the process, developers may have negative compiler support) (c) particularly safe is just incompe- interpersonal interactions with their peers, which can lead to frus- tent and out to lunch. The above code is sh*t, and it tration and stress; these negative interactions may ultimately result generates shit code. It looks bad, and there’s no reason in developers abandoning projects. In this mixed-methods study at for it. one company, we surveyed 1,317 developers to characterize the neg- Just like in the physical workplace, such interactions can have ative experiences and cross-referenced the results with objective significant consequences. For example, the Linux kernel lost at least data from code review logs to predict these experiences. Our results one developer due to its apparent toxic culture [22]: suggest that such negative experiences, which we call “pushback”, are relatively rare in practice, but have negative repercussions when I’m not a Linux kernel developer any more...Given the they occur. Our metrics can predict feelings of pushback with high choice, I would never send another patch, bug report, recall but low precision, making them potentially appropriate for or suggestion to a Linux kernel mailing list again...I highlighting interactions that may benefit from a self-intervention. would prefer the communication style within the Linux kernel community to be more respectful. I would prefer KEYWORDS that maintainers find healthier ways to communicate when they are frustrated. I would prefer that the Linux code review, interpersonal conflict kernel have more maintainers so that they wouldn’t ACM Reference Format: have to be terse or blunt. Carolyn D. Egelman1, Emerson Murphy-Hill1, Elizabeth Kammer1, Mar- Unfortunately, we have little systematic understanding of what garet Morrow Hodges2, Collin Green1, Ciera Jaspan1, James Lin1. 2020. Predicting Developers’ Negative Feelings about Code Review. In 42nd In- makes a code review go bad. This is important for three reasons. ternational Conference on Software Engineering (ICSE ’20), May 23–29, 2020, First, from an ethical perspective, we should seek to make the Seoul, Republic of Korea. ACM, New York, NY, USA, 12 pages. https://doi. software engineering process fair and inclusive. Second, from a org/10.1145/3377811.3380414 competitiveness perspective, organizations must retain software engineering talent. Third, happier developers report increased feel- ings of well-being and productivity [9]. 1 INTRODUCTION This paper seeks to understand and measure negative experi- It is well established that modern code review provides many ben- ences in code review. This paper contributes the first study, to the efits for a software organization, including finding defects [3, 17], authors’ knowledge, that quantifies feelings of pushback in the knowledge sharing [3, 17, 19], and improving software mainte- code review process. Measurement enables understanding of the nance [19]. However, code review can also lead to interpersonal prevalence of the bad experiences, whether negative experiences conflict in the workplace; prior research in the social sciences de- are occurring at different rates in subpopulations of developers, scribe interpersonal conflicts as a “consequential stressor in the and whether initiatives aimed at reducing negative experiences, workplace” [21]. Anecdotally, professional developers have reported like codes of conduct, are working. In a first step towards enabling their experiences with stressful [2], toxic [16], and insufferable7 [ ] new initiatives, we use interviews, surveys, and log data from a reviewers of their code. A code review in 2015 of Linux kernel code single company, Google, to study pushback, which we define as illustrates conflict vividly: “the perception of unnecessary interpersonal conflict in code review Christ people. This is just sh*t. The conflict I get is while a reviewer is blocking a change request.” We articulate five due to stupid new gcc header file crap. But what makes main feelings associated with pushback, and we create and validate logs-based metrics that predict those five feelings of pushback. This paper focuses on practical measurement of feelings of pushback Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed rather than developing theories around the root causes of pushback for profit or commercial advantage and that copies bear this notice and the full citation happening or why developers feel pushback in different ways. on the first page. Copyrights for third-party components of this work must be honored. We asked the following research questions: For all other uses, contact the owner/author(s). ICSE ’20, May 23–29, 2020, Seoul, Republic of Korea RQ1: How frequent are negative experiences with code review? © 2020 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-7121-6/20/05. RQ2: What factors are associated with pushback occuring? https://doi.org/10.1145/3377811.3380414 RQ3: What metrics detect author-perceived pushback? ICSE ’20, May 23–29, 2020, Seoul, Republic of Korea C.D. Egelman, E. Murphy-Hill, E. Kammer, M.M. Hodges, C. Green, C. Jaspan, J. Lin 2 METHOD junior developers, included racial/ethnic diversity, and consisted To study negative behaviors in code reviews, we combine quali- entirely of women. tative and quantitative methods using surveys and log data from Developers’ experience with code review is mostly positive. Google, a large international software development company. We All 14 interviewees viewed the code review process as helpful, and developed three log-based metrics, informed by interviews with a newer developers particularly appreciated its inherent mentorship. diverse group of 14 developers, to detect feelings of pushback in Nonetheless, the interviews pointed out the challenges developers code reviews and validated those metrics through a survey with a face during code review. stratified sample of 2,500 developers that covered five feelings of Defining pushback. To inform our definition of pushback, we pushback; 1,317 developers completed the survey. In the survey we asked developers what pushback meant to them. While their defini- collected qualitative feedback and asked respondents to volunteer tions largely aligned with our a priori notion that acceptance was code reviews that matched a list of problematic behaviors. being withheld by a reviewer, it included the idea that pushback also contained interpersonal conflict. Interpersonal conflict was also 2.1 Code Review at Google a recurring theme in the instances of pushback that interviewees shared during the interviews. Thus, our definition of pushback is At Google, code review is mandatory. The artifact being evaluated “the perception of unnecessary interpersonal conflict in code review in a code review we will call a change request, or CR for short. When while a reviewer is blocking a change request.” a change request is ready, its author seeks acceptance through code Dealing with Pushback. Interviewees talked about their reac- review, meaning that the reviewer certifies that they have reviewed tions, working towards resolution, and the consequences of the the change and it looks okay to check in. A given code review may pushback they received: be performed by one or more developers. Authors choose their re- viewers, or use a tool-recommended reviewer. Once each reviewer’s • Initial reaction. Aggressive comments can provoke strong concerns (if any) have been addressed, the reviewer accepts the emotional reactions, followed by a desire to seek social sup- change and the author merges the code into the codebase. Unlike port from trusted colleagues. Participants talked about shock, the open source community, almost all code that is reviewed is even- frustration, second guessing themselves, and a sense of guilt tually merged, which makes metrics like “acceptance rate,” which or shame that came from reading aggressive comments. From are common in studies on open source code reviews, inappropriate a behavioral standpoint, participants discussed asking team- in the Google context. mates’ opinions, asking a manager or team lead for advice, Additionally, any code that is checked into the company’s code reviewing the code change and related materials, and review- repository must comply with internal style guides. To ensure com- ing code review guidelines or documentation. pliance, code must either be written or reviewed by a developer • Investing time to work towards a resolution. Partici- with readability in the programming language used, which is a pants brought up adding comments asking for clarification, certification that a Google developer earns by having their code talking directly with reviewers (within the code review tool, evaluated by already-certified developers. More information about over chat, video conference,
Recommended publications
  • Hacking for Dummies.Pdf
    01 55784X FM.qxd 3/29/04 4:16 PM Page i Hacking FOR DUMmIES‰ by Kevin Beaver Foreword by Stuart McClure 01 55784X FM.qxd 3/29/04 4:16 PM Page v 01 55784X FM.qxd 3/29/04 4:16 PM Page i Hacking FOR DUMmIES‰ by Kevin Beaver Foreword by Stuart McClure 01 55784X FM.qxd 3/29/04 4:16 PM Page ii Hacking For Dummies® Published by Wiley Publishing, Inc. 111 River Street Hoboken, NJ 07030-5774 Copyright © 2004 by Wiley Publishing, Inc., Indianapolis, Indiana Published by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permis- sion of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4447, e-mail: permcoordinator@ wiley.com. Trademarks: Wiley, the Wiley Publishing logo, For Dummies, the Dummies Man logo, A Reference for the Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc.
    [Show full text]
  • High Performance Web Servers: a Study in Concurrent Programming Models
    High Performance Web Servers: A Study In Concurrent Programming Models by Srihari Radhakrishnan A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Mathematics in Computer Science Waterloo, Ontario, Canada, 2019 c Srihari Radhakrishnan 2019 Author’s Declaration I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract With the advent of commodity large-scale multi-core computers, the performance of software running on these computers has become a challenge to researchers and enterprise developers. While academic research and industrial products have moved in the direction of writing scalable and highly available services using distributed computing, single machine performance remains an active domain, one which is far from saturated. This thesis selects an archetypal software example and workload in this domain, and de- scribes software characteristics affecting performance. The example is highly-parallel web- servers processing a static workload. Particularly, this work examines concurrent programming models in the context of high-performance web-servers across different architectures — threaded (Apache, Go and µKnot), event-driven (Nginx, µServer) and staged (WatPipe) — compared with two static workloads in two different domains. The two workloads are a Zipf distribution of file sizes representing a user session pulling an assortment of many small and a few large files, and a 50KB file representing chunked streaming of a large audio or video file.
    [Show full text]
  • Is Parallel Programming Hard, And, If So, What Can You Do About It?
    Is Parallel Programming Hard, And, If So, What Can You Do About It? Edited by: Paul E. McKenney Linux Technology Center IBM Beaverton [email protected] January 2, 2017 ii Legal Statement This work represents the views of the editor and the authors and does not necessarily represent the view of their respective employers. Trademarks: • IBM, zSeries, and PowerPC are trademarks or registered trademarks of Interna- tional Business Machines Corporation in the United States, other countries, or both. • Linux is a registered trademark of Linus Torvalds. • i386 is a trademark of Intel Corporation or its subsidiaries in the United States, other countries, or both. • Other company, product, and service names may be trademarks or service marks of such companies. The non-source-code text and images in this document are provided under the terms of the Creative Commons Attribution-Share Alike 3.0 United States license.1 In brief, you may use the contents of this document for any purpose, personal, commercial, or otherwise, so long as attribution to the authors is maintained. Likewise, the document may be modified, and derivative works and translations made available, so long as such modifications and derivations are offered to the public on equal terms as the non-source-code text and images in the original document. Source code is covered by various versions of the GPL.2 Some of this code is GPLv2-only, as it derives from the Linux kernel, while other code is GPLv2-or-later. See the comment headers of the individual source files within the CodeSamples directory in the git archive3 for the exact licenses.
    [Show full text]
  • Open Source Software License Information
    Open Source Software license information This document contains an open source software license information for the product VACUU·SELECT. The product VACUU·SELECT contains open source components which are licensed under the applicable open source licenses. The applicable open source licenses are listed below. The open source software licenses are granted by the respective right holders directly. The open source licenses prevail all other license information with regard to the respective open source software components contained in the product. Modifications of our programs which are linked to LGPL libraries are permitted for the customer's own use and reverse engineering for debugging such modifications. However, forwarding the information acquired during reverse engineering or debugging to third parties is prohibited. Furthermore, it is prohibited to distribute modified versions of our programs. In any case, the warranty for the product VACUU·SELECT will expire, as long as the customer cannot prove that the defect would also occur without these modification. WARRANTY DISCLAIMER THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the applicable licenses for more details. Written offer This product VACUU·SELECT contains software components that are licensed by the holder of the rights as free software, or Open Source software, under GNU General Public License, Versions 2 and 3, or GNU Lesser General Public License, Versions 2.1, or GNU Library General Public License, Version 2, respectively. The source code for these software components can be obtained from us on a data carrier (e.g.
    [Show full text]
  • Is Parallel Programming Hard, And, If So, What Can You Do About It?
    Is Parallel Programming Hard, And, If So, What Can You Do About It? Edited by: Paul E. McKenney Linux Technology Center IBM Beaverton [email protected] August 8, 2012 ii Legal Statement This work represents the views of the authors and does not necessarily represent the view of their employers. IBM, zSeries, and PowerPC are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. Linux is a registered trademark of Linus Torvalds. i386 is a trademark of Intel Corporation or its subsidiaries in the United States, other countries, or both. Other company, product, and service names may be trademarks or service marks of such compa- nies. The non-source-code text and images in this document are provided under the terms of the Cre- ative Commons Attribution-Share Alike 3.0 United States license (http://creativecommons. org/licenses/by-sa/3.0/us/). In brief, you may use the contents of this document for any purpose, personal, commercial, or otherwise, so long as attribution to the authors is maintained. Likewise, the document may be modified, and derivative works and translations made available, so long as such modifications and derivations are offered to the public on equal terms as the non-source-code text and images in the original document. Source code is covered by various versions of the GPL (http://www.gnu.org/licenses/ gpl-2.0.html). Some of this code is GPLv2-only, as it derives from the Linux kernel, while other code is GPLv2-or-later. See the CodeSamples directory in the git archive (git://git.
    [Show full text]
  • Licence Agreement Supplement
    Licence Agreement Supplement 2 Index The ISC License ............................................ 300 Unicode License ........................................... 301 Contents X11 License.................................................. 302 Overview .......................................................... 3 Zlib License .................................................. 302 Note ................................................................. 3 Academic Free License 2.1 .............................. 4 Apache License, Version 2.0 ............................ 7 Beerware License ........................................... 10 Boost Software License 1.0 ........................... 10 BSD 2-clause .................................................. 11 BSD 3-clause .................................................. 17 BSD 4-Clause ................................................. 25 BSD variants................................................... 26 Bzip2 License ................................................. 26 Coffee-ware License ...................................... 27 Copyleft-next License .................................... 27 Curl License ................................................... 31 dhcp License .................................................. 32 Dropbear License ........................................... 33 expat License ................................................. 35 GNU GPL v 1.0 ............................................... 36 GNU GPL v 2.0 ............................................... 40 GNU GPL 3.0 ...............................................
    [Show full text]
  • Linux Firewalls.Pdf
    USE IPTABLES TO DETECT AND P R E V E N T LINUXLINUX NETWORK-BASED LINUX FIREWALLS LINUX FIREWALLS ATTACKS FIREWALLSFIREWALLS ATTACK DETECTION A N D RESPONSE W I T H System administrators need to stay ahead of new • Tools for visualizing iptables logs IPTABLES , PSAD , A N D FWSNORT security vulnerabilities that leave their networks exposed • Passive OS fingerprinting with iptables every day. A firewall and an intrusion detection system (IDS) are two important weapons in that fight, enabling Perl and C code snippets offer practical examples MICHAEL RASH you to proactively deny access and monitor network that will help you to maximize your deployment of traffic for signs of an attack. Linux firewalls. Linux Firewalls discusses the technical details of the If you’re responsible for keeping a network secure, Linux Firewalls is a great book. iptables firewall and the Netfilter framework that are you’ll find Linux Firewalls invaluable in your attempt to —From the foreword by Richard Bejtlich built into the Linux kernel, and it explains how they understand attacks and use iptables—along with psad of TaoSecurity.com provide strong filtering, Network Address Translation and fwsnort—to detect and even prevent compromises. (NAT), state tracking, and application layer inspection ABOUT THE AUTHOR capabilities that rival many commercial tools. You’ll learn how to deploy iptables as an IDS with psad and Michael Rash is a security architect with Enterasys fwsnort and how to build a strong, passive authentica- Networks, Inc., where he develops the Dragon tion layer around iptables with fwknop. intrusion detection and prevention system.
    [Show full text]
  • Mvbluefox3 Technical Manual (Pdf)
    mvBlueFOX3 Technical Manual English - Version 3.04 i 1.1 About this manual............................................ 1 1.1.1 Goal of the manual ....................................... 1 1.1.2 Contents of the manual..................................... 1 1.2 Imprint.................................................. 2 1.2.1 Introduction ........................................... 3 1.2.2 wxWidgets............................................ 3 1.2.3 Sarissa ............................................. 3 1.2.4 GenICam ............................................ 3 1.2.5 libusb .............................................. 3 1.2.6 libusbK.............................................. 3 1.2.6.1 libusbK license .................................... 3 1.2.7 Doxygen............................................. 4 1.2.7.1 Doxygen license ................................... 4 1.2.8 SHA1 algorithm......................................... 4 1.2.9 Expat .............................................. 5 1.2.9.1 Expat Copyright.................................... 5 1.2.10 CppUnit ............................................ 5 1.2.11 NUnit.............................................. 5 1.2.11.1 NUnit License.................................... 5 1.3 Legal notice............................................... 6 1.3.1 Introduction ........................................... 6 1.3.2 cJSON.............................................. 6 1.3.3 Unity............................................... 6 1.4 Revisions ...............................................
    [Show full text]
  • Ubports Documentation
    UBports Documentation Marius Gripsgard Sep 23, 2021 ABOUT 1 Introduction 3 2 Processes 5 3 Install Ubuntu Touch 11 4 Daily use 15 5 Advanced use 27 6 Contributing to UBports 35 7 App development 47 8 Human interface guidelines 87 9 System software development 123 10 Introduction 143 11 Building and booting 149 12 Configuring, testing and fixing 165 13 Finalizing the port 177 i ii UBports Documentation Welcome to the official documentation of the UBports project! UBports develops the mobile phone operating system Ubuntu Touch. Ubuntu Touch is a mobile operating system focused on ease of use, privacy, and convergence. On this website you find guides to install Ubuntu Touch on your mobile phone, use Ubuntu Touch, develop Ubuntu Touch apps, port Ubuntu Touch to an Android handset and learn more about system components. If this is your first time here, please consider reading our introduction. If you want to help improving this documentation, the Documentation contribute page will get you started. You may view this documentation in the following languages: • English • Català • Français • Deutsch • Italiano • Română • • Türkçe • Español • Simplified Chinese ABOUT 1 UBports Documentation 2 ABOUT CHAPTER ONE INTRODUCTION Our goal is to create a copylefted libre mobile operating system. One you can use, study, change and share; with all. 1.1 About UBports The project was founded by Marius Gripsgard in 2015 and in its infancy a place where developers could share ideas and educate each other in hopes of bringing the Ubuntu Touch platform to more mobile devices. After Canonical suddenly announced plans to terminate support for Ubuntu Touch in April of 2017, UBports and its sister projects began work on the source code; maintaining and expanding its possibilities for the future.
    [Show full text]
  • Mellanox OFED for Linux Release Notes
    Mellanox OFED for Linux Release Notes Rev 4.3-3.0.2.1 www.mellanox.com Mellanox Technologies NOTE: THIS HARDWARE, SOFTWARE OR TEST SUITE PRODUCT (“PRODUCT (S)”) AND ITS RELATED DOCUMENTATION ARE PROVIDED BY MELLANOX TECHNOLOGIES “AS-IS” WITH ALL FAULTS OF ANY KIND AND SOLELY FOR THE PURPOSE OF AIDING THE CUSTOMER IN TESTING APPLICATIONS THAT USE THE PRODUCTS IN DESIGNATED SOLUTIONS. THE CUSTOMER'S MANUFACTURING TEST ENVIRONMENT HAS NOT MET THE STANDARDS SET BY MELLANOX TECHNOLOGIES TO FULLY QUALIFY THE PRODUCT(S) AND/OR THE SYSTEM USING IT. THEREFORE, MELLANOX TECHNOLOGIES CANNOT AND DOES NOT GUARANTEE OR WARRANT THAT THE PRODUCTS WILL OPERATE WITH THE HIGHEST QUALITY. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL MELLANOX BE LIABLE TO CUSTOMER OR ANY THIRD PARTIES FOR ANY DIRECT, INDIRECT, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING, BUT NOT LIMITED TO, PAYMENT FOR PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT , STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY FROM THE USE OF THE PRODUCT(S) AND RELATED DOCUMENTATION EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Mellanox Technologies 350 Oakmead Parkway Suite 100 Sunnyvale, CA 94085 U.S.A. www.mellanox.com Tel: (408) 970-3400 Fax: (408) 970-3403 © Copyright
    [Show full text]
  • Postgresql License
    SOURCE SOFTWARE NOTICE Software: postgresql 9.6 Copyright notice: Legal Notice PostgreSQL is Copyright © 1996-2020 by the PostgreSQL Global Development Group. Postgres95 is Copyright © 1994-5 by the Regents of the University of California. Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS-IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. License: PostgreSQL License PostgreSQL is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses. PostgreSQL Database Management System (formerly known as Postgres, then as Postgres95) Portions Copyright © 1996-2020, The PostgreSQL Global Development Group Portions Copyright © 1994, The Regents of the University of California Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
    [Show full text]
  • Mellanox OFED for Linux Release Notes Rev 3.4-1.0.0.0
    Mellanox OFED for Linux Release Notes Rev 3.4-1.0.0.0 www.mellanox.com Rev 3.4- NOTE: THIS HARDWARE, SOFTWARE OR TEST SUITE PRODUCT (“PRODUCT(S)”) AND ITS RELATED DOCUMENTATION ARE PROVIDED BY MELLANOX TECHNOLOGIES “AS-IS” WITH ALL FAULTS OF ANY KIND AND SOLELY FOR THE PURPOSE OF AIDING THE CUSTOMER IN TESTING APPLICATIONS THAT USE THE PRODUCTS IN DESIGNATED SOLUTIONS. THE CUSTOMER'S MANUFACTURING TEST ENVIRONMENT HAS NOT MET THE STANDARDS SET BY MELLANOX TECHNOLOGIES TO FULLY QUALIFY THE PRODUCT(S) AND/OR THE SYSTEM USING IT. THEREFORE, MELLANOX TECHNOLOGIES CANNOT AND DOES NOT GUARANTEE OR WARRANT THAT THE PRODUCTS WILL OPERATE WITH THE HIGHEST QUALITY. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL MELLANOX BE LIABLE TO CUSTOMER OR ANY THIRD PARTIES FOR ANY DIRECT, INDIRECT, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING, BUT NOT LIMITED TO, PAYMENT FOR PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY FROM THE USE OF THE PRODUCT(S) AND RELATED DOCUMENTATION EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Mellanox Technologies 350 Oakmead Parkway Suite 100 Sunnyvale , CA 94085 U.S.A. www.mellanox.com Tel: (408) 970-3400 Fax: (408) 970-3403 © Copyright 2016. Mellanox
    [Show full text]