An explanation of the district court's holding in Oracle v. Google that the Google's implementation in Android of a portion of the Java API specification did not infringe the copyright in Sun's/Oracle's implementation because the API was not copyrightable
Oracle v Google: How Can You Protect Computer APIsMarc Hubbard
?
The document summarizes a presentation on Oracle v. Google regarding copyright protection of APIs. It discusses the Java and Android APIs, key issues in the case, and fundamental legal principles guiding the court's decision. The court found that the Java API is not copyrightable as copyright law does not protect ideas, processes, or functional elements essential for interoperability. It also noted short phrases and names are not copyrightable.
Legal Protection of APIs – Oracle vs. GoogleNordic APIs
?
This is a session given by Siri M?rtensson at Nordic APIs 2016 Platform Summit on October 26th, in Stockholm Sweden.
Description:
The case Oracle America Inc. vs. Google Inc. has been subject for a number of trials in the US courts and involves a number of questions regarding legal protection of APIs. One of the central issues was whether the “structure, sequence and organization” of an API was copyrightable and it was concluded by the appeals court that Oracles API was protected by copyright. However, in the latest ruling from May 26 2016, the jury found that Android did not infringe the Oracle-owned copyrights since Android’s use was protected by the exception of “fair use”. In Europe the starting point is that software and API:s are protected by copyright. However, there are also in Europe a number of exceptions to the scope of protection.
Siri M?rtensson, Delphi Law firm, a lawyer and expert in IT- and Intellectual Property Law gives you an introduction to how APIs can be legally protected.
Java is a programming language and platform that allows developers to write programs once and run them anywhere. The document discusses Java's history, features, and provides examples of Java code. It defines Java as a simple, secure, platform-independent language and describes how to write a basic "Hello World" Java program. It also explains how to set the path variable so Java tools like javac and java can be run from any directory.
Oracle sued Google over its use of Java in the Android operating system. Google acquired Android Inc. in 2005 to develop a mobile software platform and decided to build Android using Java technology to meet its requirements. However, Google did not want to share control with Sun Microsystems, which owned Java. So Google released Android without properly licensing Java, which Oracle later acquired from Sun. The lawsuit centers on whether Google infringed on Oracle's copyrights and patents related to Java by its use of Java APIs and class libraries in Android without a license.
The document discusses procedural programming versus object-oriented programming and provides examples using Java. It defines procedural programming as dividing a program into subprocedures that perform specific tasks, with most data shared globally. Object-oriented programming is defined as partitioning memory for both data and functions using objects. The document then outlines key concepts of OOP like objects, classes, encapsulation, and polymorphism. It provides history on the development of Java and its advantages over C++ as a simpler, safer, and more robust language.
MVC 1.0 is an action-oriented framework building on experience with previous frameworks such as Struts, Spring MVC, VRaptor etc. It is based on JAX-RS, CDI and BeanValidation JavaEE technologies and provides a standard, view specification neutral way to build web applications. Among supported view template frameworks are: JSP, Facelets, Freemarker, Handlebars, Jade, Mustache, Velocity, Thymeleaf, etc.
NOTE: MVC 1.0 JavaEE 8 API Specification is in early draft stage, and is subject to change based on open community process.
The document summarizes a complex case between Oracle and Google regarding Google's use of Java APIs in Android. The US Court of Appeals for the Federal Circuit ruled that Google infringed Oracle's copyright by copying the Java APIs. However, the case was remanded to determine if Google's actions were permitted under fair use. The Supreme Court declined to hear Google's appeal. The ruling could impact interoperability between software and allow copyright to control platforms that become industry standards, but ensures returns on software development.
The document provides an overview of the Java programming language, including its history, core concepts, and execution process. Some key points:
- Java was created in 1991 by James Gosling at Sun Microsystems with an initial focus on embedded systems, but later expanded to web applications due to the rise of the Internet.
- The Java platform consists of the Java programming language, Java Virtual Machine (JVM), and Java Application Programming Interfaces (APIs). The JVM allows Java programs to run on any hardware/software platform.
- A Java program is compiled into bytecode that can be executed by any JVM, providing platform independence. The execution involves compiling the source code and then interpreting the bytecode on
In this session you will learn:
1. Principles of Object-Oriented Programming
2. Writing your first Java Application
3. Elements of Java programming language
4. Built in Data Types
5. Conditional Statements
6. Loops
The API copyright question is back in the news these days. By declining to hear the high-profile Oracle v. Google case, the Supreme Court recently upheld a lower-court ruling that the Java API is protected by copyright.
What does this mean for developers and IT and business leaders? What do they need to do now when they build or use APIs?
Listen to the podcast version here: http://bit.ly/1gmI13y
Watch the full recording here: http://youtu.be/Awppowtt4EM
In this core java training session, you will learn Elements of Java programming. Topics covered in this session are:
? Quick review of some important concepts from last class
? History of Java
? JDK and JRE
? Byte Code and JVM (Java Virtual Machine)
? Platform Independence
? Principles of Object Oriented Programming
? Writing your first Java Application
? Elements of Java programming language
? Built in Data Types
? Conditional Statements
? Loops
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
Google v Oracle: The Future of Software and Fair UseAurora Consulting
?
Breaks down Google v. Oracle and what it means for the future of software development and fair use. This legal contest has been heralded as the “World Series of IP cases” and the “copyright case of the decade”.
It’s a landmark case, 11 years in the making, between two industry heavyweights – Google, the undisputed king of search and mobile operating system market share, accused of both patent and copyright infringement against Oracle, the owner of the ubiquitous Java API.
?At stake is a winner take or keep-all purse of $9 billion in damages and a Supreme Court ruling that will dictate the future of software interface copyright law. Ashley Sloat, President & Director of Patent Strategy here?? at Aurora, serves as your guide, cutting through 11 years of case law, 3 trials, 2 appeals, and endless technology metaphors, all in an illuminating IP conversation that runs the gamut from patent infringement to copyright violation and ultimately settles on a matter of fair use doctrine.
Blog: https://www.aurorapatents.com/blog/new-podcast-google-v-oracle
Podcast: https://patentlystrategic.buzzsprout.com/1734511/8468565-google-v-oracle-the-future-of-software-and-fair-use
Here are the key differences:
Reserved words: These are words that have special meaning in Java like class, public, etc. They cannot be used as regular identifiers.
Modifiers: Modifiers like public, private, static etc. specify attributes of classes, methods and variables.
Package: A package is a namespace that organizes related classes and interfaces. It provides access protection.
Libraries: Libraries are pre-compiled classes that provide useful functionality that can be included in programs using import statements.
JVM version: The Java Virtual Machine version specifies the Java runtime environment. Programs need to be compatible with the JVM version.
JVM: The Java Virtual Machine is an abstract computing machine that
1) The document discusses Java concepts across 5 doses: the Java Community Process, Java characteristics, terminology, platforms, and frameworks.
2) It covers key Java characteristics like being cross-platform, using object-oriented programming, having robust and good performance, and automatic memory management.
3) Important Java terminology is defined, like the Java Virtual Machine (JVM), Java Runtime Environment (JRE), and Java Development Kit (JDK).
4) The main Java platforms - Java SE, Java ME, and Java EE - are outlined, describing their uses for general applications, limited devices, and enterprise software respectively.
5) Popular Java frameworks for testing, building, GUIs, IDE
The document discusses developing Groovy scripts securely and productively in the cloud for Oracle Application Developer Framework (ADF). It outlines using Groovy AST transformations to add debugging capabilities and runtime security checks when executing scripts in the cloud. Caching is also discussed to improve performance of compiling thousands of scripts across many applications. The implementation transforms the AST to wrap method calls and inject breakpoints while limiting access to restricted APIs.
This document provides guidance on writing Android libraries. It discusses getting started by creating a library module in Android Studio or using the command line. It emphasizes the importance of testing libraries using tools like JUnit, Burst, and Jenkins. The document also covers publishing libraries to Bintray and generating AAR and JAR files. More advanced topics discussed include annotation processing, using the NDK for native code, and including native libraries in the published JAR file. The key takeaways are to embrace Gradle, explore Gradle plugins, automate testing, use Bintray for publishing, and that writing libraries can be very rewarding.
Java 9 is expected to include several new features and changes, including:
- New collection factory methods like Set.of() and Map.of() that provide immutable collections.
- Enhancements to the Stream API such as takeWhile() and dropWhile().
- Syntax changes like allowing effectively final variables in try-with-resources and @SafeVarargs for private methods.
- The addition of JShell to provide a Java REPL.
- Garbage First (G1) garbage collector becoming the default collector.
- Various performance and logging improvements.
The document provides information about Java, including:
- Java is an object-oriented programming language that is platform independent and can be used to create applications for web, desktops, mobile devices, and more.
- Java was originally developed in the early 1990s by James Gosling at Sun Microsystems for use in set-top boxes, but became popular for building web applications and is now widely used.
- The Java Development Kit (JDK) includes tools like javac, java, javadoc and others needed to develop, compile, run and document Java programs, as well as class libraries and documentation. The JVM executes compiled Java code.
This document discusses insecure data storage in Android applications. It provides an overview of common ways Android apps store data, such as Shared Preferences, SQLite databases, and internal/external storage. It notes that malware or physical access could exploit unencrypted or insecurely stored data. The document demonstrates extracting Shared Preference XML files and SQLite databases from an emulator for a banking app as an example of insecure data storage. It recommends storing data on a network/server or encrypting locally stored data on the device to help secure apps.
The document provides an introduction to Java programming concepts including an overview of the Java platform, setting up a development environment, writing a first Java application, Java language elements, object-oriented programming concepts, and more. Key topics covered include the history and principles of Java, how to set up Eclipse, writing and running a "Hello World" program, Java syntax like variables and control structures, object-oriented concepts like classes and inheritance, and Java APIs and tools.
1 Project 2 Introduction - the SeaPort Project seri.docxhoney725342
?
1
Project 2
Introduction - the SeaPort Project series
For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports.
Here are the classes and their instance variables we wish to define:
? SeaPortProgram extends JFrame
o variables used by the GUI interface
o world: World
? Thing implement Comparable <Thing>
o index: int
o name: String
o parent: int
? World extends Thing
o ports: ArrayList <SeaPort>
o time: PortTime
? SeaPort extends Thing
o docks: ArrayList <Dock>
o que: ArrayList <Ship> // the list of ships waiting to dock
o ships: ArrayList <Ship> // a list of all the ships at this port
o persons: ArrayList <Person> // people with skills at this port
? Dock extends Thing
o ship: Ship
? Ship extends Thing
o arrivalTime, dockTime: PortTime
o draft, length, weight, width: double
o jobs: ArrayList <Job>
? PassengerShip extends Ship
o numberOfOccupiedRooms: int
o numberOfPassengers: int
o numberOfRooms: int
? CargoShip extends Ship
o cargoValue: double
o cargoVolume: double
o cargoWeight: double
? Person extends Thing
o skill: String
? Job extends Thing - optional till Projects 3 and 4
o duration: double
o requirements: ArrayList <String>
// should be some of the skills of the persons
? PortTime
o time: int
Eventually, in Projects 3 and 4, you will be asked to show the progress of the jobs using JProgressBar's.
2
Here's a very quick overview of all projects:
1. Read a data file, create the internal data structure, create a GUI to display the structure, and let
the user search the structure.
2. Sort the structure, use hash maps to create the structure more efficiently.
3. Create a thread for each job, cannot run until a ship has a dock, create a GUI to show the
progress of each job.
4. Simulate competing for resources (persons with particular skills) for each job.
Project 2 General Objectives
Project 2 - Map class, Comparator, sorting
? Use the JDK Map class to write more efficient code when constructing the internal data
structures from the data file.
? Implement SORTING using the Comparator interface together with the JDK support for sorting
data structures, thus sorting on different fields of the classes from Project 1.
? Extend the GUI from Project 1 to let the user sort the data at run-time.
Documentation Requirements:
You should start working on a documentation file before you do anything else with these projects, and
fill in items as you go along. Leaving the documentation until the project is finished is not a good idea for
any number of reasons.
The documentation should include the following (graded) elements:
? Cover page (including name, date, project, your class information)
? Design
o including a UML class diagram
o classes, variables and methods: what they mean and why they are there
o tied to the requirements of the project
? User's Guide
o how would a user start and run your pro ...
Null Mumbai Meet_Android Reverse Engineering by Samrat Dasnullowaspmumbai
?
Android Reverse Engineering by Samrat Das
Abstract
? Intro to Reverse Engineering
? Short walkthough with Windows RE
? Introduction to Mobile Security Assessments
? Dalvik Virtual Machine vs JVM
? APK Walkthrough
? Components of Android
? Steps of Reverse Engineering Android Applications
? Hands-on demos on manual reversing of android apps
? Introduction to APPuse VM for droid assessments
? Detecting developer backdoors
? Creating Infected Android Applications
? Anti-Reversing | Obfuscation
This document provides an introduction to Java and object-oriented programming concepts. It discusses how Java was designed to develop advanced software for network devices and systems. It then defines Java as an object-oriented programming language where code written to model real-world objects is called a class. The document also explains key object-oriented programming concepts like classes, objects, encapsulation, inheritance and polymorphism. It provides details on the object lifecycle of creation, usage and disposal in Java.
Java was conceived as a language for developing advanced software across a variety of network devices and systems. It draws influence from languages like C++ and aims to provide a platform for developing secure, high-performance, robust applications across multiple platforms in distributed networks. Java uses object-oriented programming, with classes and objects modeling real-world entities. A Java program consists of classes with fields and methods, and it must contain a main method where execution begins. Variables are used to store and manipulate data in a program.
John Halpern, cofounder of Bain Capital, Sued for Sexual Assaultlunaticsumon
?
Plaintiff Christopher Michael Ausnit (hereinafter “Plaintiff”) was sexually assaulted and abused by Defendant John Dale Halpern (hereinafter “Defendant”) multiple times during an extensive and extenuating period of time, ranging between 1972 and 1994, approximately. The abuse was systematic, repetitive, horrific, outrageous, and spanned from when the Plaintiff was a minor, to adulthood, causing extensive psychological trauma and emotional distress.
This blog explores the Disaster Management Act, 2005, outlining its legal framework, key institutions, and case laws. It highlights challenges like funding gaps and coordination issues while showcasing improvements through NDRF. The document emphasizes proactive disaster response and preparedness. Suggestions include better coordination, increased investment, and technology use.
More Related Content
Similar to Oracle v. Google: Deciphering the district court’s decision of no copyright protection for computer APIs AIPLA 2013 (20)
In this session you will learn:
1. Principles of Object-Oriented Programming
2. Writing your first Java Application
3. Elements of Java programming language
4. Built in Data Types
5. Conditional Statements
6. Loops
The API copyright question is back in the news these days. By declining to hear the high-profile Oracle v. Google case, the Supreme Court recently upheld a lower-court ruling that the Java API is protected by copyright.
What does this mean for developers and IT and business leaders? What do they need to do now when they build or use APIs?
Listen to the podcast version here: http://bit.ly/1gmI13y
Watch the full recording here: http://youtu.be/Awppowtt4EM
In this core java training session, you will learn Elements of Java programming. Topics covered in this session are:
? Quick review of some important concepts from last class
? History of Java
? JDK and JRE
? Byte Code and JVM (Java Virtual Machine)
? Platform Independence
? Principles of Object Oriented Programming
? Writing your first Java Application
? Elements of Java programming language
? Built in Data Types
? Conditional Statements
? Loops
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
Google v Oracle: The Future of Software and Fair UseAurora Consulting
?
Breaks down Google v. Oracle and what it means for the future of software development and fair use. This legal contest has been heralded as the “World Series of IP cases” and the “copyright case of the decade”.
It’s a landmark case, 11 years in the making, between two industry heavyweights – Google, the undisputed king of search and mobile operating system market share, accused of both patent and copyright infringement against Oracle, the owner of the ubiquitous Java API.
?At stake is a winner take or keep-all purse of $9 billion in damages and a Supreme Court ruling that will dictate the future of software interface copyright law. Ashley Sloat, President & Director of Patent Strategy here?? at Aurora, serves as your guide, cutting through 11 years of case law, 3 trials, 2 appeals, and endless technology metaphors, all in an illuminating IP conversation that runs the gamut from patent infringement to copyright violation and ultimately settles on a matter of fair use doctrine.
Blog: https://www.aurorapatents.com/blog/new-podcast-google-v-oracle
Podcast: https://patentlystrategic.buzzsprout.com/1734511/8468565-google-v-oracle-the-future-of-software-and-fair-use
Here are the key differences:
Reserved words: These are words that have special meaning in Java like class, public, etc. They cannot be used as regular identifiers.
Modifiers: Modifiers like public, private, static etc. specify attributes of classes, methods and variables.
Package: A package is a namespace that organizes related classes and interfaces. It provides access protection.
Libraries: Libraries are pre-compiled classes that provide useful functionality that can be included in programs using import statements.
JVM version: The Java Virtual Machine version specifies the Java runtime environment. Programs need to be compatible with the JVM version.
JVM: The Java Virtual Machine is an abstract computing machine that
1) The document discusses Java concepts across 5 doses: the Java Community Process, Java characteristics, terminology, platforms, and frameworks.
2) It covers key Java characteristics like being cross-platform, using object-oriented programming, having robust and good performance, and automatic memory management.
3) Important Java terminology is defined, like the Java Virtual Machine (JVM), Java Runtime Environment (JRE), and Java Development Kit (JDK).
4) The main Java platforms - Java SE, Java ME, and Java EE - are outlined, describing their uses for general applications, limited devices, and enterprise software respectively.
5) Popular Java frameworks for testing, building, GUIs, IDE
The document discusses developing Groovy scripts securely and productively in the cloud for Oracle Application Developer Framework (ADF). It outlines using Groovy AST transformations to add debugging capabilities and runtime security checks when executing scripts in the cloud. Caching is also discussed to improve performance of compiling thousands of scripts across many applications. The implementation transforms the AST to wrap method calls and inject breakpoints while limiting access to restricted APIs.
This document provides guidance on writing Android libraries. It discusses getting started by creating a library module in Android Studio or using the command line. It emphasizes the importance of testing libraries using tools like JUnit, Burst, and Jenkins. The document also covers publishing libraries to Bintray and generating AAR and JAR files. More advanced topics discussed include annotation processing, using the NDK for native code, and including native libraries in the published JAR file. The key takeaways are to embrace Gradle, explore Gradle plugins, automate testing, use Bintray for publishing, and that writing libraries can be very rewarding.
Java 9 is expected to include several new features and changes, including:
- New collection factory methods like Set.of() and Map.of() that provide immutable collections.
- Enhancements to the Stream API such as takeWhile() and dropWhile().
- Syntax changes like allowing effectively final variables in try-with-resources and @SafeVarargs for private methods.
- The addition of JShell to provide a Java REPL.
- Garbage First (G1) garbage collector becoming the default collector.
- Various performance and logging improvements.
The document provides information about Java, including:
- Java is an object-oriented programming language that is platform independent and can be used to create applications for web, desktops, mobile devices, and more.
- Java was originally developed in the early 1990s by James Gosling at Sun Microsystems for use in set-top boxes, but became popular for building web applications and is now widely used.
- The Java Development Kit (JDK) includes tools like javac, java, javadoc and others needed to develop, compile, run and document Java programs, as well as class libraries and documentation. The JVM executes compiled Java code.
This document discusses insecure data storage in Android applications. It provides an overview of common ways Android apps store data, such as Shared Preferences, SQLite databases, and internal/external storage. It notes that malware or physical access could exploit unencrypted or insecurely stored data. The document demonstrates extracting Shared Preference XML files and SQLite databases from an emulator for a banking app as an example of insecure data storage. It recommends storing data on a network/server or encrypting locally stored data on the device to help secure apps.
The document provides an introduction to Java programming concepts including an overview of the Java platform, setting up a development environment, writing a first Java application, Java language elements, object-oriented programming concepts, and more. Key topics covered include the history and principles of Java, how to set up Eclipse, writing and running a "Hello World" program, Java syntax like variables and control structures, object-oriented concepts like classes and inheritance, and Java APIs and tools.
1 Project 2 Introduction - the SeaPort Project seri.docxhoney725342
?
1
Project 2
Introduction - the SeaPort Project series
For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports.
Here are the classes and their instance variables we wish to define:
? SeaPortProgram extends JFrame
o variables used by the GUI interface
o world: World
? Thing implement Comparable <Thing>
o index: int
o name: String
o parent: int
? World extends Thing
o ports: ArrayList <SeaPort>
o time: PortTime
? SeaPort extends Thing
o docks: ArrayList <Dock>
o que: ArrayList <Ship> // the list of ships waiting to dock
o ships: ArrayList <Ship> // a list of all the ships at this port
o persons: ArrayList <Person> // people with skills at this port
? Dock extends Thing
o ship: Ship
? Ship extends Thing
o arrivalTime, dockTime: PortTime
o draft, length, weight, width: double
o jobs: ArrayList <Job>
? PassengerShip extends Ship
o numberOfOccupiedRooms: int
o numberOfPassengers: int
o numberOfRooms: int
? CargoShip extends Ship
o cargoValue: double
o cargoVolume: double
o cargoWeight: double
? Person extends Thing
o skill: String
? Job extends Thing - optional till Projects 3 and 4
o duration: double
o requirements: ArrayList <String>
// should be some of the skills of the persons
? PortTime
o time: int
Eventually, in Projects 3 and 4, you will be asked to show the progress of the jobs using JProgressBar's.
2
Here's a very quick overview of all projects:
1. Read a data file, create the internal data structure, create a GUI to display the structure, and let
the user search the structure.
2. Sort the structure, use hash maps to create the structure more efficiently.
3. Create a thread for each job, cannot run until a ship has a dock, create a GUI to show the
progress of each job.
4. Simulate competing for resources (persons with particular skills) for each job.
Project 2 General Objectives
Project 2 - Map class, Comparator, sorting
? Use the JDK Map class to write more efficient code when constructing the internal data
structures from the data file.
? Implement SORTING using the Comparator interface together with the JDK support for sorting
data structures, thus sorting on different fields of the classes from Project 1.
? Extend the GUI from Project 1 to let the user sort the data at run-time.
Documentation Requirements:
You should start working on a documentation file before you do anything else with these projects, and
fill in items as you go along. Leaving the documentation until the project is finished is not a good idea for
any number of reasons.
The documentation should include the following (graded) elements:
? Cover page (including name, date, project, your class information)
? Design
o including a UML class diagram
o classes, variables and methods: what they mean and why they are there
o tied to the requirements of the project
? User's Guide
o how would a user start and run your pro ...
Null Mumbai Meet_Android Reverse Engineering by Samrat Dasnullowaspmumbai
?
Android Reverse Engineering by Samrat Das
Abstract
? Intro to Reverse Engineering
? Short walkthough with Windows RE
? Introduction to Mobile Security Assessments
? Dalvik Virtual Machine vs JVM
? APK Walkthrough
? Components of Android
? Steps of Reverse Engineering Android Applications
? Hands-on demos on manual reversing of android apps
? Introduction to APPuse VM for droid assessments
? Detecting developer backdoors
? Creating Infected Android Applications
? Anti-Reversing | Obfuscation
This document provides an introduction to Java and object-oriented programming concepts. It discusses how Java was designed to develop advanced software for network devices and systems. It then defines Java as an object-oriented programming language where code written to model real-world objects is called a class. The document also explains key object-oriented programming concepts like classes, objects, encapsulation, inheritance and polymorphism. It provides details on the object lifecycle of creation, usage and disposal in Java.
Java was conceived as a language for developing advanced software across a variety of network devices and systems. It draws influence from languages like C++ and aims to provide a platform for developing secure, high-performance, robust applications across multiple platforms in distributed networks. Java uses object-oriented programming, with classes and objects modeling real-world entities. A Java program consists of classes with fields and methods, and it must contain a main method where execution begins. Variables are used to store and manipulate data in a program.
John Halpern, cofounder of Bain Capital, Sued for Sexual Assaultlunaticsumon
?
Plaintiff Christopher Michael Ausnit (hereinafter “Plaintiff”) was sexually assaulted and abused by Defendant John Dale Halpern (hereinafter “Defendant”) multiple times during an extensive and extenuating period of time, ranging between 1972 and 1994, approximately. The abuse was systematic, repetitive, horrific, outrageous, and spanned from when the Plaintiff was a minor, to adulthood, causing extensive psychological trauma and emotional distress.
This blog explores the Disaster Management Act, 2005, outlining its legal framework, key institutions, and case laws. It highlights challenges like funding gaps and coordination issues while showcasing improvements through NDRF. The document emphasizes proactive disaster response and preparedness. Suggestions include better coordination, increased investment, and technology use.
John Halpern, cofounder of Bain Capital, Sued for Sexual Assault.pdflunaticsumon
?
Plaintiff Christopher Michael Ausnit (hereinafter “Plaintiff”) was sexually assaulted and abused by Defendant John Dale Halpern (hereinafter “Defendant”) multiple times during an extensive and extenuating period of time, ranging between 1972 and 1994, approximately. The abuse was systematic, repetitive, horrific, outrageous, and spanned from when the Plaintiff was a minor, to adulthood, causing extensive psychological trauma and emotional distress.
Master the art of persuasive debate with the 10 Golden Rules of Argumentation! Whether you're in a legal discussion, a business negotiation, or an everyday conversation, strong argumentation skills are essential. In this video, we break down the key principles that help you construct logical, compelling, and well-structured arguments.
? Learn how to present your points effectively
? Avoid common logical fallacies
? Strengthen your critical thinking skills
Brought to you by BrydonLaw, a trusted name among lawyers in Jefferson City, MO, this guide will help you argue with confidence and clarity. Watch now and elevate your debate skills!
Terrorism Risk Insurance Program 2025 Data CallJasonSchupp1
?
For many years, CBI has raised concern that only a small number of captive insurance companies participating in the program respond to Treasury’s compulsory data calls such as the one subject to this Notice. Treasury has been generally dismissive of CBI’s concerns. CBI again raises this concern coupled supported by data from the National Association of Insurance Commissioners and Treasury’s own analysis suggesting that Treasury’s data collection reaches at most one-third of all participating captive insurers.
Captive insurance companies are insurers formed to insure the risks of their corporate owners. Because only large businesses have the resources to form captives, captive insurance company performance under the program is a fair proxy for determining the extent to which program benefits flow to large corporations (i.e., through their participating captives) or to small and medium businesses (i.e., through traditional insurers).
While representing a relatively small amount of direct written premium covered by the program, captives play an outsized role in the receipt of potential benefits under the program. Based on Treasury’s own reporting, captives represent a mere 5% of the program’s premium but are expected to receive up to 95% of any benefits paid out under the program. Given the low response rate of captives to Treasury’s data call, even this extraordinary proportion understates the dominance of captive insurance companies (and of their large corporate parents) in the consumption of program benefits.
More complete collection of data from captive insurers would surely reveal that closer to 99% of program benefits flow to large corporations through their participating captive insurance subsidiaries, while small and medium sized businesses receive nearly no benefits under the program. CBI suggests that through outreach to state licensed or registered captive managers Treasury would be in a better position to fulfill its statutory mandate to report on the effectiveness of the program.
A New Lens on Justice_ The Impact of Trauma-Informed Approaches in Criminal J...Jolene Maloney
?
Adopting these practices requires training and a shift in mindset for police officers, attorneys, judges, and corrections officers. Training focuses on enhancing empathy, improving communication skills, and implementing de-escalation techniques to prevent re-traumatization of individuals in the criminal justice system. Moreover, it encourages professionals to consider alternatives to incarceration, such as diversion programs and therapeutic interventions, which can provide the necessary support and rehabilitation.
Losing my husband, Franklin Kurchinski, was heartbreaking, but I never expected the legal battle that followed. He and I worked hard for over two decades and had a premarital agreement and two daughters together, “Jacque and Cici”. After his passing, the probate process drained the estate he left behind in Florida, USA.
This was my first time in court, and I had no legal experience. After a year, I realized that probate is a “Land of Fees”—a system where lawyers and court officials profit while grieving families suffer. Franklin never wanted his estate to go to probate. He wrote multiple wills and a trust, but despite these legal documents, nothing could prevent his estate from entering probate.
I am sharing my story to help other families avoid the same mistakes and protect their assets.
This ebook will provide you with creative tools for conducting cross-examination. From achieving basic witness control to becoming more in tune to the subtle nuances of space and proximity in the courtroom and how to use these to your advantage, I share with you some of the lessons that I’ve learned over the last two decades as a criminal defense attorney. Ironically, some of the things that we as lawyers overlook or only address in passing can be just as important, if not more, than the things that we spend the most time preparing. This ebook will reduce these techniques to simple, easy to apply rules that can be referred to before and during trial preparation.
Agency - Definition - Requisites – Kinds - Creation of Agency - Rights and duties of agent. Delegation, scope of agent’s authority, relaxation of principal with third parties - Position of principal and agent in relation to third parties - Personal liability of agent - Termination of agency Identification of different kinds of agency transactions in day to day life in the commercial world; Liability of the principal for acts of the agent including misconduct and tort of the agent Liability of the agent towards the principal. Personal liability towards the parties - Methods of termination of agency contract - Liability of the principal and agent before and after such termination.
Aligning AML/CFT Program with FATF's Grey List Updates.pdftechnovisors
?
Businesses in the UAE are required to maintain robust and risk-based AML/CFT and CPF policies and controls.
Our in-house AML Expert, Dipali Vora, broached upon the subject of
FATF Basics, such as what FATF is and its primary objectives
What are FATF Grey List and Blacklist
Reasons for Grey List Updates
FATF Grey List Update and its Impact on Compliance Obligations?
Action Items for FIs, DNFBPs and VASPs consequent to changes in the FATF Grey List in the context of the following AML, CFT and CPF Control Measures such as:
Enterprise-Wide Risk Assessment (EWRA)?
AML/CFT/CPF Policies and Procedures
Customer Due Diligence (CDD) Measures Concerning Customers or Suppliers Associated with?FATF Greylisted Jurisdictions
Recalibrating Configuration of AML Software Solutions
Challenges and Best Practices when integrating Grey List changes into the AML/CFT Program along with Practical Implementation RoadMap.
Additionally, the webinar was packed with real-time scenario-based quizzes, engaging the audience.
Watch the webinar recording on YouTube now and broaden your horizon regarding the essential role of FATF in combatting ML, FT, and PF risks on a global level while developing an insight into how the changes in the Grey List have a ripple effect on a business’s AML compliance obligations.
Rhetoric began as a civic art in Ancient Greece where students were trained to develop tactics of oratorical persuasion, especially in legal disputes. It is incredibly powerful but underused today. In this ebook, I will introduce you to the different types of rhetorical devices to help make your arguments leave a lasting impression on the jury.
Therefore, in our considered view, there is no impediment in giving approval to the
Resolution Plan submitted by M/s. Malhotra Group PLC read with affidavits dated
02.11.2021 and dated 26.04.2023 filed by the Applicant and affidavit dated 25.04.2023 filed by the SRA wherein the SRA has undertaken to unconditionally
fund the entire CIRP cost regardless of the amounts.
Oracle v. Google: Deciphering the district court’s decision of no copyright protection for computer APIs AIPLA 2013
1. Oracle v. Google
Deciphering the district court’s decision of no copyright
protection for computer APIs
American Intellectual Property Law Association
2013 Annual Meeting
Marc A. Hubbard
Hubbard Law PLLC
mhubbard@hubbardip.com
3. What is Java?
An object-oriented programming language
?Write source code in Java and compile into a platform independent object
code called “bytecode”
A software platform enabling “write once, run anywhere”
? A “virtual machine” (one for each OS/hardware platform) (“JVM”)
? Interprets (executes) programs written in Java, thus providing the
abstraction layer necessary to achieve platform independence for
applications
? An extensible application programming interface (API)
? Comprised of multiple libraries, referred to as “packages,” of previously
written software (classes and interfaces) that provide “core” functions
that can be called by applications in written Java and running on a Java
virtual machine
3
5. Java object oriented programming
METHOD — a function that can be called by another part of the program
or by, for example, another application program is referred to as a
“method”
5
? A method must be a member of a class
CLASS — a blueprint for an “object” that will be created upon execution of
the program
? Each object has a “state” = data stored in fields in memory
? Each object exhibits behavior = methods
PACKAGE — related classes organized into namespaces called “packages”
6. Java class file example
6
public class Bicycle {
// the Bicycle class has
// three fields
public int cadence;
public int gear;
public int speed;
// the Bicycle class has
// one constructor
public Bicycle(int startCadence, int startSpeed,
int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
// the Bicycle class has
// four methods
public void setCadence(int newValue) {
cadence = newValue;
}
public void setGear(int newValue) {
gear = newValue;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
}
Declaration of the class and
start of body of class
Declaration of data fields and
their types for the class
Constructor “ instantiates” an
object in memory with initial
values
Declaration of method
Body of Method
7. Java API
A library of prewritten programs that perform common
tasks or functions likely to be used application
developers.
The API’s specification defines how the services of library
are called by another program: names, types of inputs,
output returned, exceptions, etc.
Very helpful to application programmers
7
8. Java API classes
Simplified example of package, class, method within
API
Part of body of method in class file of an application calling
method
8
int a = java.lang.Math.max (2, 3);
Calling method “max” with
arguments “2” and “3”
package java.lang;
public class Math {
public static int max (int x, int y) {
if (x > y) return x ;
else return y ;
}
}
Declares package “java.lang”
Declares class “java.lang.math”
Declares method “java.lang.math.max”
Body of method
9. Oracle’s Java API
In 1996, API had 8 packages
Sun and the Java Community Process developed standard
specifications for Java classes and methods
By 2008, API had 166 packages, containing over 600
classes with over 6000 methods
Copyright in API implementation registered as a single
work
9
10. Android
A complete software stack for mobile devices that is
open source and without license fees
?Application programs are written using Java language
?Virtual machine (called “Dalvick”) interprets Java bytecode
(.class or .jar file) that has been modified (into a “.dex” file)
?A library written in Java implements 37 of Java’s 166
packages
10
11. Android System Architecture
11
Blue = written in Java
API of core
packages
Google’s version
of the Java virtual
machine
12. Replicated elements
Replicated elements freely* chosen by Google —
?Names — names of packages, classes, methods, and arguments
generally identical
? Structure or arrangement of methods into classes, and classes into
packages
? Functions implemented — including inputs and outputs
*3 packages arguably essential to use of Java language. Other
names and organization chosen for convenience of
programmers?
12
13. Replicated elements
Replicated elements prescribed by Java language —
?Form of declaration statements for packages, classes and
methods, and of calls to methods
?“Throw” statements (for generating exceptions)
?Standard terms (e.g. “public,” “private,” “static”)
?Types of values (e.g. “int”, “boolean,” “char,” and “string”)
13
14. Dissimilarities
The body of the methods — the “implementation”
?Lines of program instructions that implement actual
functionality of the method
Net result:
?3% of the lines in the 37 packages of the Android API are
identical to Java API
?97% of the lines are dissimilar
14
15. Time line of events preceding lawsuit
1996 — Java released by Sun Microsystems
2005 — Google acquires Android; begins negotiations
with Sun to license Java
2007 — Google releases Andriod
2010 (early) — Oracle acquires Sun
2010 (late) — Oracle sues Google in N.D. Calf. (Alsup, J.)
for patent and copyright infringement
15
16. Oracle’s position
Allowing copying of specification for the Java API leads
allow for “fragmentation” / Balkanization of platforms
API specification protectable under SSO theory (Whelan
and Johnson Controls) and as a taxonomy (American Dental
Association)
?Structure of packages/classes/methods were creative and
expressive
?Organization of methods into classes and packages like a
taxonomy
16
17. Google’s position
Programmed its own implementation of an API and VM
Any copying was privileged fair use or de minimus
Copied elements of Java API constitute an unprotectable
method of operation
17
18. Jury trial
(1) Phase 1: copyright infringement
Copyrightability assumed.
Jury finds that Android API infringed copyright in Java API and
rejects defenses of de minimus copying and fair use
(2) Phase 2: no patent infringement
Judge Alsup rules on protectability of replicated elements
after trial
18
19. Main issue in May 31, 2012 order
“While Google took care to provide fresh line-by-line
implementations (the 97 percent), it generally replicated
the overall name organization and functionality of 37
packages in the Java API (the 3 percent). The main issue
addressed herein is whether this violated the Copyright
Act and more fundamentally whether the replicated
elements were copyrightable in the first place.”
— Judge Alsup
19
20. Court’s distillation of legal principles
Idea/Expression dichotomy
? No idea, procedure, process, system, method of operation, concept regardless of the form
20
cannot be protected — cites17 U.S.C. §102(b); Baker v. Seldon.
Merger doctrine
? When there is only one or just a few ways to express something, no one can claim ownership
of such expression by copyright.
Names and short phrases doctrine
? Names and short phrases are not copyrightable in 9th Circuit — cites 37 C.F.R. 202.1(a); Sega
v. Accolade (9th Cir. 1992)
No “sweat of the brow”
? Court should not yield to temptation to find copyrightability merely to reward an investment
in a body of intellectual property — cites Feist Publications, Inc. (1991).
21. Court criticizes structure, sequence,
organization (SSO) theory
Now disfavored in 9th and other circuits. See Sega v. Accolade,
Inc. (9th Cir. 1992)
Fails to recognize the danger of conferring monopoly by
copyright on what Congress had expressly warned should only
be granted by patent. Cites Sega
Effectively an assertion of exclusive rights to functional system
or method of operation belonging in the realm of patents
Whelan and Johnson Controls took “too narrow a view of the
‘idea’”
21
22. Court chooses abstraction, filtration and
comparison analysis
Developed in Computer Associates v. Altai (2d Cir 1992); followed by
Apple v. Microsoft (9th Cir. 1994)
Abstraction: dissect program according to its varying levels of generality to
provide a framework
Filtration: examine each level of generality or abstraction in order to filter
out those elements of the program which are unprotectable.
Comparison: compare remaining protectable elements with the allegedly
infringing work to determine whether the defendants have misappropriated
substantial elements of the plaintiff’s work.
22
23. Unprotectable elements that are filtered
Structure based on “practical considerations”
Structures dictated by external factors
? “Standard techniques”
? Extrinsic considerations such a computer hardware, compatibility
requirements with other programs, demands of industry being
serviced, widely accepted programming practices, hardware
standards, software standards, mechanical specifications
Structures already found in public domain
23
24. Court’s responses to Oracle’s arguments
Copied elements are an arrangement of packages, classes,
names that are a taxonomy, and taxonomies can be protected
?Court: yes, but if the use of the same taxonomy or command
structure if necessary to achieve interoperability, it has to be a
method of operation
Sequence, structure and organization of a program are
protectable in 9th Circuit (Whelan, 1986; Johnson Controls, 1989)
?Court: yes, but not when they constitute a method of operation
24
25. Holding 1
Specification for each method is an idea, and anyone may use its own
code to implement method specification, including inputs, outputs, etc.
?Names of individual methods, classes and packages not protectable
25
under the short names doctrine
?The declarations of the methods and classes, save for the argument
names, are dictated by syntax of Java and therefor must be identical
(except choices of argument names). There is only one way to write
them.
?The names and declarations account most of the 3% of similar code
26. Holding 1
“The method specification was the idea. The method
implementation is the expression. No one may monopolize
the idea.”
“In sum, Google and the public were and remain free to write
their own implementations to carry out exactly the same
functions of all methods in question, using exactly the same
method specifications and names.”
26
27. Holding 2
Overall system of organization of methods not protectable
?Arrangement of methods into classes, and classes into packages
27
involved creativity and resembles a taxonomy, but it is
nevertheless a command structure or system or method of
operation
?Google replicated what was necessary, but not more than
necessary, to achieve interoperability
?Oracle’s fears of fragmentation and imperfect interoperability
arising from incomplete implementation of API tends to confirm
that it is a method of operation
28. Concluding thoughts
Court was concerned with the extrinsic effects of copyright
law protecting elements of software necessary to allow for
interoperability
? Preventing two works (software programs) from interacting was
tantamount to an exclusive right on method of operation
Specifications for an API, file format, etc. generally exist to
achieve interoperability between work and other works.
?All API specifications not protectable?
28
29. Contact Information
Marc A. Hubbard
Hubbard Law PLLC
4848 Greenville Ave, Suite 1490
Dallas, Texas 75206
(214) 396-6001 direct
mhubbard@hubbardip.com
www.hubbardip.com
? 2013 Marc A. Hubbard
29
Editor's Notes
#5: An object-oriented programming language
Write source code in Java and compile into a platform independent object code called “bytecode”
A software platform for “write once, run anywhere”
A “virtual machine” (one for each OS/hardware platform) (“JVM”)
Interprets (executes) programs written in Java
Provides the abstraction layer necessary to achieve platform independence for applications
An extensible application programming interface (API)
Comprised of multiple libraries, referred to as “packages,” of previously written software (classes and interfaces) that provide “core” functions that can be called by applications in written Java and running on a Java virtual machine
#6: Every Java program must have one class with one method
A class may implement more than one method
A package is a namespace that organizes which related classes and interfaces
#17: American Dental Association v. Delta Dental Plans Association (7th Cir. 1997)
#21: Baker v. Seldon (1879)
Book on new system of double-entry accounting, which included blank form
Infringer made use of method of bookkeeping, but used different forms.
Section 102 (b) of title 17: In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
“Words and short phrases such as names, titles, and slogans; familiar symbols or designs; mere variations of typographic ornamentation, lettering or coloring; mere listing of ingredients or contents;
Sega Enterprises Ltd. v. Accolade, Inc., 977 F.2d 1510 (9th Cir. 1992), (a competitor’s use of Sega’s initialization code, consisting of merely of 20 bytes of initialization code plus the letters S-E-G-A, was of de minimis length and therefore likely a “word” or “short phrase” that is not protected)
#23: Originally developed in the Computer Assocs. Int’l, Inc. v. Altai, Inc., 982 F.2d 693 (2nd Cir. 1992) as an aid to analyze to distinguish between unprotectable ideas and protectable expression when comparing software programs for substantially similarity.
#25: Court admits that overall system of organized names of Java API is a taxonomy. American Dental Association v. Delta Dental Plans Association (7th Cir. 1997) (Taxonomy protectable) It is also a command structure for a system or method of operation. Calling a taxonomy does not change this fact. ADA court found that codes in dispute where not a system; they were accompanied by instructions.
Whelan Associates, Inc. v. Jaslow Dental Laboratory, Inc., 797 F.2d 1222 (3d Cir. 1986) (structure of program for managing a dental office was copyrightable because there were many different ways to structure a program to manage a dental laboratory)
Johnson Controls, Inc. v. Phoenix Control Sys., Inc., 886 F.2d 1173, 1175 (9th Cir. 1989)(affirming under abuse of discretion standard finding that SSO of program was protectable expression on grounds that there was evidence that there was room for creativity in expression of functions.)