Tracing Software Build Processes to Uncover License Compliance Inconsistencies

Total Page:16

File Type:pdf, Size:1020Kb

Load more

Tracing Software Build Processes to Uncover License Compliance Inconsistencies Sander van der Burg Eelco Dolstra Shane McIntosh Delft University of Technology, LogicBlox, Inc., USA Queen’s University, Canada Netherlands [email protected] [email protected] [email protected] Julius Davies Daniel M. German Armijn Hemel University of British Columbia, University of Victoria, Canada Tjaldur Software Governance Canada [email protected] Solutions, Netherlands [email protected] [email protected] ABSTRACT to the more restrictive GPL- and MPL-style licenses that Open Source Software (OSS) components form the basis for impose license requirements on client systems (i.e., derived many software systems. While the use of OSS components works). Due to the intricacies of OSS licenses, it may not be accelerates development, client systems must comply with legally permissible to combine certain OSS components with the license terms of the OSS components that they use. Fail- client system code. Client systems that are released under ure to do so exposes client system distributors to possible lit- licenses that are incompatible with the licenses of the OSS igation from copyright holders. Yet despite the importance components that are used to build them are said to have a of license compliance, tool support for license compliance as- license mismatch problem [9]. sessment is lacking. In this paper, we propose an approach Failure to comply with the license terms of reused external to construct and analyze the Concrete Build Dependency components makes the distribution of client system deliver- Graph (CBDG) of a software system by tracing system calls ables a potential copyright violation, opening client system that occur at build-time. Through a case study of seven distributors up to litigation by copyright holders [13, 16]. open source systems, we show that the constructed CBDGs: To ensure that a client system is compliant with the license (1) accurately classify sources as included in or excluded terms of reused external components, one must not only un- from deliverables with 88%-100% precision and 98%-100% derstand which licenses govern the reuse these components, recall, and (2) can uncover license compliance inconsisten- but also how they are combined with the source code of the cies in real software systems { two of which prompted code client system. For example, statically linking to external fixes in the CUPS and FFmpeg systems. components released under a GPL-style license stipulates that the source code of the client system deliverable be re- leased under a GPL-style license as well. Categories and Subject Descriptors In order to perform a license compliance assessment on K.5.1 [Legal Aspects of Computing]: Hardware/Software a client system, one must know (for each deliverable being Protection|copyrights, licensing created): (1) which source files of the client system are be- ing used; (2) which external components are being used; and (3) how the client source code and external components are Keywords being combined. We, therefore, trace and record each step License compliance; build systems taken during the build process in order to construct a Con- crete Build Dependency Graph (CBDG), i.e., a graph that 1. INTRODUCTION represents the actual dependencies of the client system deliv- erables. Since build specifications may not explicitly denote Nowadays, software developers improve development ef- all of the client system dependencies, we construct CBDGs ficiency by reusing OSS components, libraries, and frame- by tracing the operating system calls made by build tools works. These reusable components are released under a vari- during their execution. We annotate the source file nodes ety of different licenses, ranging from the simple and permis- in the CBDG with their respective licenses, and analyze the sive BSD- and MIT-style licenses that allow client systems CBDG to detect license compliance inconsistencies. to include components without publishing any source code, In order to evaluate our license compliance assessment approach, we perform a case study of seven open source Permission to make digital or hard copies of all or part of this work for personal or systems, and address the following two research questions: classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full cita- tion on the first page. Copyrights for components of this work owned by others than (RQ1) Does our approach accurately identify the ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re- sources that are included in constructed de- publish, to post on servers or to redistribute to lists, requires prior specific permission liverables? and/or a fee. Request permissions from [email protected]. Removing the source files that appear in the CBDG ASE’14, September 15-19, 2014, Vasteras, Sweden. Copyright 2014 ACM 978-1-4503-3013-8/14/09 ...$15.00. truly causes changes in build behaviour in 88%- http://dx.doi.org/10.1145/2642937.2643013. 100% of cases (precision). Conversely, removing the source files that do not appear in the CBDG does Include Files Libraries Challenge 2: Identify not cause changes in build behaviour in 98%-100% used external of cases (recall). External components Components (RQ2) Does our approach reveal license mismatch issues? Library Analysis of the constructed CBDGs reveals license mismatch issues that prompted rapid bug fixes in Compilation Linking the FFmpeg and CUPS systems. Executable The main technical contributions of this paper are: Compilation Linking • The definition of the CBDG, which explicitly describes the steps performed when creating deliverables. Both Deliverables internal (which client system source files are being used) Object Files and external dependencies (e.g., libraries) can be ex- Build Process tracted from the CBDG. Unused Challenge 3: Identify how • An approach for constructing a CBDG from traces of source les and external operating system calls made during a build execution. Challenge 1: Identify used les components are combined (using compilers, linkers, • An approach to analyze a CBDG to identify license Source Files scripts, etc.) compliance inconsistencies in client systems. Figure 1: Challenges of license compliance assessment. Paper organization. The remainder of this paper is or- ganized as follows. Section 2 outlines the challenges asso- ciated with license compliance assessment. Section 3 de- system are typically listed in product documentation, this scribes our CBDG-based approach to license compliance as- documentation is often: (1) incomplete, i.e., missing depen- sessment. Section 4 presents the design of the empirical dencies, such as those recursively used to create the external study that we performed to evaluate the accuracy and use- components that are used by the client system, or (2) out of fulness of our license compliance assessment approach, while date, i.e., incorrect dependencies, such as those that are no Section 5 presents the results. We discuss the limitations longer used. For example, in recent work, we identified an of our approach and its empirical evaluation in Section 6. error in the build system of the PHP package in Fedora 12, Section 7 surveys related work. Finally, Section 8 draws where a deliverable was mistakenly being linked to a GPLv2 conclusions and discusses potential avenues for future work. licensed component [11]. Linking to this GPLv2 component caused the GPLv2 license to take precedence over the PHP 2. CHALLENGES OF LICENSE COMPLI- license for several PHP deliverables. The build system was ANCE ASSESSMENT later corrected to link the PHP deliverables with an external License compliance assessment, i.e., the process of detect- component that is compatible with the PHP license. Indeed, ing inconsistencies in the license terms of an external compo- the external components used to assemble client system de- nent and its reuse by a client system, is nontrivial [8, 9, 11]. liverables impose restrictions on the license that the client Figure 1 provides an overview of the challenges of the as- system can be released under. sessment process. We briefly describe each challenge below. Challenge 3: Identify how source files and exter- Challenge 1: Identifying included source files. OSS nal components are combined. The method by which packages, i.e., collections of related OSS components, are client source code is combined with external components composed of several source code files that often have dif- also has an impact on the license constraints that apply to ferent (potentially incompatible) licenses. In recent work, the client system [2, 9]. For example, external components we found that 65% of the packages in the Fedora 12 dis- that are released under the GPL license transitively apply tribution are heterogeneously licensed, with more than one the GPL license to client system deliverables that statically license appearing in their source files [11]. link with them, i.e., client system deliverable must also be Determining the license that takes precedence over the distributed under the GPL license if a GPL component is others in heterogeneously licensed components is often de- statically linked with it; however, if instead of using static pendent on the configuration of the build system. For ex- linking components are connected using RPC or a Web API, ample, the FreeBSD kernel is normally released under the then the resulting client system
Recommended publications
  • Drilling Network Stacks with Packetdrill

    Drilling Network Stacks with Packetdrill

    Drilling Network Stacks with packetdrill NEAL CARDWELL AND BARATH RAGHAVAN Neal Cardwell received an M.S. esting and troubleshooting network protocols and stacks can be in Computer Science from the painstaking. To ease this process, our team built packetdrill, a tool University of Washington, with that lets you write precise scripts to test entire network stacks, from research focused on TCP and T the system call layer down to the NIC hardware. packetdrill scripts use a Web performance. He joined familiar syntax and run in seconds, making them easy to use during develop- Google in 2002. Since then he has worked on networking software for google.com, the ment, debugging, and regression testing, and for learning and investigation. Googlebot web crawler, the network stack in Have you ever had the experience of staring at a long network trace, trying to figure out what the Linux kernel, and TCP performance and on earth went wrong? When a network protocol is not working right, how might you find the testing. [email protected] problem and fix it? Although tools like tcpdump allow us to peek under the hood, and tools like netperf help measure networks end-to-end, reproducing behavior is still hard, and know- Barath Raghavan received a ing when an issue has been fixed is even harder. Ph.D. in Computer Science from UC San Diego and a B.S. from These are the exact problems that our team used to encounter on a regular basis during UC Berkeley. He joined Google kernel network stack development. Here we describe packetdrill, which we built to enable in 2012 and was previously a scriptable network stack testing.
  • Gutenprint 5.0 User's Manual and Release Notes

    Gutenprint 5.0 User's Manual and Release Notes

    Gutenprint 5.0 User's Manual Robert Krawitz March 4, 2007 Gutenprint 5.0 User's Manual Copyright © 2000-2007 Robert Krawitz Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation with no invariant sections, no Front-Cover texts, and no Back-Cover texts. Gutenprint 5.0 is licensed in its entirety under the terms of the GNU General Public License. The CUPS code (in src/cups) is licensed under the terms of the GNU General Public License version 2; the balance of the code is licensed under the terms of the GNU General Public License version 2 or any later version published by the Free Software Foundation. EPSON, ESC/P, and Stylus are registered trademarks of Seiko Epson Corp. ESC/P2 is a trademark of Seiko Epson Corp. All other product names are trademarks and/or registered trademarks of their vendors. 2 Gutenprint 5.0 User's Manual 03/04/2007 Table of Contents 1) Introduction............................................................................................................................................5 1.1) What is Gutenprint?.......................................................................................................................5 1.2) History of Gutenprint.....................................................................................................................5 1.2.1) The early years: Gimp-Print 3.x and 4.0................................................................................5
  • ARM Assembly Shellcode from Zero to ARM Assembly Bind Shellcode

    ARM Assembly Shellcode from Zero to ARM Assembly Bind Shellcode

    Lab: ARM Assembly Shellcode From Zero to ARM Assembly Bind Shellcode HITBSecConf2018 - Amsterdam 1 Learning Objectives • ARM assembly basics • Writing ARM Shellcode • Registers • System functions • Most common instructions • Mapping out parameters • ARM vs. Thumb • Translating to Assembly • Load and Store • De-Nullification • Literal Pool • Execve() shell • PC-relative Addressing • Reverse Shell • Branches • Bind Shell HITBSecConf2018 - Amsterdam 2 Outline – 120 minutes • ARM assembly basics • Reverse Shell • 15 – 20 minutes • 3 functions • Shellcoding steps: execve • For each: • 10 minutes • 10 minutes exercise • Getting ready for practical part • 5 minutes solution • 5 minutes • Buffer[10] • Bind Shell • 3 functions • 25 minutes exercise HITBSecConf2018 - Amsterdam 3 Mobile and Iot bla bla HITBSecConf2018 - Amsterdam 4 It‘s getting interesting… HITBSecConf2018 - Amsterdam 5 Benefits of Learning ARM Assembly • Reverse Engineering binaries on… • Phones? • Routers? • Cars? • Intel x86 is nice but.. • Internet of Things? • Knowing ARM assembly allows you to • MACBOOKS?? dig into and have fun with various • SERVERS?? different device types HITBSecConf2018 - Amsterdam 6 Benefits of writing ARM Shellcode • Writing your own assembly helps you to understand assembly • How functions work • How function parameters are handled • How to translate functions to assembly for any purpose • Learn it once and know how to write your own variations • For exploit development and vulnerability research • You can brag that you can write your own shellcode instead
  • Hardware-Driven Evolution in Storage Software by Zev Weiss A

    Hardware-Driven Evolution in Storage Software by Zev Weiss A

    Hardware-Driven Evolution in Storage Software by Zev Weiss A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Sciences) at the UNIVERSITY OF WISCONSIN–MADISON 2018 Date of final oral examination: June 8, 2018 ii The dissertation is approved by the following members of the Final Oral Committee: Andrea C. Arpaci-Dusseau, Professor, Computer Sciences Remzi H. Arpaci-Dusseau, Professor, Computer Sciences Michael M. Swift, Professor, Computer Sciences Karthikeyan Sankaralingam, Professor, Computer Sciences Johannes Wallmann, Associate Professor, Mead Witter School of Music i © Copyright by Zev Weiss 2018 All Rights Reserved ii To my parents, for their endless support, and my cousin Charlie, one of the kindest people I’ve ever known. iii Acknowledgments I have taken what might be politely called a “scenic route” of sorts through grad school. While Ph.D. students more focused on a rapid graduation turnaround time might find this regrettable, I am glad to have done so, in part because it has afforded me the opportunities to meet and work with so many excellent people along the way. I owe debts of gratitude to a large cast of characters: To my advisors, Andrea and Remzi Arpaci-Dusseau. It is one of the most common pieces of wisdom imparted on incoming grad students that one’s relationship with one’s advisor (or advisors) is perhaps the single most important factor in whether these years of your life will be pleasant or unpleasant, and I feel exceptionally fortunate to have ended up iv with the advisors that I’ve had.
  • Proceedings of the Linux Symposium

    Proceedings of the Linux Symposium

    Proceedings of the Linux Symposium Volume One June 27th–30th, 2007 Ottawa, Ontario Canada Contents The Price of Safety: Evaluating IOMMU Performance 9 Ben-Yehuda, Xenidis, Mostrows, Rister, Bruemmer, Van Doorn Linux on Cell Broadband Engine status update 21 Arnd Bergmann Linux Kernel Debugging on Google-sized clusters 29 M. Bligh, M. Desnoyers, & R. Schultz Ltrace Internals 41 Rodrigo Rubira Branco Evaluating effects of cache memory compression on embedded systems 53 Anderson Briglia, Allan Bezerra, Leonid Moiseichuk, & Nitin Gupta ACPI in Linux – Myths vs. Reality 65 Len Brown Cool Hand Linux – Handheld Thermal Extensions 75 Len Brown Asynchronous System Calls 81 Zach Brown Frysk 1, Kernel 0? 87 Andrew Cagney Keeping Kernel Performance from Regressions 93 T. Chen, L. Ananiev, and A. Tikhonov Breaking the Chains—Using LinuxBIOS to Liberate Embedded x86 Processors 103 J. Crouse, M. Jones, & R. Minnich GANESHA, a multi-usage with large cache NFSv4 server 113 P. Deniel, T. Leibovici, & J.-C. Lafoucrière Why Virtualization Fragmentation Sucks 125 Justin M. Forbes A New Network File System is Born: Comparison of SMB2, CIFS, and NFS 131 Steven French Supporting the Allocation of Large Contiguous Regions of Memory 141 Mel Gorman Kernel Scalability—Expanding the Horizon Beyond Fine Grain Locks 153 Corey Gough, Suresh Siddha, & Ken Chen Kdump: Smarter, Easier, Trustier 167 Vivek Goyal Using KVM to run Xen guests without Xen 179 R.A. Harper, A.N. Aliguori & M.D. Day Djprobe—Kernel probing with the smallest overhead 189 M. Hiramatsu and S. Oshima Desktop integration of Bluetooth 201 Marcel Holtmann How virtualization makes power management different 205 Yu Ke Ptrace, Utrace, Uprobes: Lightweight, Dynamic Tracing of User Apps 215 J.
  • Cups-Filters-Ippusbxd-2018.Pdf

    Cups-Filters-Ippusbxd-2018.Pdf

    cups-filters The non-Apple part of CUPS, maintained by OpenPrinting ippusbxd Standards-conforming support for IPP-over-USB printers Till Kamppeter, OpenPrinting Introduction • cups-filters takes up everything from CUPS which Mac OS X does not need (CUPS 1.6.x) Started end of 2011 by OpenPrinting, overtaking most of CUPS’ filters Switched filters over from PostScript-centric to PDF-centric workflow cups-browsed introduced end of 2012, to introduce browsing of DNS- SD-advertised remote CUPS queues, as CUPS dropped its own broadcasting/browsing • In 7 years of development cups-filters improved a lot Auto-create print queues for IPP network and IPP-over-USB printers, especially driverless printing, not competing with CUPS’ own temporary queues. Mobile printing support: No printer setup tool needed, auto-setup of printers, driverless, cups-browsed auto-shutdown Load-balanced printer clusters, with client-side or server-side queueing of jobs Do legacy CUPS broadcasting/browsing to work with old CUPS on remote machines Filters support Ghostscript, Poppler, and MuPDF as PDF interpreter Filters support all PDLs for driverless printing: PDF, Apple Raster, PWG Raster, and PCLm 2 Role of cups-browsed • CUPS auto-generates its own temporary queues to point to remote IPP/CUPS printers, why continue cups-browsed? Printer clustering (like the former Implicit Classes) . Configurable: Automatic (by equal remote queue names) and manual (by cups-browsed.conf) . Load balancing of clustered queues . Auto-selection of destination printer by job and job settings (planned) Fine-grained filtering of which remote printers are available . Not only servers/IP addresses, but also service names.
  • Assistance with Self-Administered Medications 2 Contact Hours

    Assistance with Self-Administered Medications 2 Contact Hours

    Chapter 8: Assistance With Self-Administered Medications 2 Contact Hours Learning objectives Identify and interpret the components of a prescription label. Describe conditions that require additional clarification for “as List and explain the procedures for assistance with oral and topical needed” prescription orders. forms of medications (including ophthalmic, otic and nasal forms), Identify medication orders that require judgment, and may prevent including the “five rights” of medical administration. the CNA from assisting residents with medication. Identify and define the side effects for medication classes and Explain and list types of information and details that must be discuss procedures to follow if residents experience side effects or reported on the medication observation record. adverse reactions. List the requirements and procedures for medication storage and disposal. Introduction The Florida statutes (revised in 2016) are the laws that govern of the 2016 Florida Statutes. This means that some material assistance with self-medication. According to the state[1]: in the 2016 edition may not take effect until January 1, 2017. Legislative changes to the Florida Statutes, effective up to and Amendments effective on January 2, 2017, or later, will appear as including January 1, 2017, are treated as current for publication footnotes. Title XXX: Chapter 429: Social welfare assisted care communities 429.256 Assistance with self-administration of medication. c. Placing an oral dosage in the resident’s hand or placing the 1. For the purposes of this section, the term: dosage in another container and helping the resident by lifting a. “Informed consent” means advising the resident, or the the container to his or her mouth.
  • “Out-Of-VM” Approach for Fine-Grained Process Execution Monitoring

    “Out-Of-VM” Approach for Fine-Grained Process Execution Monitoring

    Workshop for Frontiers of Cloud Computing, Dec 1, 2011, IBM T.J. Watson Research Center, NY Process Out-Grafting: An Efficient “Out-of-VM” Approach for Fine-Grained Process Execution Monitoring Deepa Srinivasan, Zhi Wang, Xuxian Jiang, Dongyan Xu * North Carolina State University, Purdue University* Malware Infection Trend New malware samples collected by McAfee Labs, by month* *Figure source: McAfee Threats Report: Second Quarter 2011, McAfee Labs 2 Anti-Malware Isolation Traditional anti-malware tools are not well-isolated Virtual Machine (VM) introspection Isolate tool by placing it outside a VM Analyze states and events externally User-mode Applications Monitor Virtual Machine … OS Kernel Hypervisor 3 Anti-Malware Isolation Traditional anti-malware tools are not well-isolated Virtual Machine (VM) introspection Isolate tool by placing it outside a VM Analyze states and events externally User-mode Applications Monitor VM Virtual Introspection Machine … OS Kernel Hypervisor 4 Out-of-VM Solutions Livewire (Garfinkel et al. , NDSS ‘03) XenAccess (Payne et al. , ACSAC ‘07) VMScope (Jiang et al. , RAID ‘07) Lares (Payne et al. , Oakland ‘08) … 5 Semantic Gap in Introspection What we want to observe High-level states and events (e.g. system calls, processes) What we can observe Low-level states and events (e.g. raw memory, interrupts) Internal User-mode Applications Monitor … External Monitor Semantic Virtual Machine Gap OS Kernel Hypervisor 6 Addressing the Semantic Gap Guest view casting VMWatcher (Jiang et al. , CCS
  • CUPS on Freebsd

    CUPS on Freebsd

    CUPS on FreeBSD Chess Griffin <[email protected]> Revision: b62d4babfd FreeBSD is a registered trademark of the FreeBSD Foundation. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol. 2020-12-23 17:30:15 +0000 by Guangyuan Yang. Abstract An article about configuring CUPS on FreeBSD. Table of Contents 1. An Introduction to the Common Unix Printing System (CUPS) ........................................................... 1 2. Installing the CUPS Print Server .................................................................................................. 1 3. Configuring the CUPS Print Server .............................................................................................. 2 4. Configuring Printers on the CUPS Print Server ............................................................................... 2 5. Configuring CUPS Clients ........................................................................................................... 3 6. CUPS Troubleshooting .............................................................................................................. 3 Index ........................................................................................................................................ 5 1. An Introduction to the Common Unix Printing System (CUPS) CUPS, the
  • Third-Party Licenses Ezeep

    Third-Party Licenses Ezeep

    Licensing Terms of Additional Components Supplied by Third- Party Manufacturers “ezeep for Azure” ................................................................................................................................1 “ezeep Connector / ezeep Connector PS” ...........................................................................................1 “ezeep Connector Mac” .......................................................................................................................4 “ezeep print App macOS” ....................................................................................................................4 “ezeep for Azure” “ezeep Connector / ezeep Connector PS” “Microsoft Visual C++ 2013 Runtime Libraries”, “Microsoft Visual C++ 2017 Runtime Libraries” Appendix 1 Microsoft Visual C++ 2013 Runtime Libraries MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT VISUAL C++ REDISTRIBUTABLE FOR VISUAL STUDIO 2013 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft updates, supplements, Internet-based services, and support services for this software, unless other terms accompany those items. If so, those terms apply. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW. 1. INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software on your devices. 2. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the soft- ware only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the soft- ware that only allow you to use it in certain ways.
  • A Brief Technical Introduction

    A Brief Technical Introduction

    Mac OS X A Brief Technical Introduction Leon Towns-von Stauber, Occam's Razor LISA Hit the Ground Running, December 2005 http://www.occam.com/osx/ X Contents Opening Remarks..............................3 What is Mac OS X?.............................5 A New Kind of UNIX.........................12 A Diferent Kind of UNIX..................15 Resources........................................39 X Opening Remarks 3 This is a technical introduction to Mac OS X, mainly targeted to experienced UNIX users for whom OS X is at least relatively new This presentation covers primarily Mac OS X 10.4.3 (Darwin 8.3), aka Tiger X Legal Notices 4 This presentation Copyright © 2003-2005 Leon Towns-von Stauber. All rights reserved. Trademark notices Apple®, Mac®, Macintosh®, Mac OS®, Finder™, Quartz™, Cocoa®, Carbon®, AppleScript®, Bonjour™, Panther™, Tiger™, and other terms are trademarks of Apple Computer. See <http://www.apple.com/legal/ appletmlist.html>. NeXT®, NeXTstep®, OpenStep®, and NetInfo® are trademarks of NeXT Software. See <http://www.apple.com/legal/nexttmlist.html>. Other trademarks are the property of their respective owners. X What Is It? 5 Answers Ancestry Operating System Products The Structure of Mac OS X X What Is It? Answers 6 It's an elephant I mean, it's like the elephant in the Chinese/Indian parable of the blind men, perceived as diferent things depending on the approach X What Is It? Answers 7 Inheritor of the Mac OS legacy Evolved GUI, Carbon (from Mac Toolbox), AppleScript, QuickTime, etc. The latest version of NeXTstep Mach, Quartz (from Display PostScript), Cocoa (from OpenStep), NetInfo, apps (Mail, Terminal, TextEdit, Preview, Interface Builder, Project Builder, etc.), bundles, faxing from Print panel, NetBoot, etc.
  • SATO CUPS Driver for Linux User Manual

    SATO CUPS Driver for Linux User Manual

    SATO CUPS Driver for Linux User Manual Edition 2.26.0 March 2021 Software License Agreement PLEASE READ THE FOLLOWING TERMS AND 9. SATO Corporation warrants that for ninety (90) days CONDITIONS BEFORE USING THIS PRODUCT. BY after delivery, the Software will perform in accordance INSTALLING THE PRODUCT, YOU THEREBY INDICATE with specifications published by SATO Corporation, and YOUR ACCEPTANCE OF THESE TERMS AND that the distribution media will be free from defects in CONDITIONS. SHOULD YOU DISAGREE WITH ANY OF material and workmanship. SATO Corporation does not THE TERMS OR CONDITIONS LISTED BELOW, warrant that the Software is free from all bugs, errors PROMPTLY REMOVE ALL FILES RELATED TO THIS and omissions. PRODUCT FROM YOUR HOST PLATFORM AND RETURN 10. Your exclusive remedy and the sole liability of SATO THE PRODUCT TO SATO CORPORATION. Corporation in connection with the Software is 1. You explicitly agree to accept a non-exclusive license to replacement of defective distribution media upon their use the Software identified on the distribution media return to SATO Corporation. SATO Corporation will solely for your own customary business or personal not be liable for any loss or damage caused by delays purposes. Your local and national laws govern this in furnishing a Software Product or any other Agreement. performance under this Agreement. 2. Henceforth, “Software” shall refer to the digitally SATO Corporation does not warrant that the functions encoded, machine-readable data and program. The contained in the Software will meet your requirements or term “Software Product” includes the Software that the operation of the Software will be uninterrupted or identified on the distribution media, including any error-free.