3 rd Party Software Gail Alverson August 5, 2005.

Slides:



Advertisements
Similar presentations
The Web Wizards Guide to Freeware/Shareware Chapter Six Open Source Software.
Advertisements

1 Use Cases Application provisioning (version control) Workload management/load-balancing (server consolidation) Data Federation/sharing E-utilities (provisioning.
Free Beer and Free Speech Thomas Krichel
 Prof. Dr. M. H. Assal Introduction to Computer AS 26/10/2014.
Facts & Fairy Tales about Open Source Code Presented to: Society for Information Management Fairfield & Westchester Chapter September 18, 2003 Rye Brook,
Open Source Applications Mikko Mustalampi DAP02S.
CS 501: Software Engineering Fall 2000 Lecture 7 Management II Business and Legal Aspects of Software Engineering.
Key Issues in Licensing Software and Associated Intellectual Property: Matching Licensing Models to Business Strategies Steve Mutkoski Regional Director,
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Computer Fundamentals
Open Your Eyes: Open Architecture, Open Source, Open Projects Mid-Atlantic Educause January 12, 2005 Copyright Patricia Gertz This work is the intellectual.
COMP 6005 An Introduction To Computing Session Two: Computer Software Acquiring Software.
CHAPTER 6 OPEN SOURCE SOFTWARE AND FREE SOFTWARE
CSE 403, Winter 2007, Alverson Intellectual Property Gail Alverson.
Open Source for Government Alexander C. Pitzner Sr. Network Engineer Harrisburg University of Science and Technology
Copyright and Software and You. What is copyright? The Copyright Act of 1976 prevents the unauthorized copying of a work of authorship. – However, only.
Is Open Source Software a viable option for private and public organizations? Anthony W. Hamann Tuesday, March 21, 2006.
Licenses A Legal Necessity Copyright © 2015 – Curt Hill.
Intellectual Property Rights An Overview of Laws, Licenses and Copyright Protection A Presentation by Team 9 Perhaps the Greatest Team Ever to Exist…EVER!
Type of Software There are two main types of software They are System software Application software Hardware System Software (OS) Application Software.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Open Source Software An Introduction. The Creation of Software l As you know, programmers create the software that we use l What you may not understand.
1 Patent Rights & Open Source Software Roger G. Brooks April 29,
Benefits of a SUSE ® Subscription Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Outsourcing Software Development While Maintaining Core Competencies Jeff Moskow, President Ready-to-Run Software, Inc. The Industry's Leading Provider.
Principles of Scalable HPC System Design March 6, 2012 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
Chapter 2 – Software Part A. Definition Computer is made up of two components Hardware Physical components Software Instructions for the computer Two.
Seaborg Cerise Wuthrich CMPS Seaborg  Manufactured by IBM  Distributed Memory Parallel Supercomputer  Based on IBM’s SP RS/6000 Architecture.
Section 2 Software.
Accelerating Development Using Open Source Software Black Duck Software Company Presentation.
Open Source Software Bangladesh University of Business and Technology Nizar Saadi Dahir M.Sc. Computer Engineering Computer Center- Kufa University
OPEN SOURCE AND FREE SOFTWARE. What is open source software? What is free software? What is the difference between the two? How the two differs from shareware?
CSE 403, Spring 2007, Alverson Software Architecture “Good software architecture makes the rest of the project easy.” McConnell, Survival Guide.
The Red Storm High Performance Computer March 19, 2008 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
Custom Software Development Intellectual Property and Other Key Issues © 2006 Jeffrey W. Nelson and Iowa Department of Justice (Attach G)
1 Ethical Issues in Computer Science CSCI 328, Fall 2013 Session 17 Software as Intellectual Property.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
ESRIN Earth Observation Program Ground Segment Department 26/09/2015 CEOS-WGISS-40 - Olivier BaroisSlide 1 Open Source Practices.
1 Ethics of Computing MONT 113G, Spring 2012 Session 32 Software as Intellectual Property.
Open Source Software This permits users to use, change, and improve the software, and to redistribute it in modified or unmodified forms. It is very often.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Software Licences HSF Recommendations John Harvey / CERN 24 June 2015
1 Cray Inc. 11/28/2015 Cray Inc Slide 2 Cray Cray Adaptive Supercomputing Vision Cray moves to Linux-base OS Cray Introduces CX1 Cray moves.
Software By : Madam aisha. Hardware: The physical equipment in a computing environment such as the computer and its peripheral devices printers, speakers...
National Alliance for Medical Image Computing Licensing in NAMIC 3 requirements from NCBC RFA (paraphrased)
Cray Environmental Industry Solutions Per Nyberg Earth Sciences Business Manager Annecy CAS2K3 Sept 2003.
 Programming - the process of creating computer programs.
1  The Kroger Co – Copyright 2008 Confidential Customer 1 st Technology Confidential.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
CH-4-Technology Management Assist Prof Banu OZKESER November, 2015.
P1 - Software licenses. Different types of license and software Single-user license Multi-user license Proprietary software Freeware Shareware.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Oracle Proprietary and Confidential. 1.
Opening Windows to a Wider World Why Samba moved to GPLv3 Jeremy Allison Samba Team
Linux Overview Date: 18/09/ Outline What is Operating System Operating System Services Types of Operating System Parts of Operating System Introduction.
Computer System Structures
INTRO. To I.T Razan N. AlShihabi
OPEN SOURCE.
Open Source software Licensing
OPEN SOURCE.
What is Copyright?.
Chapter 2: System Structures
Key Issues in Licensing Software and Associated Intellectual Property: Matching Licensing Models to Business Strategies Steve Mutkoski Regional Director,
Group 8 Virtualization of the Cloud
Many-core Software Development Platforms
FOSS 101 Sarah Glassmeyer Project Specialist Manager,
Chapter 2: The Linux System Part 1
Software Engineering with Reusable Components
Introduction to Computing
APACHE LICENSE HISTORICAL EVOLUTION
Presentation transcript:

3 rd Party Software Gail Alverson August 5, 2005

Outline  Part 1 – Case Study: Story of an engineer  What’s my software engineering history?  Example of Cray software stack/software types  Part 2 – 3 rd party software  What is it?  Why use it – what are the benefits?  And what are the costs?  References

My SW Engineering roles present  Software engineer, libraries and debugger  Designed and implemented components  Worked with a small team  Project lead/Software engineer, libraries and tools  Added responsibility for broader direction of the products  And project assignments/schedule  Manager, programming environments  Stepped back from coding to focus on design and project planning  More management of engineers  More interaction with vendors, customers, and corporate roadmap  Senior Manager, OS and PE components  Project direction, estimation, planning and execution  Integration work and release work  Engineer management, including their career growth

Government-Classified Government-Research Weather/Environmental Automotive Life Sciences Aerospace Academic Research Cray Solutions for: Security Design Engineering Environmental Life Sciences Data Management/SAN Focus on systems to solve huge computationally intense problems Focus on systems to solve huge computationally intense problems Cray Inc.

Boeing has a Cray X1E  X1E is a vector supercomputer, 18GF/s vector nodes  Boeing uses it on an in-house aerospace code - Computational Fluid Dynamics  The X1E allows Boeing to accomplish work that used to take a week, in a single day

I worked most recently on the Red Storm system Massively parallel processing supercomputer system used for analysis and stewardship of nuclear weapons $93M contracted with Sandia National Labs Key system characteristics – 10,000 AMD 2 GHz processors – High bandwidth mesh based custom interconnect – High performance I/O subsystem – Fault tolerant

AllocatorPBS mom Job Launch CompilerPerfToolTotalView Login Node Showmesh Linux Libraries User Space Boot Portals Portals DriverIP Portals Driver SupportRCA RCA daemon Parallel File Systems Support Services & daemons Common Operating System 3 rd Party Cray Sandia Open Source Open Source 3 rd Party Cray Integration 3 rd Party Cray Integration User’s Environment Accounting DBPBS srv Server Node Dedicated Server Functions IO & FS daemons IO Node IO & Network Nodes only FC Driver 10GigE Driver Dedicated Network & External RAID IO Specialized by Node Function Runs on all Service and IO Nodes Red Storm Software Stack illustrates different SW types

What is 3 rd party software?  Software produced by someone/organization outside your company, for a broad set of consumers  Brainstorm examples:  Linux OS  PGI compilers  PBS batch submission system  ACML scientific libraries  MPICH MPI library  JUnit  Eclipse 

Why use 3 rd party software?  Brainstorm motivations:  Function exists, why reinvent the wheel  Less development time  Less development cost  Requested by customers  Others have expertise  Others contribute to the support and evolution 

How can we use it? 1.As a tool in the product development process:  Brainstorm examples: 2.As part of a product being shipped:  Brainstorm examples:

We can try to classify 3 rd party software  Commercial software  Developed, distributed and maintained under a licensing agreement with a vendor, generally for a fee  Free software/Open source software  Software that one may use, copy, modify, redistribute for free, although certain conditions/licenses may apply  Copyright is retained by the author  Public domain software  Total absence of copyright protection  Anyone can copy, modify or use it in any way they wish  Others: freeware, shareware, … [tools]

The hidden costs of using 3 rd party software [in your product] 1. Be very aware of the intellectual property (IP) rights associated with the software, such as:  Copyright – protect an expression of an idea on a medium  Patent – protect an innovation  Trade secret – protect a concept/idea/innovation that is not generally known and has value  License – allow access to otherwise protected software Ask:  Do you have the right to use the software?  Is it important to protect some proprietary code (IP) you’re adding?  Do the IP rights allow you to do this?

 Require a strcpy() function for your product’s proprietary libc  Consider a BSD libc routine and a glibc routine  BSD license – generous  No requirement to distribute your modified source code  Source redistribution requires copyright notices and disclaimers  Binary distribution requires copyright notice and disclaimers in the documentation.  GPL license – infectious  Source must be made available to customers who request it  Your modifications (derivative work) must be included with the source  LGPL, license for libraries is a middle ground Case Study: License

The hidden costs of 3 rd party software (2) 2. Take into account integration costs  Rarely does the software do exactly what you need it to  Typically there is some integration that must occur, and some expertise that must be built inhouse 3. Consider whether additional testing and/or robustification is needed  You’re ultimately responsible 4. Don’t forget to plan for updates  How will you incorporate updates of the 3 rd party software into your version of it?

Compiler product is based on SGI open source code-GPL Ported the code to a new architecture and enhanced its performance  PathScale has built a strong knowledge of the Open Source code and maintains it in-house  They distribute the Open Source components  And engineered the PathScale proprietary code to avoid the GPL code (independent and separate works) and thus does not distribute it Case Study: PathScale

My questions to you  What 3 rd party software did you use in your product?  Are there any requirements of your company [you] by doing this?

Summary  3 rd party software is good!  3 rd party software, in particular those used in your company products, has costs and/or restrictions that must be understood before committing to their use References    