feat: 在文档中添加“社区发展策略”链接,并创建相应的社区发展策略文档,以增强用户对项目治理和参与的理解

This commit is contained in:
wood911010 committed 2025-11-23 12:52:06 +08:00
1 parent ef24c8aa72
commit 605016345c
5 files changed
+318 -5

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
# Community Development Strategy
## 1. Vision & Mission
We are committed to making **License Manager** the industry-standard infrastructure for software licensing management. Our mission is to lower the barriers to software distribution and copyright protection through open source, while ensuring enterprise-grade security and reliability.
We believe that reliable infrastructure software must withstand extensive community validation and requires long-term investment from a professional team.
## 2. Development Philosophy: Core-Led, Community-Driven
To ensure project sustainability and technical architecture rigor, we adopt a **"Core-Led, Community-Driven"** governance model:
* **Core Team**: Acts as the project's "gatekeepers," responsible for setting the technical roadmap, controlling architectural design, reviewing core code, and maintaining system security. We commit to keeping core functionality open source and neutral.
* **Community Contributors**: Serve as the project's "radar" and "accelerator." We rely on the community to discover real-world pain points, report bugs, contribute multi-language SDKs, improve documentation, and share best practices.
## 3. Sustainable Development Model
Open source is not a whim, but a marathon. To ensure License Manager can be maintained long-term, we have established a transparent sustainable development mechanism:
### 3.1 Symbiosis of Business and Open Source
We do not shy away from commercialization, as healthy commercial revenue is the fuel for continuous iteration of open source projects. We achieve this through:
* **Feedback Mechanism**: General features, performance optimizations, and security patches accumulated in commercial projects will be prioritized for merging back into the open source main branch.
* **Enterprise Support**: By providing value-added services to enterprise users, we use the funds for full-time developer salaries, server infrastructure, and community activity operations.
### 3.2 Ecosystem Collaboration
We encourage and actively seek deep collaboration with community developers and enterprise users. Whether through integration plugins, developing client SDKs for specific languages, or building industry solutions based on this platform, we view all as part of ecosystem prosperity.
## 4. Roadmap Planning Mechanism
We will regularly (quarterly) publicly update the Roadmap.
* **Requirement Collection**: All requirements from Issues and Discussions will enter the requirement pool.
* **Priority Assessment**: The core team will evaluate requirements based on three dimensions: "Generality," "Security," and "Urgency."
* **Transparent Decision-Making**: For major architectural changes or feature deprecations, we will solicit community input through the RFC (Request for Comments) process.
## 5. Your Participation
We need not just code, but also your voice. You can participate in License Manager's future through:
* **Feedback on Scenarios**: Tell us what scenarios you use it in and what obstacles you encounter.
* **Improve Documentation**: Help us make obscure technical details more accessible.
* **Promotion and Evangelism**: Let more developers know about and use this tool.
Every line of code, every Issue, and every discussion will be taken seriously.
+113 -2
View File
@@ -1,3 +1,114 @@
# guide
# Introduction
License Manager is an independent software licensing platform that provides license code generation, distribution, validation, and management services for IoT platforms and other software systems. It offers both online and offline licensing modes with hardware-based binding for enhanced security.
License Manager is an independent software licensing management system that provides license code generation, distribution, validation, and management services for software systems. It supports both online and offline licensing modes, with hardware-based binding mechanisms ensuring security.
## System Overview
License Manager is an enterprise-grade software licensing management solution that helps software vendors achieve a complete lifecycle management cycle from license generation, distribution, validation to full lifecycle management. The system adopts a frontend-backend separation architecture, providing an intuitive management interface and rich API interfaces, supporting multiple deployment modes to meet licensing management needs in different scenarios.
## Core Features
### 🔐 Flexible Licensing Modes
- **Online Licensing (Cloud)**: Local verification + heartbeat reporting, with remote control and management
- **Offline Licensing (Standalone)**: Hardware fingerprint binding, verification without network connection
- **Hybrid Mode**: Local verification + heartbeat reporting, allow short-term offline operation when disconnected
### 🛡️ Security Mechanisms
- **Hardware Binding**: Prevent license copying through device fingerprints (MAC, CPU, HostID, etc.)
- **Digital Signatures**: RSA-PSS-SHA256 signatures ensure license data integrity
- **State Management**: Support multiple states including normal, locked, expired, with remote control capabilities
- **Key Encryption**: Encrypted storage and transmission of license data
### 📊 Full Lifecycle Management
- **Customer Management**: Unified maintenance of customer profiles, contacts, and license relationships
- **License Generation**: Batch generation, custom validity periods, feature restriction configuration
- **Status Monitoring**: Real-time license status viewing, usage statistics
- **Operation Auditing**: Complete operation log records for traceability and auditing
### 🚀 Easy Integration
- **RESTful API**: Standardized API interfaces, easy to integrate with existing systems
- **Client SDK**: Client verification libraries in multiple languages
- **Deployment Package Generation**: Automatically generate deployment packages with configuration, simplifying delivery processes
## System Architecture
The system adopts a modern **frontend-backend separation architecture** design, with the backend built on the high-performance **Go (Golang)** language. This architecture design ensures system stability under high-concurrency scenarios while greatly simplifying enterprise deployment and operational costs.
### Core Components
```mermaid
graph TD
UI[💻 Frontend Admin Interface<br/>Vue.js 3 + Modern UI]
API[⚙️ Backend Core Engine<br/>Go + Gin + GORM]
DB[(🗄️ MySQL Database<br/>License Data Storage)]
UI -->|HTTPS / REST API| API
API -->|TCP / SQL| DB
%% Simple styling
classDef default fill:#fff,stroke:#333,stroke-width:2px;
```
### Architecture Advantages
* **Ultimate Performance**: Thanks to Go's coroutine (Goroutine) features, a single node can support tens of thousands of concurrent verification requests with extremely low resource consumption.
* **Simple Deployment**: The backend compiles into a single binary file (Single Binary) with zero runtime dependencies, perfectly supporting Docker containerized deployment.
* **Secure and Reliable**: API interface layer adopts strict authentication mechanisms, core business logic is closed-loop on the server side, and the database supports transactional consistency guarantees.
* **Easy to Scale**: Modular code structure design supports smooth upgrade from single-machine mode to cluster high-availability mode.
### Workflow
```mermaid
sequenceDiagram
autonumber
participant Admin as 👤 Administrator
participant System as ⚙️ Core Engine
participant Client as 🖥️ Client Software
Note over Admin, System: Phase 1: Generation & Distribution
Admin->>System: 1. Create License Policy (Web UI)
System-->>Admin: Generate License File/Key
Admin->>Client: 2. Distribute License Package (Email/Download)
Note over Client, System: Phase 2: Verification & Operation
Client->>Client: 3. Local Verification (Decrypt & Verify Signature)
opt Online Mode
Client->>System: 4. Report Heartbeat (with License Info)
System->>System: Check Heartbeat Content
alt License Update Required
System-->>Client: Return true (Update Required)
Client->>System: 5. Auto-download New License
System-->>Client: Return New License File
Client->>Client: Update Local License
else No Update Needed
System-->>Client: Return false (Normal)
end
end
```
1. **License Issuance**: Administrators configure policies through the frontend interface, and the backend core engine generates tamper-proof license files/keys using encryption algorithms.
2. **License Distribution**: Supports online automatic distribution or export of offline deployment packages, delivered to end users through secure channels.
3. **Client-Side Verification**: Client applications integrate SDKs and perform **local verification** (using public key to decrypt and verify signatures) at startup or runtime. Whether in online or offline mode, verification is completed locally without requiring real-time network connection.
4. **Heartbeat Reporting & License Update**: In online mode, clients periodically report heartbeats (containing license information) to the server. The server checks the heartbeat content to determine if a license update is needed. If an update is required, it returns `true` to the client, and the client automatically downloads the new license and updates the local license file.
5. **Audit and Monitoring**: The system automatically records verification logs and heartbeat data, providing real-time feedback on license usage status and anomaly alerts.
## Use Cases
- **SaaS Software**: Need to control access permissions by time, features, user count, etc.
- **Enterprise Software**: Require hardware binding to prevent illegal license copying
- **Embedded Systems**: Require offline verification without network dependency
- **API Services**: Need to control usage limits such as call counts, concurrency, etc.
- **Software Trials**: Provide trial period licenses with automatic feature restrictions upon expiration
## Next Steps
- If you are a **new user**, we recommend starting with [Getting Started](./getting-started.md) to learn how to deploy the system
- If you want to understand **why you need a licensing system**, check out [Business Value](./business_value.md)
- If you are a **developer** needing to integrate license validation, please refer to [License Structure](./license-token-structure.md) and [API Reference](./api.md)
- If you want to **contribute** or understand our development philosophy, see [Community Strategy](./community_strategy.md)