Skip to content

Commit 33e4a12

Browse files
committed
Initial commit
0 parents  commit 33e4a12

File tree

26 files changed

+7065
-0
lines changed

26 files changed

+7065
-0
lines changed

.github/CODE_OF_CONDUCT.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Bytecode Alliance Organizational Code of Conduct (OCoC)
2+
3+
*Note*: this Code of Conduct pertains to organizations' behavior. Please also see the [Individual Code of Conduct](CODE_OF_CONDUCT.md).
4+
5+
## Preamble
6+
7+
The Bytecode Alliance (BA) welcomes involvement from organizations,
8+
including commercial organizations. This document is an
9+
*organizational* code of conduct, intended particularly to provide
10+
guidance to commercial organizations. It is distinct from the
11+
[Individual Code of Conduct (ICoC)](CODE_OF_CONDUCT.md), and does not
12+
replace the ICoC. This OCoC applies to any group of people acting in
13+
concert as a BA member or as a participant in BA activities, whether
14+
or not that group is formally incorporated in some jurisdiction.
15+
16+
The code of conduct described below is not a set of rigid rules, and
17+
we did not write it to encompass every conceivable scenario that might
18+
arise. For example, it is theoretically possible there would be times
19+
when asserting patents is in the best interest of the BA community as
20+
a whole. In such instances, consult with the BA, strive for
21+
consensus, and interpret these rules with an intent that is generous
22+
to the community the BA serves.
23+
24+
While we may revise these guidelines from time to time based on
25+
real-world experience, overall they are based on a simple principle:
26+
27+
*Bytecode Alliance members should observe the distinction between
28+
public community functions and private functions — especially
29+
commercial ones — and should ensure that the latter support, or at
30+
least do not harm, the former.*
31+
32+
## Guidelines
33+
34+
* **Do not cause confusion about Wasm standards or interoperability.**
35+
36+
Having an interoperable WebAssembly core is a high priority for
37+
the BA, and members should strive to preserve that core. It is fine
38+
to develop additional non-standard features or APIs, but they
39+
should always be clearly distinguished from the core interoperable
40+
Wasm.
41+
42+
Treat the WebAssembly name and any BA-associated names with
43+
respect, and follow BA trademark and branding guidelines. If you
44+
distribute a customized version of software originally produced by
45+
the BA, or if you build a product or service using BA-derived
46+
software, use names that clearly distinguish your work from the
47+
original. (You should still provide proper attribution to the
48+
original, of course, wherever such attribution would normally be
49+
given.)
50+
51+
Further, do not use the WebAssembly name or BA-associated names in
52+
other public namespaces in ways that could cause confusion, e.g.,
53+
in company names, names of commercial service offerings, domain
54+
names, publicly-visible social media accounts or online service
55+
accounts, etc. It may sometimes be reasonable, however, to
56+
register such a name in a new namespace and then immediately donate
57+
control of that account to the BA, because that would help the project
58+
maintain its identity.
59+
60+
For further guidance, see the BA Trademark and Branding Policy
61+
[TODO: create policy, then insert link].
62+
63+
* **Do not restrict contributors.** If your company requires
64+
employees or contractors to sign non-compete agreements, those
65+
agreements must not prevent people from participating in the BA or
66+
contributing to related projects.
67+
68+
This does not mean that all non-compete agreements are incompatible
69+
with this code of conduct. For example, a company may restrict an
70+
employee's ability to solicit the company's customers. However, an
71+
agreement must not block any form of technical or social
72+
participation in BA activities, including but not limited to the
73+
implementation of particular features.
74+
75+
The accumulation of experience and expertise in individual persons,
76+
who are ultimately free to direct their energy and attention as
77+
they decide, is one of the most important drivers of progress in
78+
open source projects. A company that limits this freedom may hinder
79+
the success of the BA's efforts.
80+
81+
* **Do not use patents as offensive weapons.** If any BA participant
82+
prevents the adoption or development of BA technologies by
83+
asserting its patents, that undermines the purpose of the
84+
coalition. The collaboration fostered by the BA cannot include
85+
members who act to undermine its work.
86+
87+
* **Practice responsible disclosure** for security vulnerabilities.
88+
Use designated, non-public reporting channels to disclose technical
89+
vulnerabilities, and give the project a reasonable period to
90+
respond, remediate, and patch. [TODO: optionally include the
91+
security vulnerability reporting URL here.]
92+
93+
Vulnerability reporters may patch their company's own offerings, as
94+
long as that patching does not significantly delay the reporting of
95+
the vulnerability. Vulnerability information should never be used
96+
for unilateral commercial advantage. Vendors may legitimately
97+
compete on the speed and reliability with which they deploy
98+
security fixes, but withholding vulnerability information damages
99+
everyone in the long run by risking harm to the BA project's
100+
reputation and to the security of all users.
101+
102+
* **Respect the letter and spirit of open source practice.** While
103+
there is not space to list here all possible aspects of standard
104+
open source practice, some examples will help show what we mean:
105+
106+
* Abide by all applicable open source license terms. Do not engage
107+
in copyright violation or misattribution of any kind.
108+
109+
* Do not claim others' ideas or designs as your own.
110+
111+
* When others engage in publicly visible work (e.g., an upcoming
112+
demo that is coordinated in a public issue tracker), do not
113+
unilaterally announce early releases or early demonstrations of
114+
that work ahead of their schedule in order to secure private
115+
advantage (such as marketplace advantage) for yourself.
116+
117+
The BA reserves the right to determine what constitutes good open
118+
source practices and to take action as it deems appropriate to
119+
encourage, and if necessary enforce, such practices.
120+
121+
## Enforcement
122+
123+
Instances of organizational behavior in violation of the OCoC may
124+
be reported by contacting the Bytecode Alliance CoC team at
125+
126+
CoC team will review and investigate all complaints, and will respond
127+
in a way that it deems appropriate to the circumstances. The CoC team
128+
is obligated to maintain confidentiality with regard to the reporter of
129+
an incident. Further details of specific enforcement policies may be
130+
posted separately.
131+
132+
When the BA deems an organization in violation of this OCoC, the BA
133+
will, at its sole discretion, determine what action to take. The BA
134+
will decide what type, degree, and duration of corrective action is
135+
needed, if any, before a violating organization can be considered for
136+
membership (if it was not already a member) or can have its membership
137+
reinstated (if it was a member and the BA canceled its membership due
138+
to the violation).
139+
140+
In practice, the BA's first approach will be to start a conversation,
141+
with punitive enforcement used only as a last resort. Violations
142+
often turn out to be unintentional and swiftly correctable with all
143+
parties acting in good faith.

