I would like to gather information about how something works from a computer program and use it in my own. However, there is a software licence that forbids it.

Except as and only to the extent expressly permitted in this License or by applicable law, you may not copy, decompile, reverse engineer, disassemble, modify, or create derivative works of the [blanked out] or any part thereof.

According to Section 50B of the Copyright, Designs and Patents Act 1988 (https://www.legislation.gov.uk/ukpga/1988/48/section/50B)


(1)It is not an infringement of copyright for a lawful user of a copy of a computer program expressed in a low level language—

(a)to convert it into a version expressed in a higher level language, or

(b)incidentally in the course of so converting the program, to copy it,

(that is, to “decompile” it), provided that the conditions in subsection (2) are met.

(2)The conditions are that—

(a)it is necessary to decompile the program to obtain the information necessary to create an independent program which can be operated with the program decompiled or with another program (“the permitted objective”); and

(b)the information so obtained is not used for any purpose other than the permitted objective.

(3)In particular, the conditions in subsection (2) are not met if the lawful user—

(a)has readily available to him the information necessary to achieve the permitted objective;

(b)does not confine the decompiling to such acts as are necessary to achieve the permitted objective;

(c)supplies the information obtained by the decompiling to any person to whom it is not necessary to supply it in order to achieve the permitted objective; or

(d)uses the information to create a program which is substantially similar in its expression to the program decompiled or to do any act restricted by copyright.

(4)Where an act is permitted under this section, it is irrelevant whether or not there exists any term or condition in an agreement which purports to prohibit or restrict the act (such terms being, by virtue of section 296A, void).]

Am I allowed to reverse engineer/decompile a computer program, even if a licence forbids me not to? Does it only matter what the laws say in the United Kingdom or do I have to obey the part of the licence?

  • Is it necessary to reverse engineer it? See (2)(a) that you quoted above.
    – Brandin
    Feb 5, 2019 at 11:24
  • What does necessary mean in this context? Does it mean that I have to do it to save someone's life? How do I know if it's necessary or not?
    – mike1024
    Feb 5, 2019 at 18:03
  • You mean as in available to me? Sorry, it is quite confusing.
    – mike1024
    Feb 5, 2019 at 18:06
  • Are you decompiling in order to create your own program which can interoperate with another program? Then it is fine, according to that text. Are you decompiling in order to create a program that is substantially similar to the original? Then it is not fine.
    – Brandin
    Feb 6, 2019 at 12:36
  • Well, the program is to work with a specific part of hardware (a computer device).
    – mike1024
    Feb 10, 2019 at 10:31

1 Answer 1


Why do you think the licence forbids this? It explicitly starts with "Except as and only to the extent expressly permitted ... by applicable law ...".

You have quoted the "applicable law". If you stay within the boundaries of the law the licence allows it.

  • Thank you. So, I am allowed to reverse engineer it and use the information for my own program, right?
    – mike1024
    Feb 5, 2019 at 10:53
  • @mike1024 yes, but you are not allowed to share that program or it's source code with someone else.
    – wimh
    Feb 5, 2019 at 11:54
  • Are you completely sure? This is legislation in the United Kingdom and I don't want any consequences.
    – mike1024
    Feb 5, 2019 at 18:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .