Disable building repository with ASan extra packs.
[platform/core/security/tef-optee_os.git] / Notice.md
1 OP-TEE
2 =======
3
4 This is the repository of OP-TEE (Open Portable Trusted Execution Environment),
5 the open-source TEE maintained by Linaro, with initial contributions from
6 STMicroelectronics, Ericsson and Linaro Limited.
7
8 What OP-TEE is
9 ------
10
11 OP-TEE is designed primarily to rely on the ARM TrustZone(R) technology as the
12 underlying hardware isolation mechanism. However, it has been structured to be
13 compatible with any isolation technology suitable for the TEE concept and goals,
14 such as running as a virtual machine or on a dedicated CPU.
15
16 The main design goals for OP-TEE are:
17 -       Isolation - the TEE provides isolation from the Rich OS (typically,
18         Linux/Android) and it protects the Trusted Applications (TAs) it
19         executes from each other, using underlying HW support,
20 -       Small footprint - the TEE should remain small enough so that the TEE
21         core, including all the code and data required to provide isolation, can
22         reside in a reasonable amount of on-chip memory,
23 -       Portability - the TEE must be easily pluggable to different
24         architectures and available HW, and it has to support various setups
25         such as multiple TEEs or multiple client OSes.
26
27 Repository structure
28 ------
29
30 OP-TEE is composed of three gits:
31 -       The optee-client git, containing the source code for the TEE client
32         library in Linux. This component provides the TEE Client API as defined
33         by the <a href="https://www.globalplatform.org/specificationsdevice.asp">GlobalPlatform
34         TEE standard</a>. It is distributed under the BSD 2-clause open-source license.
35 -       The optee_os git, containing the source code for the TEE OS itself. This
36         component provides the TEE Internal APIs as defined by the
37         GlobalPlatform  TEE standard to the Trusted Applications that it
38         executes. It is distributed mostly under the BSD 2-clause open-source
39         license. It includes few external files under BSD 3-clause license or
40         other free software licenses.
41 -       The optee_linuxdriver git, containing the source code for the TEE driver
42         in Linux. This component implements a generic TEE driver, designed
43         primarily for TEE implementations that rely on the ARM
44         TrustZone(R)technology. It is distributed under the GPLv2 open-source
45         license. Please note that re-distribution under other versions of the
46         GPL license is not allowed. The rationale behind this limitation is to
47         ensure that this code may be used on products which have security
48         devices which prevent reloading the code. Such security devices would be
49         incompatible with some licenses such as GPLv3 and so distribution under
50         those licenses would be inconsistent with this goal. Therefore it is
51         recommended that care be taken before redistributing any of the
52         components under other license terms than those provided here.
53
54 Contributions
55 ------
56
57 Contributions to OP-TEE are managed by the OP-TEE gatekeepers, whose contact
58 email is op-tee[at]linaro[.]org.
59
60 Anyone can contribute to OP-TEE as long as it is understood that it will require
61 a Signed-off-by tag in the patch and when adding the Signed-off-by tag, you
62 thereby assure that you have read and are following the rules stated in the
63 `Developer Certificate of Origin` as stated below.
64
65 ```
66 Developer Certificate of Origin
67 Version 1.1
68
69 Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
70 660 York Street, Suite 102,
71 San Francisco, CA 94110 USA
72
73 Everyone is permitted to copy and distribute verbatim copies of this
74 license document, but changing it is not allowed.
75
76
77 Developer's Certificate of Origin 1.1
78
79 By making a contribution to this project, I certify that:
80
81 (a) The contribution was created in whole or in part by me and I
82     have the right to submit it under the open source license
83     indicated in the file; or
84
85 (b) The contribution is based upon previous work that, to the best
86     of my knowledge, is covered under an appropriate open source
87     license and I have the right under that license to submit that
88     work with modifications, whether created in whole or in part
89     by me, under the same open source license (unless I am
90     permitted to submit under a different license), as indicated
91     in the file; or
92
93 (c) The contribution was provided directly to me by some other
94     person who certified (a), (b) or (c) and I have not modified
95     it.
96
97 (d) I understand and agree that this project and the contribution
98     are public and that a record of the contribution (including all
99     personal information I submit with it, including my sign-off) is
100     maintained indefinitely and may be redistributed consistent with
101     this project or the open source license(s) involved.
102 ```
103