.github/CONTRIBUTING.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Contributing
2+
Contributions include code, documentation, answering user questions, running the
3+
project's infrastructure, and advocating for all types of users.
4+
5+
The project welcomes all contributions from anyone willing to work in good faith
6+
with other contributors and the community. No contribution is too small and all
7+
contributions are valued.
8+
9+
This guide explains the process for contributing to the project's GitHub
10+
Repository.
11+
12+
- [Code of Conduct](#code-of-conduct)
13+
- [Bad Actors](#bad-actors)
14+
15+
## Code of Conduct
16+
The project has a [Code of Conduct](./CODE_OF_CONDUCT.md) that *all*
17+
contributors are expected to follow. This code describes the *minimum* behavior
18+
expectations for all contributors.
19+
20+
As a contributor, how you choose to act and interact towards your
21+
fellow contributors, as well as to the community, will reflect back not only
22+
on yourself but on the project as a whole. The Code of Conduct is designed and
23+
intended, above all else, to help establish a culture within the project that
24+
allows anyone and everyone who wants to contribute to feel safe doing so.
25+
26+
Should any individual act in any way that is considered in violation of the
27+
[Code of Conduct](./CODE_OF_CONDUCT.md), corrective actions will be taken. It is
28+
possible, however, for any individual to *act* in such a manner that is not in
29+
violation of the strict letter of the Code of Conduct guidelines while still
30+
going completely against the spirit of what that Code is intended to accomplish.
31+
32+
Open, diverse, and inclusive communities live and die on the basis of trust.
33+
Contributors can disagree with one another so long as they trust that those
34+
disagreements are in good faith and everyone is working towards a common
35+
goal.
36+
37+
## Bad Actors
38+
All contributors to tacitly agree to abide by both the letter and
39+
spirit of the [Code of Conduct](./CODE_OF_CONDUCT.md). Failure, or
40+
unwillingness, to do so will result in contributions being respectfully
41+
declined.
42+
43+
A *bad actor* is someone who repeatedly violates the *spirit* of the Code of
44+
Conduct through consistent failure to self-regulate the way in which they
45+
interact with other contributors in the project. In doing so, bad actors
46+
alienate other contributors, discourage collaboration, and generally reflect
47+
poorly on the project as a whole.
48+
49+
Being a bad actor may be intentional or unintentional. Typically, unintentional
50+
bad behavior can be easily corrected by being quick to apologize and correct
51+
course *even if you are not entirely convinced you need to*. Giving other
52+
contributors the benefit of the doubt and having a sincere willingness to admit
53+
that you *might* be wrong is critical for any successful open collaboration.
54+
55+
Don't be a bad actor.

.github/depandabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"

.github/workflows/test.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
setup-and-test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v4
16+
- name: Set up Node.js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: '23'
20+
- name: Install dependencies
21+
run: npm install
22+
- name: Install Wasmtime
23+
run: |
24+
curl https://wasmtime.dev/install.sh -sSf | bash
25+
echo "$HOME/.wasmtime/bin" >> $GITHUB_PATH
26+
- name: Build the project
27+
run: npm run build
28+
- name: Run tests
29+
run: npm test
30+
- name: Run format checks
31+
run: npm run format -- --check
32+
- name: Run ESLint
33+
run: npm run lint

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*.tern-port
2+
node_modules/
3+
dist/
4+
5+
npm-debug.log*
6+
yarn-debug.log*
7+
yarn-error.log*
8+
*.tsbuildinfo
9+
.npm
10+
.eslintcache

0 commit comments

Comments
 (0)