cs 501: software engineering fall 2000 lecture 7 management ii business and legal aspects of...

22
CS 501: Software Engineering Fall 2000 Lecture 7 Management II Business and Legal Aspects of Software Engineering

Post on 22-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

CS 501: Software EngineeringFall 2000

Lecture 7Management II

Business and Legal Aspects of Software Engineering

2

Administration

• Read instructions for Assignment 2

Schedule presentationGroup and individual assignment

• No office hours next Tuesday

• No recitation session on Monday

• See Notices for Teaching Assistant assignments to projects.

3

Legal Environment

Software is developed in a complex legal and economic framework. Changes in laws follow changes in technical world.

Jurisdictions:

• United States Constitution• International treaties• Federal and state statues• Precedents• Supreme Court• Cost of establishing precedent

4

Legal Topics

• International

• Intellectual property (copyright, patent, contract)

• Tort (e.g., liability of Internet service provider)

• Privacy

• Free speech and its limitations (government secrets, obscenity, blasphemy, hate)

Legal Information Institute: http://www.law.cornell.edu/

5

Copyright

A copyright gives the owner the exclusive right to:

• reproduce

• distribute

• perform

• display

• license

Gradually extended to cover text, music, photographs, designs, software, ...

6

Copyright

Copyright at creation

• Works for hire

• Contracts and licenses

• First sale

• Fair use

• Infringement (contamination)

International differences

• Moral rights

• Copyright registration

7

Software Patents

• Should be: non-obvious, novel, useful

• 17 years from award (20 years from application)

• Poor quality of examining can lead to broad patents for routine computing concepts

• International differences

Copyright applies to the expression of ideas, patents to the ideas themselves.

8

Contracts and Licences

Contracts allow intellectual property to be sold or licensed

• Promise in exchange for adequate consideration

• Written document with signature

• Permanent or temporary, whole or part

• Exclusive or non-exclusive

• Termination, problems and difficulties

• Terms and conditions as agreed

• Enforceable by courts

9

Derivative Works

When software is derived from other software:

• New code is owned by new developer

• Conditions that apply to old code apply to derived work

If you write S, which is derived from A, B, C and D, you can not distribute or licenses S unless you have right to distribute each of A, B, C and D.

To create a software product, you must have documented rights to use every component.

10

Privacy

Invasions of privacy:

• intrusion

• appropriation of name or likeness

• unreasonable publicity

• false light

Be very careful about collecting personal data without the knowledge of the individual

11

Software Business Questions

• You are employed for company X writing software. When you leave, who owns your work? What use can you make of the work?

• You work free-lance for company X. When you finish, who owns your work? What use can you make of the work?

• You are a student on CS 502. What you finish what use can you make of your project work? What use can Cornell make of it?

Read the contract!

12

Your Next Job ...

• Employment contract may restrict your next job (not working for competitors, etc.)

• Trade-secret information (non-disclosure agreement)

Ask when you are interviewed!

13

Trade Secrets and Non-Disclosure Agreements

Trade Secret

"... information, including a formula, pattern, compilation, program, device, method, technique, or process that derives independent economic value from not being generally known and not being readily ascertainable and is subject to reasonable efforts to maintain secrecy."

Uniform Trade Secrets Act

Non-Disclosure Agreement

Legal agreement not to disclose trade secrets.

14

Some Business Models

• Software developed in-house

• Package licensed to customer, binary only (Microsoft model)

• Package licensed to customer, source code for customer's modifications

• Bespoke software for customer (may be owned by supplier or customer)

• Software bundled with hardware product (PalmPilot)

15

Free-Lance Software Development

You and a few friends create a company to develop software.

How much should you charge per hour?

You plan to work 40 hours a week for 50 weeks of the year and want to earn $50,000.

Hourly rate = $50,000 / (40 x 50) = $25

But ...

16

Free-Lance Software Development

Salary $50,000Taxes and benefits $15,000Rent, equipment, etc. $10,000Fees, services, etc. $15,000Travel and misc. $10,000 TOTAL EXPENSE $100,000

Hours worked 2,000less administration 400less marketing 350 BILLABLE HOURS 1,250

Hourly rate = $100,000 /1,250 = $80

17

Fixed and Variable Cost: Packaged Software

Example:

• The initial development cost of a software product is $10 million.

• The cost of packaging and distribution of each copy is $5.

• Technical support costs average $15 per copy.

• The package sells for $200 per copy.

Fixed cost = $10 million

Variable cost = $20

18

Fixed and Variable Costs: Profit or Loss

$15M

$10M

$5M

Unit sales2,500 5,000 7,500

19

Community Development

• Shareware

• Open source (e.g., Linux, Apache, Perl, etc.)

-> Shared development

-> Market penetration

Example: TCP/IP for Vax/VMS

Software may be open source, but packaging and services can be profitable businesses

20

Open Source

• Free redistribution

• Source code

• Derived works

• Integrity of the author's source code

• No discrimination against persons or groups

21

Open Source

• No discrimination against fields of endeavor

• Distribution of license

• License must not be specific to a product

• License must not contaminate other software

http://www.opensource.org/osd.html

22

Practical Advice

Be aware of the law, but do not pretend to be a lawyer. Use a professional for:

• Contracts and licenses

• Troubles (complaints, injunctions, subpoenas, etc.)

• Personnel issues

• When in doubt, ask help!