Open Source Software (OSS)

SourceFlow.Net is built on the belief that developer tools should be open, transparent, and collaborative. The core framework and its companion packages are completely free, open-source, and hosted publicly on GitHub.

Our OSS Philosophy

Software architectures like CQRS and Event Sourcing require deep trust. By making SourceFlow.Net open-source, we ensure that every line of code can be audited, optimised, and extended to match your security and performance standards.

  • No Vendor Lock-In — Host anywhere, integrate with any database provider, and deploy without license fees.
  • Developer Empowerment — Inspect implementation details directly, debug locally, and modify the source code if needed.
  • Performance First — Collaborative optimisation with the community has helped us deliver outstanding performance benchmarks, such as our ArrayPool-based memory optimization.
  • Permissive Core — The framework is built under the MIT license, making it business-friendly and safe for commercial products.

License (MIT)

SourceFlow.Net is licensed under the MIT License. This is a permissive license that allows you to do almost anything with the library, as long as you provide credit and do not hold us liable.

✅ What You Can Do
  • Use the library for personal and commercial applications.
  • Modify and customize the source code.
  • Distribute copies of the library.
  • Include the library in proprietary software.
⚠️ Conditions & Disclaimer

The library is provided "as is", without warranty of any kind. You must include the original copyright and permission notice in any copy or substantial portion of the software.

Contributing to SourceFlow.Net

We welcome contributions from everyone! Whether you are fixing a typo in the documentation, reporting a bug, or implementing a major new feature, your help makes the project better.

Workflow for Code Contributions

  1. Fork the Repository: Create a fork of the SourceFlow.Net repository.
  2. Create a Branch: Work on a descriptive branch name (e.g., feature/your-feature or bugfix/your-fix).
  3. Write Clean Code: Adhere to .NET coding guidelines, write unit tests, and maintain formatting.
  4. Run Tests: Ensure all local integration and unit tests pass before proposing code changes.
  5. Submit a Pull Request: Clearly describe your changes, their rationale, and how they were tested.

Other Ways to Help

  • Improve Documentation: Typos, clarifications, or missing code snippets in tutorials.
  • Report Issues: If you find a bug or unexpected behavior, open an issue with step-by-step reproduction instructions.
  • Provide Feedback: Start a thread in our GitHub Discussions to share how you use SourceFlow.Net or suggest architectural improvements.

Code of Conduct

We are dedicated to providing a harassment-free and inclusive experience for everyone. We expect all contributors to adhere to our Code of Conduct, which is adapted from the Contributor Covenant.

Be welcoming, respectful, and cooperative. We do not tolerate harassment or offensive behavior in our community forums, pull request reviews, or issue trackers.

Sponsorship & Support

SourceFlow.Net is a community project maintained by developers like you. Here is how you can support the ecosystem:

  • Star the Repo: Star the SourceFlow.Net repository to help other developers find it.
  • Buy the Companion Book: Purchase From Problems to Patterns, which directly supports the project's development and updates.
  • Share Your Projects: Built something cool with SourceFlow.Net? Write about it, tweet about it, or tell us in the discussions!