1 Software Licenses, Open Source Components, and Open Architectures Thomas Alspaugh, Hazeline Asuncion, Walt Scacchi Institute for Software Research University.

Slides:



Advertisements
Similar presentations
Open Source Software Development & Commercialisation Developing Lifelong Learner Record Systems and ePortfolios in FE and HE: Planning for, and Coping.
Advertisements

Testing Workflow Purpose
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Copyright 2009 bSolv. All rights reserved Citizen360 Product Overview Introduction to the Citizen360 product suite Version 1.4.
HP Quality Center Overview.
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
OASIS Reference Model for Service Oriented Architecture 1.0
Chandler ISR June Chandler Open Source Personal Information Manager , calendar, contacts, tasks, free-form items Easy sharing and collaboration.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 Issues, Challenges, and Opportunities for Open Source Software Development Walt Scacchi Institute for Software Research University of California, Irvine.
1 Emerging Research Concepts for Very Large-Scale Software Engineering Walt Scacchi Institute for Software Research University of California, Irvine Irvine,
Fundamentals of Information Systems, Second Edition
8-9 May 2000WESAS Experience with Software Architectures and Configured Software Descriptions Walt Scacchi James S. Choi Institute for Software Research.
Open Source WGISS 39. Definition of Open Source Software (OSS)  Open source or open source software (OSS) is any computer software distributed under.
Software Architecture or Component Frameworks? Alexander L. Wolf University of Colorado at Boulder
THE JOINED UP WORLD OF E-RESEARCH Professor Neil McLean National Technical Standards Adviser to the Department of Education Science and Training (DEST)
Learning activities loosely coupled with UCT Andrew Deacon Learning Designer Centre for Educational Technology University of Cape Town.
Computer Systems & Architecture Lesson Software Product Lines.
Complex Security Policies Dave Andersen Advanced Operating Systems Georgia State University.
Architectural Design.
Software Architecture in Practice (3rd Ed) Introduction
Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)
Chapter © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
Patterns of Sustained Collaborative Creativity Across Open Computerization Movements Walt Scacchi Institute for Software Research and Game Culture and.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Licenses A Legal Necessity Copyright © 2015 – Curt Hill.
SOFTWARE ENGINEERING MCS-2 LECTURE # 5. RAD (RAPID APPLICATION DEVELOPMENT) MODEL  In RAD model the components or functions are developed in parallel.
JINR DOCUMENT SERVER: Current Status and Future Plans I. Filozova 1, S. Kuniaev 2, G. Musulmanbekov 1, R. Semenov 1, G. Shestakova 1, P. Ustenko 2, T.Zaikina.
Copyright © IBM Corp., All rights reserved; made available under the EPL v1.0 | March 20, 2008 | Short Talk Standards based systems management: An.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Co-design Environment for Secure Embedded Systems Matt Eby, Janos L. Mathe, Jan Werner, Gabor Karsai, Sandeep Neema, Janos Sztipanovits, Yuan Xue Institute.
SCAPE Scalable Preservation Environments. 2 Its all about scalability! Scalable services for planning and execution of institutional preservation strategies.
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
Panel Three - Small Businesses: Sustaining and Growing a Market Presence Open Interfaces and Market Penetration Protecting Intellectual Innovation and.
A DΙgital Library Infrastructure on Grid EΝabled Technology ETICS Usage in DILIGENT Pedro Andrade
Testing Workflow In the Unified Process and Agile/Scrum processes.
Modeling and Simulating Software Acquisition Process Architectures James Choi and Walt Scacchi Computer Science Dept. Institute for Software Research California.
An Introduction to Software Engineering. Communication Systems.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
Software Licences HSF Recommendations John Harvey / CERN 24 June 2015
1 © NOKIA Functionality and Testing of Policy Control in IP Multimedia Subsystem Skander Chaichee HUT/Nokia Networks Supervisor: Professor Raimo.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.:
Chapter © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
D4Science and ETICS Building and Testing gCube and gCore Pedro Andrade CERN EGEE’08 Conference 25 September 2008 Istanbul (Turkey)
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Systems Architectures System Integration & Architecture.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Software Design and Architecture
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Peter Ziu Northrop Grumman ACS-WG Grid Provisioning Appliance Concept GGF13, March 14, 2005
1 Integration of Process Initiatives And Assessments Common Process Framework Integration of Management System Standards and Initiatives (QMS/CMMI/Lean/PMBP)
The Role of Reflection in Next Generation Middleware
Open Source software Licensing
The Development Process of Web Applications
COMPONENT & DEPLOYMENT DIAGRAMS
Single Point of Entry (SPOE)
Software Connectors – A Taxonomy Approach
MOZILLA LICENSE HISTORICAL EVOLUTION
CS385T Software Engineering Dr.Doaa Sami
Automated Analysis and Code Generation for Domain-Specific Models
Software Development Process Using UML Recap
ONAP Architecture Principle Review
Presentation transcript:

