Yes, this proposal mainly aims to simplify future development and maintenance. Since most of the code is shared between `std` and `no-std`, merging them into `main` will eliminate the need to sync pull requests and changes.
**What will be the impact on the development of TAs that depend on `no-std` and `master`?** The build process remains mostly the same (run `$ make`), but there are minor differences: - For `no-std` developers: No additional steps are required. Development stays the same as in the original `no-std` branch. - For `std` developers: Developers will need to run `$ export STD=y` to enable the `std` feature before running `$ source environment`. **What are the long-term development plans for maintaining the `main`, `master`, and `no-std` branches?** Current Status: - `no-std`: A clean branch dedicated to `no-std` development. - `master`: The legacy branch used for `std` development, and the primary development branch until 2024. - `main`: A new branch forked from `no-std`, adding `std` building support. After setting `main` as the default branch (proposed in this VOTE):** - The `no-std` branch will be deprecated. - The `master` branch will be deprecated. - The `main` branch will become the only maintenance branch, supporting both `std` and `no-std`. Long-Term Development Plan for the `main` Branch: - Add `std`-specific examples. Since the purpose of `std` is to provide functionalities that `no-std` cannot, we can offer examples such as Serde and TLS, which are already provided in the `master` branch but not yet merged into `main`. - Upstream the OP-TEE target as a Rust Tier 3 target. - Develop demo projects for specific scenarios, such as Web3. On 2024/10/11 09:09:22 Zhaofeng Chen wrote: > Over the past few years, we’ve heard varying perspectives from the > community regarding the needs for OPTEE Trusted Application (TA) > development. Here’s a brief summary: > > - *Dependence on the master branch:* This allows the use of Rust crates > requiring std, which is beneficial for more feature-rich development. > However, it may face delays in upstream Rust std support. > - *Dependence on the no-std branch:* This is suited for TAs with limited > functionality, ensuring minimal dependencies and a lightweight codebase. > > I assume the proposed changes aim to address the needs of both groups while > minimizing maintenance efforts. In addition, could you please elaborate on > the following points if this change is merged? > > 1. What will be the impact on the development of TAs that depend on > no-std and master? > 2. What are the long-term development plans for maintaining the main, > master, and no-std branches? > > Thanks. > > On Fri, Oct 11, 2024 at 12:05 PM Yuan Zhuang <yu...@apache.org> wrote: > > > Hi Community, > > > > I’d like to initiate a vote to propose changing the default branch > > for the Teaclave TrustZone SDK > > <https://github.com/apache/incubator-teaclave-trustzone-sdk> from > > "no-std" to "main". > > > > Teaclave TrustZone SDK is built on the OP-TEE > > <https://www.op-tee.org/> project and provides ergonomic APIs for > > Trusted Application (TA) developers. Currently, we support two > > development modes for Rust TAs: "no-std" and "std". > > > > We plan to streamline the code to support both modes in a unified > > environment. The first step will be to treat "no-std" as the base, > > then add the std feature on top of it. > > > > In May this year, we made "no-std" the default branch, as announced > > in this email. > > <https://lists.apache.org/thread/f3l82o89hb0w43n27nw77oqcpo829qjd>. > > > > The "main" branch now builds on "no-std" but also adds optional std > > support. It includes updates to the build system, CI, and toolchain, > > with Rust compiler version upgraded to nightly-2024-05-15. More > > details can be found in this PR > > <https://github.com/apache/incubator-teaclave-trustzone-sdk/pull/141>. > > > > Since the "main" branch retains the full functionality of the original > > Teaclave TrustZone SDK and supports both no-std (by default) and std > > (as an optional feature), I propose making "main" the default branch > > going forward. This change will streamline further development and > > maintenance. > > > > The vote will be open for at least 7 days. Everyone is welcome to > > share your thoughts and cast your vote. Please vote by replying to > > this thread explicitly. > > > > [ ] +1 approve > > [ ] +0 no opinion > > [ ] -1 disapprove with the reason > > > > Best regards, > > > > Yuan Zhuang, > > Apache Teaclave (incubating) PPMC > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@teaclave.apache.org > > For additional commands, e-mail: dev-h...@teaclave.apache.org > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@teaclave.apache.org For additional commands, e-mail: dev-h...@teaclave.apache.org