Skip to content

o3de/tsc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 

Repository files navigation

Technical Charter (the “Charter”) for Open 3D Engine Foundation a Series of LF Projects, LLC, Adopted July 6, 2021

This Charter sets forth the responsibilities and procedures for technical contribution to, and oversight of, the Open 3D Engine open source project, which has been established as Open 3D Engine Foundation, a Series of LF Projects, LLC (the “Project”). LF Projects, LLC (“LF Projects”) is a Delaware series limited liability company. The Project is supported and managed by the Open 3D Engine Fund (the “Fund”), a directed fund of the Linux Foundation, an Oregon mutual benefit corporation. All contributors (including committers, maintainers, and other technical positions) and other participants in the Project (collectively, “Collaborators”) must comply with the terms of this Charter.

  1. Mission and Scope of the Project

    a. The mission of the Project is to make a fully-featured, high-fidelity, realtime 3D engine for building games and simulations.

    b. The scope of the Project includes collaborative development under the Project License (as defined herein) supporting the mission, including documentation, testing, integration and the creation of other artifacts that aid the development, deployment, operation or adoption of the open source project.

  2. Values:

    a. Neutral. The Project seeks to be neutral to all technologies and companies, and strives to design interfaces and systems to be as universal and unencumbered as possible to enable any organization can incorporate their technology with the Project.

    b. Industry agnostic. Even though the Project began as a game development engine, the Project strives to enable other industries to take advantage of the advances it may provide for them.

    c. Open. The Project is open, transparent and accessible, and operates independently of specific partisan interests. The Project accepts all contributors based on the merit of their contributions.

    d. Easy to adopt. The Project seeks to make onboarding materials as up to date and accessible as possible.

    e. Fair. The Project will avoid undue influence, bad behavior and “pay-to-play” decision-making.

    f. Modular. The Project strives to facilitate extensibility is done in a modular manner outside of the core engine, to minimize changes that may break compatibility with applications built on top of the core engine.

    g. Platform-agnostic. Platform specifications will be developed to not be platform–specific, such that the Project can be implemented on a variety of architectures and operating systems.

  3. Technical Steering Committee

    a. The Technical Steering Committee (the “TSC”) will be responsible for all technical oversight of the Project.

    b. Any meetings of the Technical Steering Committee are intended to be open to the public, and can be conducted electronically, via teleconference, or in person.

    c. TSC projects generally will involve Contributors and Committers. The TSC may adopt or modify roles so long as the roles are documented in the CONTRIBUTING file. Unless otherwise documented:

    i.  “Contributors” include anyone in the technical community
        that contributes code, documentation, or other technical
        artifacts to the Project;
    
    ii.  “Committers” are Contributors who have earned the ability to
        modify (“commit”) source code, documentation or other
        technical artifacts in a project’s repository; and
    
    iii.  A Contributor may become a Committer by a majority approval
        of the existing Committers. A Committer may be removed by a
        majority approval of the other existing Committers.
    

    d. Participation in the Project through becoming a Contributor and Committer is open to anyone so long as they abide by the terms of this Charter.

    e. The TSC may (1) establish workflow procedures for the submission, approval, and closure/archiving of projects, (2) set requirements for the promotion of Contributors to Committer status, as applicable, and (3) amend, adjust, refine and/or eliminate the roles of Contributors, and Committers, and create new roles, and publicly document any TSC roles, as it sees fit.

    f. The TSC may elect a TSC Chair, who will preside over meetings of the TSC and will serve until their resignation or replacement by the TSC. The TSC Chair, or any other TSC member so designated by the TSC, will serve as the primary communication contact between the Project and the Fund. Elections of a TSC Chair will require a two-thirds vote of all of the members of the TSC.

    g. Responsibilities: The TSC will be responsible for all aspects of technical oversight relating to the Project, which may include:

    i.  coordinating the technical direction of the Project;
    
    ii.  approving project or system proposals (including, but not
        limited to, incubation, deprecation, and changes to a
        sub-project’s scope);
    
    iii.  organizing sub-projects and removing sub-projects;
    
    iv.  creating sub-committees or working groups to focus on
        cross-project technical issues and requirements;
    
    v.  appointing representatives to work with other open source or
        open standards communities;
    
    vi.  establishing community norms, workflows, issuing releases,
        and security issue reporting policies;
    
    vii.  approving and implementing policies and processes for
        contributing (to be published in the CONTRIBUTING file) and
        coordinating with the series manager of the Project (as
        provided for in the Series Agreement, the “Series Manager to
        resolve matters or concerns that may arise in implementing
        Section 9 of this Charter;
    
    viii.  discussions, seeking consensus, and where necessary, voting
        on technical matters relating to the code base that affect
        multiple projects; and
    
    ix.  coordinating any marketing, events, or communications
        regarding the Project with the Fund.
    
  4. TSC Membership

    a. The TSC voting members are initially those individuals listed as voting members of the TSC on the Project web site.

    b. To be a qualified for a seat on the TSC, an individual must:

    i.  commit that they have the available bandwidth to make the
        time to invest in the Project and the TSC,
    
    ii.  demonstrate an advanced level of professional experience as
        engineers in the scope of Project,
    
    iii.  demonstrate seniority sufficient to access additional staff
        or community members to assist in their TSC preparations
        and,
    
    iv.  operate neutrally in discussions and put the goals and
        success of Project overall in balance with corporate
        objectives or any particular project in the Project.
    

    c. From the inception of the Project to the date that is eighteen months following inception of the Project or such other appropriate date determined by the TSC, such as the point after which a majority of contributions have been made by new contributors to the Project (the “Transition Date”), the makeup of the TSC will be determined as follows:

    i.  Four members selected by the Governing Board of the Fund;
        and
    
    ii.  Five members determined via a process to be approved by the
        TSC.
    

    d. After the Transition Date:

    i.  The composition of the TSC will be as determined by the TSC
        by two-thirds majority vote (subject to subsections (ii)
        and (iii) below) and documented on the Project web site or
        code repositories.
    
    ii.  no more than three (3) members of the TSC may be employed,
        directly or indirectly (e.g., as a contractor), by any one
        entity and its Affiliates (either at the time of election or
        from a later job change);
    
    iii.  and if at any time more than three (3) members are so
        employed by the same entity and its Affiliates, then they
        will jointly decide who should step down, or if there is no
        agreement, random lots shall be drawn.
    

“Affiliate” means, with respect to any entity, any other entity that directly or indirectly controls, is controlled by, or is under common control with that entity.

  1. TSC Voting

    a. While the Project aims to operate as a consensus-based community, if any TSC decision requires a vote to move the Project forward, the voting members of the TSC will vote on a one vote per voting member basis.

    b. Quorum for TSC meetings requires at least fifty percent of all voting members of the TSC to be present. The TSC may continue to meet if quorum is not met but will be prevented from making any decisions at the meeting.

    c. Except as provided in Section 3.f., 9.c. and 10, decisions by vote at a meeting require a majority vote of those in attendance, provided quorum is met. Notwithstanding the foregoing, the TSC may decide to use a lazy consensus model for regular votes of the TSC, provided that such lazy consensus model is documented on the Project web site. Decisions made by electronic vote without a meeting require a majority vote of all voting members of the TSC.

    d. In the event a vote cannot be resolved by the TSC, any voting member of the TSC may refer the matter to the Series Manager for assistance in reaching a resolution.

  2. Compliance with Policies

    a. This Charter is subject to the Series Agreement for the Project and the Operating Agreement of LF Projects. Contributors will comply with the policies of LF Projects as may be adopted and amended by LF Projects, including, without limitation the policies listed at https://lfprojects.org/policies/.

    b. The TSC may adopt a code of conduct (“CoC”) for the Project, which is subject to approval by the Series Manager. In the event that a Project-specific CoC has not been approved, the LF Projects Code of Conduct listed at https://lfprojects.org/policies will apply for all Collaborators in the Project.

    c. When amending or adopting any policy applicable to the Project, LF Projects will publish such policy, as to be amended or adopted, on its web site at least 30 days prior to such policy taking effect; provided, however, that in the case of any amendment of the Trademark Policy or Terms of Use of LF Projects, any such amendment is effective upon publication on LF Project’s web site.

    d. All Collaborators must allow open participation from any individual or organization meeting the requirements for contributing under this Charter and any policies adopted for all Collaborators by the TSC, regardless of competitive interests. Put another way, the Project community must not seek to exclude any participant based on any criteria, requirement, or reason other than those that are reasonable and applied on a non-discriminatory basis to all Collaborators in the Project community.

    e. The Project will operate in a transparent, open, collaborative, and ethical manner at all times. The output of all Project discussions, proposals, timelines, decisions, and status should be made open and easily visible to all. Any potential violations of this requirement should be reported immediately to the Governing Board.

  3. Community Assets

    a. LF Projects will hold title to all trade or service marks used by the Project (“Project Trademarks”), whether based on common law or registered rights. New Project Trademarks will be transferred and assigned to LF Projects to hold on behalf of the Project. Any use of any Project Trademarks by Collaborators in the Project will be in accordance with the license from LF Projects and inure to the benefit of LF Projects.

    b. The Project will, as permitted and in accordance with such license from LF Projects, develop and own all Project GitHub and social media accounts, and domain name registrations created by the Project community.

    c. Under no circumstances will LF Projects be expected or required to undertake any action on behalf of the Project that is inconsistent with the tax-exempt status or purpose, as applicable, of LFP, Inc. or LF Projects, LLC.

  4. General Rules and Operations.

    a. Conduct. The Project will:

    i.  engage in the work of the Project in a professional manner
        consistent with maintaining a cohesive community, while also
        maintaining the goodwill and esteem of LF Projects, LFP,
        Inc. and other partner organizations in the open source
        community; and
    
    ii.  respect the rights of all trademark owners, including any
        branding and trademark usage guidelines.
    
  5. Intellectual Property Policy

    a. Collaborators acknowledge that the copyright in all new contributions will be retained by the copyright holder as independent works of authorship and that no contributor or copyright holder will be required to assign copyrights to the Project.

    b. Except as described in Section 9.c., all contributions to the Project are subject to the following:

    i.  All new inbound code contributions to the Project must be made using both (1) the Apache License, Version 2.0, available at [<u>https://www.apache.org/licenses/LICENSE-2.0</u>](https://www.apache.org/licenses/LICENSE-2.0) and (2) the MIT license, available at [<u>https://www.mit.edu/\~amini/LICENSE.md</u>](https://www.mit.edu/~amini/LICENSE.md) (together, the “Project Licenses”). 
    
    ii.  All new inbound code contributions must also be accompanied by a Developer Certificate of Origin ([<u>http://developercertificate.org</u>](http://developercertificate.org)) sign-off in the source code system that is submitted through a TSC-approved contribution process which will bind the authorized contributor and, if not self-employed, their employer to the applicable license;
    
    iii.  All outbound code will be made available under the Project Licenses. The default outbound Project License will be the Apache License, Version 2.0; users may elect at their option to use the MIT License.
    
    iv.  Documentation will be received and made available by the Project under the Creative Commons Attribution 4.0 International License (available at [<u>http://creativecommons.org/licenses/by/4.0/</u>](http://creativecommons.org/licenses/by/4.0/)). 
    
    v.  The Project may seek to integrate and contribute back to other open source projects (“Upstream Projects”). In such cases, the Project will conform to all license requirements of the Upstream Projects, including dependencies, leveraged by the Project. Upstream Project code contributions not stored within the Project’s main code repository will comply with the contribution process and license terms for the applicable Upstream Project. 
    
    vi.  Dependencies. The Project may host and make available third-party software components under other license terms (“Dependencies”). If the Dependency is licensed under compatible and permissive terms (“Compatible Licenses”), then no separate approval is required outside the normal contribution & commitment process. Otherwise, prior to accepting a Dependency into the Project, the Legal Committee of the Fund must approve adopting the Dependency under the applicable license as appropriate for use with the Project. 
    

    c. The TSC may approve the use of an alternative license or licenses for inbound or outbound contributions on an exception basis (provided that licenses that are not Compatible Licenses require approval of the Legal Committee of the Fund). To request an exception, please describe the contribution, the alternative open source license(s), and the justification for using an alternative open source license for the Project. License exceptions must be approved by a two-thirds vote of the entire TSC.

    d. Contributed files should contain license information, such as SPDX short form identifiers, indicating the open source license or licenses pertaining to the file.

  6. Amendments

    a. This charter may be amended by a two-thirds vote of the entire TSC and is subject to approval by LF Projects.

About

Technical Steering Committee

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published