Skip to content

Commit 6791310

Browse files
docs include explanation what is and what is not open-source inside Bitbybit
1 parent 38f4aae commit 6791310

2 files changed

Lines changed: 99 additions & 0 deletions

File tree

docs/learn/open-source-approach.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
sidebar_position: 9
3+
title: Bitbybit's Open Source Approach
4+
sidebar_label: Our Approach To Open Source
5+
description: Understand which parts of the Bitbybit platform are open source and which parts are proprietary. We believe in transparency for our community.
6+
tags: [open-source, licensing]
7+
---
8+
9+
import Admonition from '@theme/Admonition';
10+
11+
# Bitbybit's Open Source Approach: What's Shared and Why
12+
13+
At Bitbybit, we believe in the power of open source and community collaboration. However, to sustain and grow the platform, some components remain proprietary. This page aims to clearly explain our approach so you know exactly what you can access, modify, and contribute to.
14+
15+
**Our Guiding Principle:** If it's in our main [Bitbybit GitHub Monorepo](https://github.com/bitbybit-dev/bitbybit), it's open source!
16+
17+
## What IS Open Source in Bitbybit?
18+
19+
We are committed to open-sourcing the foundational elements that empower developers and designers. This primarily includes:
20+
21+
1. **Core Logic & Geometry Libraries (NPM Packages):**
22+
* The powerful algorithms and utility functions that form the backbone of Bitbybit's capabilities. These are available as NPM packages (like `@bitbybit-dev/base`, `@bitbybit-dev/occt`, etc.) for you to use in your own projects.
23+
* If you're familiar with the `bitbybit` JavaScript namespace used in our editors, the following modules (and their sub-modules) are **open source**:
24+
* `bitbybit.draw`
25+
* `bitbybit.babylon`
26+
* `bitbybit.vector`
27+
* `bitbybit.point`
28+
* `bitbybit.line`
29+
* `bitbybit.polyline`
30+
* `bitbybit.mesh`
31+
* `bitbybit.logic`
32+
* `bitbybit.math`
33+
* `bitbybit.lists`
34+
* `bitbybit.color`
35+
* `bitbybit.text`
36+
* `bitbybit.dates`
37+
* `bitbybit.json`
38+
* `bitbybit.verb`
39+
* `bitbybit.tag`
40+
* `bitbybit.time`
41+
* `bitbybit.occt`
42+
* `bitbybit.manifold`
43+
* `bitbybit.jscad`
44+
45+
2. **Official Documentation:**
46+
* This Docusaurus-powered documentation site itself is open source. We encourage contributions to improve clarity and add examples!
47+
48+
3. **Application Examples:**
49+
* We provide example projects and snippets demonstrating how to use our open-source NPM packages.
50+
51+
<Admonition type="success" title="Key Takeaway">
52+
The code for all the core building blocks—the mathematical and geometric engines, and fundamental utilities—is available for you to inspect, use, and even contribute to via our NPM packages and the main GitHub monorepo.
53+
</Admonition>
54+
55+
## What is NOT Open Source (Proprietary Components)?
56+
57+
To support the development and hosting of the Bitbybit platform, certain components are proprietary and not open source. These include:
58+
59+
1. **The Bitbybit.dev Platform & UI:**
60+
* **Visual Programming Editors:** The user interfaces for our Rete.js and Blockly visual programming environments, including their integration with the Monaco editor.
61+
* **Main Website & Cloud Infrastructure:** The [bitbybit.dev](https://bitbybit.dev) website, user account systems, cloud-based algorithms, and backend services.
62+
63+
2. **Code Execution "Runners":**
64+
* While you can freely embed and use our "Runners" (the components that execute Bitbybit scripts) in your own websites, their internal source code is not public.
65+
* We provide built versions of these Runners under an MIT license via the [bitbybit-assets repository](https://github.com/bitbybit-dev/bitbybit-assets).
66+
* These Runners enable the execution of some of our proprietary advanced algorithms (like certain 3D text/font features) free of charge within the context of the Runner, but the source code for those specific advanced algorithms remains closed.
67+
68+
3. **Visual Editor to JavaScript Conversion Logic:**
69+
* The internal mechanisms that convert Rete JSON or Blockly XML into executable JavaScript are proprietary.
70+
* You are, of course, free to use the JavaScript *generated* by our editors in your projects.
71+
72+
4. **Specific Advanced Algorithm Namespaces:**
73+
* While our core libraries are open, certain higher-level and more complex algorithms are proprietary. In the `bitbybit` JavaScript namespace, these include:
74+
* Everything under `bitbybit.advanced`
75+
* Everything under `bitbybit.things`
76+
* Everything under `bitbybit.asset`
77+
* Some algorithms within these proprietary namespaces might be executable for free for users of our editors on [bitbybit.dev](https://bitbybit.dev) or via the Runners, but this does not mean their source code is open or freely available for all uses.
78+
79+
<Admonition type="info" title="Important Distinction">
80+
Being able to *use* a feature (e.g., running a script with an advanced algorithm via our platform or a Runner) is different from having access to its *source code*.
81+
</Admonition>
82+
83+
## Our Commitment to Transparency
84+
85+
We aim to be as transparent as possible about our open source model.
86+
* **The Rule of Thumb:** If you can't find the source code within the main [Bitbybit GitHub Monorepo](https://github.com/bitbybit-dev/bitbybit), it's likely proprietary and part of our intellectual property.
87+
* **Why This Model?** This hybrid approach allows us to offer powerful core tools to the community while funding the ongoing development, maintenance, and innovation of the broader Bitbybit platform and its advanced features.
88+
89+
We appreciate your understanding and your engagement with both our open source contributions and the Bitbybit platform as a whole! If you have questions about specific components, feel free to reach out.

docs/learn/tags.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,13 @@ shopify:
172172
label: 3D Bits
173173
permalink: /3d-bits
174174
description: 3D Bits is application that Bitbybit has developed for Shopify merchants - it can be installed on their webshops.
175+
176+
open-source:
177+
label: Open Source
178+
permalink: /open-source
179+
description: Open source refers to software whose source code is available for anyone to view, use, modify, and distribute.
180+
181+
licensing:
182+
label: Licensing
183+
permalink: /licensing
184+
description: Licensing refers to the legal permissions and restrictions associated with using, modifying, and distributing software.

0 commit comments

Comments
 (0)