@@ -49,6 +49,16 @@ AimDB is an async, in-memory database designed for real-time data synchronizatio
4949- ` make doc ` - Generate and open documentation
5050- ` make clean ` - Clean build artifacts
5151
52+ ### Security and License Auditing
53+
54+ AimDB uses ` cargo deny ` for dependency auditing:
55+
56+ ``` bash
57+ cargo deny check # Full audit (advisories, licenses, bans)
58+ cargo deny check licenses # License compliance only
59+ cargo deny check advisories # Security advisories only
60+ ```
61+
5262## Code Standards
5363
5464### Rust Guidelines
@@ -170,7 +180,12 @@ cargo test test_name --all-features
170180 make test
171181 ```
172182
173- 3 . ** Check documentation:**
183+ 3 . ** Check license compliance:**
184+ ``` bash
185+ cargo deny check # Verify dependencies meet license requirements
186+ ```
187+
188+ 4 . ** Check documentation:**
174189 ``` bash
175190 make doc
176191 ```
@@ -229,6 +244,38 @@ examples/quickstart/ # Demo application
229244- ** Discussions** : Use GitHub discussions for general questions
230245- ** Code Review** : All PRs require review before merging
231246
247+ ## License Compliance
248+
249+ ### Dependency Licensing
250+
251+ AimDB follows a permissive licensing strategy compatible with commercial use. The project accepts dependencies with these licenses:
252+
253+ - ** Primary** : MIT, Apache-2.0 (preferred for new dependencies)
254+ - ** Compatible** : BSD-2-Clause, BSD-3-Clause, ISC
255+ - ** Unicode Data** : Unicode-3.0, Unicode-DFS-2016 (for Unicode processing crates)
256+
257+ ### Adding Dependencies
258+
259+ Before adding new dependencies:
260+
261+ 1 . ** Check the license** with ` cargo deny check `
262+ 2 . ** Ensure compatibility** with our allowed licenses in ` deny.toml `
263+ 3 . ** Avoid copyleft licenses** (GPL, LGPL, etc.) that could restrict commercial use
264+ 4 . ** Document the rationale** for any new license additions in your PR
265+
266+ If you need to add a dependency with a new license:
267+ - Verify it's OSI-approved and business-friendly
268+ - Update ` deny.toml ` to include the new license
269+ - Explain the necessity in your PR description
270+
271+ ### License Audit
272+
273+ Run license checks as part of development:
274+ ``` bash
275+ cargo deny check licenses # Check license compliance
276+ make check # Includes all development checks
277+ ```
278+
232279## Code of Conduct
233280
234281Please be respectful and constructive in all interactions. We're building this project together and want everyone to feel welcome to contribute.
0 commit comments