A lot of Computer Science courses seem to be running Law modules as standard, in order to teach students about things like The Data Protection Act, Copyright, etc.

Realistically, is Law an important subject for Computer Scientists or Programmers? Did you take Law or take a Law class whilst studying for a CS related degree? If you did, do you have any book recommendations for someone wanting to learn more about Law in the IT domain?

EDIT: I've already been given a fantastic reference and that's been chosen as my accepted answer. However, I am a British student, so any UK-specific book recommendations would be fantastic.

15 accepted

Law is vital for computer scientists or programmers. Of course, just a disclaimer, this is coming from a lawyer. Specifically, licensing and contractual issues should be covered in any CS related field. Unfortunately none were offered when I got my Computer Engineering degree - I think this will change in the future.

With the advent of open source and the gentrification of intellectual property, a programmer should understand what rights are manifest with the creation of a new program.

I suggest this book here: The IT / Digital Legal Companion: A Comprehensive Business Guide to Software, IT, Internet, Media and IP Law. Long title, but it contains great information for a non-legally minded individual.


I can think of a few law related items that are of concern to programmers.

  • Copyright & Intellectual Property
  • Contracts
  • Data handling & security (domain specific? e.g privacy, banking, medical, etc.)
  • Liability

Do common CS programs address any of these?


The CS Degree I did (UK) had a module on copyright and patent law, which having taken I think are important things for any developer to understand, if not just so that they know their rights with regard to things they're producing whilst at work, and potentially outside of work.

There are lots of interesting areas in copyright law, such as reverse engineering for interoperability and obviously the concept that copyright covers concrete work rather than just ideas, which is where patents come in, and thus the argument that patents are an unnecesary evil.


My Software Engineering degree required one law component, as did all the Engineering degrees at my uni. I think this was a requirement from Engineers Australia to get our accreditation.

It would be a tough world to live in without a basic understanding of relevant laws, lest you get yourself in to trouble.

update: A lawyer is always appropriate in any legal situation, and I wouldn't expect anyone who isn't a lawyer to know more than the basics. However, knowing the basics really cuts down on your legal costs when you have to pay a lawyer $500 an hour to listen to your layman explanations.


I agree it is important. However required is a stretch. I think you should be aware of the options to you but any serious work you are going to perform should be brought to a lawyer who knows this area best.


Software is intellectual property, which has profound legal implications.

Also, the creation of software is an ethical consideration. See, for example, the ACM Code of Ethics. This, also, has legal implications.

"is Law an important subject for Computer Scientists or Programmers?" Yes.

"Did you take Law or take a Law class whilst studying for a CS related degree?" Sadly, no. But I got my degree in the '70's, so that isn't relevant.


A lot of CS programs (including mine) have a required computing ethics course, which generally includes some bits of law. Aside from that, I think that a whole course devoted to just law is a nice idea, but isn't really practical. Given the other stuff that's jammed into a typical CS degree program, there wouldn't really be much time for a whole law course, and I'd rather see students study some more CS anyway.


Law is important to software engineers because software is unlike any other type of IP.

Software is both be both copyrightable and a trade secret.

when something is copyrighted you can usually still have access to it. Like a song can be copyrighted, but you can still listen to it. Software is different, it can be copyrighted and (in some cases) the source can be secret.