1 Software Licenses, Open Source Components, and Open Architectures Thomas Alspaugh, Hazeline Asuncion, Walt Scacchi Institute for Software Research University of California, Irvine

2 What is an Open Architecture? Open Architecture (OA) systems may include components with open APIs, Open Source Software (OSS) technology or development processes. OSS components are subject to different Intellectual Property (IP) licenses, that impose constraints/conflicts Air Force, Army, and Navy each have their own reasons for adoption OA systems. –But what happens when there are conflicts across the Defense community regarding what an OA is? Therefore, is it clear what an OA is, or how to achieve an OA system?

3 Research Questions What license applies to an OA system composed with OSS elements with different licenses? How do alternative OSS licenses facilitate or inhibit the development of OA systems? How should software license constraints be specified so it is possible to automatically determine the overall set of rights and obligations associated with a configured software system architecture?

4 OA, OSS, and software license analysis Goal: identify software architecture principles and OSS licenses that mediate OA OSS components subject to different IP licenses DoD policies and initiatives encouraging OA with OSS elements How to determine the requirements for how to realize OA strategies with OSS Source: W. Scacchi and T. Alspaugh, Emerging Issues in the Acquisition of Open Source Software within the U.S. Department of Defense, Proc. 5th Annual Acquisition Research Symposium, Vol. 1, , NPS-AM , Naval Postgraduate School, Monterey, CA, 2008.

5 Open Software Architecture Elements Software source code components –Standalone programs –Libraries, frameworks, or middleware –Inter-application script code (e.g., for building subsystems) –Intra-application script code (e.g., for Rich Internet Apps.) Executable software components (binaries) Application program interfaces (APIs) Software connectors Configured sub-system or system

6 Open Architecture Example Legend: Grey boxes are components; ellipses are connectors; white boxes are code interfaces; arrows are data or control flow paths; complete figure is architectural design configuration, denote different kinds of elements.

7 OSS elements subject to different IP licenses Intellectual Property licenses stipulate rights (“can/not do”) and obligations (“must/not do”) regarding IP usage –GPL (Gnu Public License) stipulate right to access, study, modify, and reciprocal obligation to redistribute modified source code –Mozilla now offers a “tri-license” for its software like Firefox: GPL, MPL (lightweight), or Restricted (accommodating proprietary services) –Other OSS covered by different license rights and obligations, thus unclear how to check or enforce!

8 OSS elements subject to different IP licenses How to determine which rights and obligations will apply to a configured system?

9 OSS elements subject to different IP licenses How to determine which rights and obligations will apply to a configured system? –At design-time (maximum flexibility—can employ “license firewalls” for license mitigation) –At build-time (may/not be able to redistribute components at hand) –At run-time (software release may/not need to install/link-to components from other sites or repositories)

10 OSS elements subject to different IP licenses Different times imply different license constraints may apply Different license constraints imply overall system may/not be OA at different times We need to know at all times what license constraints apply, and whether/not we have an OA License analysis with large, complex systems may be intractable for developers, lawyers, PEOs, etc. –Further exacerbated by different time constraints

11 OSS elements subject to different IP licenses Practical requirements : –Need a way to formally specify software license rights and obligations –Need a way to specify and model software system architectures –Need a way to analyze software architectures in terms of license obligations and rights for multi-component systems or sub-systems At architectural design-time At build-time At run-time (including integration with legacy systems) –Need automated support to help meet these needs

12 Solution: Automated OA Design and License Analysis Environment Developed an operational prototype OA design and license environment Demonstrates the ability to satisfy the all of the practical requirements Developed as an extension to the ArchStudio Architecture Design Environment from UC Irvine –

13

14

15

16

17 Discussion What about other OA/OSS problems? –How to determine what license applies to a delivered software system that may have OSS within it? Where is the OSS and is it GPL or not? Requires source code analysis/data mining tools –No external architectural design in hand Possible to semi-automatically generate build-time architecture specification from source code –Automated OA license analysis environment, plus source code analysis/mining, and architecture (re)generation tools, is best bet for addressing these problems

18 Conclusions Identified a fundamental challenge to design, build, and release of OA software systems that include OSS components Identified approach for solving the challenge Demonstrated a prototype automated environment that solves problem at hand Identified other problems that may affect full realization of OA with OSS components

19 Acknowledgements Research supported by the Acquisition Research Program at the Naval Postgraduate School, and Grants # and # from the National Science Foundation No endorsement implied.

20 x z