Skip main navigation

New offer! Get 30% off one whole year of Unlimited learning. Subscribe for just £249.99 £174.99. New subscribers only. T&Cs apply

Find out more

Intellectual property

We look at a few main types of intellectual property in programming.

Intellectual property, often called IP, is a way of talking about your ideas and other intangible (non-physical) things that you create. Usually, when you talk about IP, you will be discussing how you can protect your IP.

When you are working for a company, whether that is as a freelancer or as an employee, you are generally going to be giving whoever is paying you the rights over the intellectual property and this is usually stated in your contract.

There are a few main types of intellectual property in programming:

  1. Copyright: This is like a shield that protects your code and prevents others from copying it without your permission. It’s like saying, “This is my code, and you can’t use it without asking.” Whenever you create something, whether it’s a new code or an image, the copyright exists automatically.
  2. Patents: Think of patents as special licenses for unique and new ideas or inventions in programming. They give you exclusive rights to use and share your cool new ideas for a certain period. To patent something, you need to apply for a patent which can be a difficult and expensive process.
  3. Trademarks: These are like logos or brand names for your software or apps. They help people recognise your work and prevent others from pretending to be you or using your name. You need to register a trademark, and this costs money and can take some time.
  4. Trade Secrets: Imagine having a secret recipe for your software’s success. That’s a trade secret. It’s like the secret sauce that makes your program special, and you don’t want anyone else to know it. Often, companies will choose to keep something as a trade secret instead of a patent because a patent becomes public after a certain amount of time.

There is also the open license movement, which is often seen in the open-source programming community. These licenses allow people to use your code, but also state how much they can use it, and for what purposes. For example, you may allow anyone to use your code and allow them to use it for commercial purposes which allows them to profit from your work, or you might only allow non-commercial uses. You can also state whether you want to be credited or not.

Now let’s move on to look at a third ethical aspect of software development; ensuring your software is accessible.

This article is from the free online

How to Get Into Software Development

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now