layout |
---|
governance.hbs |
[TOC]
TODO
A structured platform for users...
- to contribute to the TypeDB development roadmap
- to contribute to TypeDB server and libraries
- to centralise all TypeDB projects as one ecosystem
- As a vehicle to organise community projects via the TypeDB Project Incubator
- As the support structure to empower a whole new generation of software developers
The TypeDB OSI Ecosystem comprises all resources and technologies to be used with TypeDB. We aim to organise and present these technologies in a consistent format, for ease of implementation and understanding.
Examples of resources and technologies include but are not limited to, client drivers, IDE plug-ins, loaders, visualisers, and resources such as: schema gists by industry, domain, and/or concept, datasets by industry and/or domain, general libraries, blog posts, documentation and educational materials related to the TypeDB ecosystem technologies.
Technologies within the TypeDB OSI Ecosystem can take advantage of early and/or pre-releases of TypeDB in order to understand implications and impact to a maintainer's project. Additionally, the internal Vaticle TypeDB team will be able to better understand the impact of new releases by testing with existing TypeDB Ecosystem projects during the release process.
The TypeDB Ecosystem will also address open problems and project opportunities that would enhance or support the efforts of the larger community - whether that is exploring a new language api for an emerging programming language, or getting a head start on an IDE plug-in, we will work with the community to maintain an active list of open problems and opportunities.
Submissions for new project ideas can be made via _________. These ideas will be reviewed during the monthly TypeDB OSI meeting and submittors of ideas selected for development will be notified via email. There is no obligation to own/ maintain development of submitted ideas, however, ideas submitted with interested developer/maintainer, will be prioritised.
Submissions for feature requests, ideas for imporvement, etc., for existing projects can be made directly via the projects github repo - submit an "feature request" issue with as much detail as possible, adhering to the template provided.
For further details see [TypeDB Incubator: Contibution Guidelines](#TypeDB OSI Contributor Guidelines)
Nurture TypeDB open source projects to a state of maturity. Providing the community with production-ready, high-standard of quality, independent tools to aid in, and accelerate their development.
The TypeDB OSI Incubator will aim to provide maintainers of Incubator projects the ability to:
- Find community members to contribute in meaningful and productive ways
- Raise the visibility of their projects across the community and beyond
- Maintain a standard of quality through code quality governance and resources
- Ensure continuity of the maintenance and lifetime of the project
As the TypeDB OSI is intended to provide a platform for innovation and acceleration of development in open-source technologies related to TypeDB, participating projects in the TypeDB OSI Incubator will have access to a host of benefits. These are meant to address some of the challenges related to starting, maintaining and driving usage of open-source projects related to TypeDB.
These benefits include, but are not limited to:
- Access to TypeDB OSI mentors (see TypeDB OSI Governance: Mentors)
- Github organisation maintenance - when hosting your project repo within the TypeDB OSI organisation (see [TypeDB OSI Incubator: Project Location](#Project Location))
- Dedicated Discord channel within Vaticle Community Server (see TypeDB OSI Incubator: Discord)
- TypeDB OSI standards and templates for contribution, including but not limited to: PR and issue submission templates, qa standards and resources
Protocol for new project submissions into the TypeDB OSI Incubator should be simple for the maintainer, as well as ensure that all new projects adhere to a minimum quality standard shared by all projects within the TypeDB OSI.
The protocol for submitting a new project is as follows - subject to change, by agreement between the TypeDB Committee Leadership:
- Submit request via typedb.org submission form.
- New submission assigned to a TypeDB OSI Leader who then checks:
- Does the project meet prerequisites? (see [TypeDB OSI Incubator: Quality Standards](#Quality standards))
- Once the project meets all prerequisites, the maintainer will be informed via email and invited into the github.com/typedb-osi organisation
- Maintainer should then create or move repo to github.com/typedb-osi organisation
- If a repo already exists and maintainer would like to keep the repo in its existing location, based on existing user base and impact
- Once a repo has been created, a discord channel will be created and maintainer will be given [typedb-osi-project-name] role
- Maintainer and TypeDB OSI will work together to schedule an introduction talk with the community, to introduce the project to the wider TypeDB Community
Quality standards for all new and existing projects within the TypeDB OSI Ecosystem are meant to ensure that community members
TODO
- Have an active maintainer willing to commit to ownership of project for at least the next 6 months
- Adhere to TypeDB OSI Incubator quality pre-requisites:
- Lorums lkajsdf
- Alskdfjnu kjasdnf
- Dsf sadflj asldf
- ;ajsdf lkasd asd
TODO
- Source Code Analysis metrics
- Test coverage
- CI/CD
- Documentation
While we recommend to start projects within the TypeDB OSI github organisation, it is ultimately up to the maintainer to decide what is best for the project and users.
Privileges and benefits of hosting your repository on https://github.com/typedb-osi
- The creator has full “maintainer” role of the repository
- Visibility and maintainability
- Ease of collaboration
- Continuity and lifetime of the project
- Access to community-wide resources such as CI/CD
- Early access to TypeDB experimental features
The community edition of TypeDB is licensed under AGPL, but for any driver or client library that uses or implements AGPL code such as Protocol or TypeQL, we make an explicit exception in our AGPL license allowing you to release those under the more permissive licenses MIT, 2-clause BSD or Apache. You'll find the legal language for this exception in the AGPL license file.
We recommend making projects as permissive as possible, whether that means using Apache, MIT or 2-clause BSD, which are all permissive licenses. Depending on specific cases within a project you can select another license not mentioned.
Discord Channels will be established to ensure ease of communication on day to day basis.
-
#General
- Day to day communication related to TypeDB OSI Incubator management and collaboration
-
#[project channel]
- Day to day communication related to a specific project within the Incubator
- Should there already exist a dedicated channel for this project within another communication channel outside TypeDB OSI, regular (as defined by the maintainer) updates should be added to the channel within TypeDB OSI.
The discussion forum is to be used for ongoing discussions on technical issues, features, long form topics related to the TypeDB OSI Incubator projects.
- Dedicated Category: split by domain/ecosystem
- Dedicated sub-category by project
TODO
The development roadmap for TypeDB is one that A forum to suggest and collaborate on the development roadmap of the TypeDB database. Does this include facilitating creation of new projects within key industries that might be identified by the TypeDB OSI Leadership and/or Advisors?
TODO
- Help to promote technologies that are built using TypeDB
- Graduated projects from TypeDB incubator
A TypeDB OSI Contributor is someone who makes consistent improvements to TypeDB, TypeDB OSI Incubator or TypeDB OSI Ecosystem projects.
All individuals who wish to contribute to TypeDB OSI projects and/or repos need to have a signed contributor agreement on file with the OSI.
The TypeDB OSI uses various agreements to accept regular contributions from individuals and corporations, and to accept larger grants of existing software technologies.
These agreements help us achieve our goal of providing reliable and long-lived software technologies through collaborative open source software development. In all cases, contributors retain full rights to use their original contributions for any other purpose outside of TypeDB OSI while providing the TypeDB OSI and its projects the right to distribute and build upon their work within TypeDB OSI
The TypeDB OSI desires that all contributors of ideas, code, or documentation to any TypeDB OSI projects complete, sign, and submit via email an Individual Contributor License Agreement (ICLA).
The purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to the TypeDB OSI and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. A signed ICLA is required to be on file before an individual is given commit rights to any TypeDB OSI project.
For a corporation that has assigned employees to work on an TypeDB OSI project, a Corporate CLA (CCLA) is available for contributing intellectual property via the corporation, that may have been assigned as part of an employment agreement.
Note that a Corporate CLA does not remove the need for every developer to sign their own ICLA as an individual, which covers both contributions which are owned and those that are not owned by the corporation signing the CCLA.
The CCLA legally binds the corporation, so it must be signed by a person with authority to enter into legal contracts on behalf of the corporation.
The ICLA is not tied to any employer specifically, so it is recommended to use one's personal email address in the contact details, rather than an @work address.
Your full name will be published unless you provide an alternative public name. For example if your full name is Alfred North Whitehead, but you wish to be known as Al Whitehead, please enter the latter as your Public name. Your Full name should be written with your given name first and your family name last, though your preferred ordering can be used in the Public name.
The email address and other contact details are not published.
If you are submitting an ICLA in response to an invitation from a TypeDB OSI Committee member, be sure to identify the project via the email with your ICLA.
- Download agreements for signature
- ICLA download
- CCLA download
- Sign (digitally or print, sign and scan as pdf) and return via email signed agreement to [email protected]
- Confirmation of submission will be via email - please save this email for future reference
You'll need to have some basic programming experience with the technologies and tools we use.
- Introduction to git
- Introduction to GitHub
- Popular git commands and how to use them
- Git commands in-depth
- Mastering Markdown
- Markdown Tutoria
- TypeQL
- Java
- Python Guides
- Python's official tutorial
- Python's official style guide
- Python's best practices
- The Zen of Python
To be written
Before getting started, please make sure you've read the README of the respective project repository to get a primer on the project specific details for contributions. Note: the TypeDB OSI maintains standards and templates for contributions but projects may have specific dependencies or requirements.
If you're experiencing an issue with any project or have a question you'd like help answering, please feel free to open an issue in the respective repository of the project. To help us prevent duplicates, we kindly ask that you briefly search for your problem or question in our issues before opening a new one. You should also search through:
- Discord Server
- Discussion Forum
- Stack Overflow
Please note that if you open a bug report and your issue does not follow our template, we cannot help you until you have provided us all the relevant information in that format. Respectfully, we do not have the time to try and recreate an error given with minimal or no context, so by providing this information you are helping us help you! You will see this template when you open an issue; click on "Bug Report" and it will be populated with descriptions of what to put in each section. Replace the descriptions with your comments to the best of your ability, and please include screenshots and error logs if applicable.
klasdjfa;slkdfjas;ldfkjas;ldkfjas;lkdfj
a;sldkfja;lskdjf;laksdfj;lk
To support and facilitate TypeDB consultancy jobs, as well as a community job board.
- Provide a forum to share full-time, part-time, and consulting work
- Help to create an environment that fosters experience, and career growth across members skill levels
- Not just development / engineering opportunities but data science, strategy, implementation
New jobs and tasks will be reviewed during the TypeDB OSI monthly meeting and then posted to the Employment forum on https://typedb.org. For expedited submissions, email [email protected] and request to post immediately onto the Discord server and Employement forum.
lf you would like to take on a job or task, posted to the TypeDB OSI Employment Forum, please make sure to review all requirements, and email [email protected], a TypeDB OSI leader will then connect you and the maintainer/owner to conduct a brief briefing session.
Once a job or task has been assigned to a contributor, the listing will be marked as "in progress". After the job or task is completed and the maintainer/owner has approved or confirmed completion, the listing will be marked "complete" for a period of 7 days, when it will be archived.
The organisational structure of the TypeDB OSI Committee that will run, moderate, organise and lead the initiatives. Advisors and Leaders to be nominated and voted in by all members of the committee.
The organisational structure of the TypeDB OSI aims to be as flat as possible to ensure everyone is able to contribute to the overall direction and success of the programme(s). Leadership positions will be filled via nominations and TypeDB OSI member voting. Nominations and voting will take place once per year following the first year (2021).
Provide the oversight and management of TypeDB Incubator, set standards for work, set development roadmap for TypeDB open-source project and community projects
Those individuals who are veterans, experts in their domain and want to support the efforts of the TypeDB OSI through strategic and/or directional input.
Support persons, providing qa, guideance, and code review to TypeDB OSI and Incubator projects - aim to assign one mentor to each TypeDB Incubator project.
Anyone that is contributing to a TypeDB Incubator project and has a signed CLA on file.
Anyone that would like to bridge the gap between TypeDB and external communities (MLH, Julia, etc. ).
Anyone from the Vaticle Community that wants to be a part of the TypeDB OSI – the starting place for all new members.
- General
- Governance
- Formal recording of decisions
- Meeting notes
- Ongoing discussions post-meetings
- Security and authentication of identity
- Ease of sharing of information - Google Docs, Sheets, etc\
- Every 2-3 weeks until we complete governance and infrastructure
- Once a month going onwards