-
-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Welcome to the comprehensive documentation for Source-License, an enterprise-grade FOSS software licensing and distribution platform built with Ruby and Sinatra.
This wiki provides complete documentation for installation, configuration, development, and administration of Source-License.
- Installation Guide - Complete setup instructions for all platforms
- Configuration - Environment and application configuration
- Quick Start - Get up and running in minutes
- Software Development Kits - A list of links to all official SDKs
- Architecture Overview - System design and component structure
- Database Schema - Complete data model documentation
- API Reference - REST API endpoints and authentication
- Development Guide - Contributing and extending the platform
- Admin Guide - Complete administrative documentation
- User Management - Managing customers and admin accounts
- License Management - Creating and managing software licenses
- Payment Processing - Stripe and PayPal integration
- Security - Security features and best practices
- Deployment - Production deployment strategies
- Monitoring - Logging, metrics, and health checks
- Backup & Recovery - Data protection strategies
- Troubleshooting - Common issues and solutions
- Template System - Customizing the user interface
- Code Guide - Internal development patterns (see webapp admin panel)
Source-License is a complete solution for software vendors who need to:
- Sell Software: Full e-commerce platform with cart, checkout, and payment processing
- Manage Licenses: Generate, track, and validate software licenses with activation controls
- Process Payments: Integrated Stripe and PayPal support with webhook handling
- Validate Activations: REST API for real-time license verification in your software
- Track Usage: Comprehensive analytics and reporting for sales and license usage
- Customize Experience: Flexible template system with admin-configurable branding
Source-License follows a modular Ruby/Sinatra architecture:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Public Web β β Admin Panel β β REST API β
β Interface β β Interface β β Endpoints β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Application Controllers β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β Core Business Logic β β
β β β’ License Management β β
β β β’ Payment Processing β β
β β β’ User Authentication β β
β β β’ Security & Validation β β
β βββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Database Layer β
β β’ Users & Admins β’ Orders & Payments β
β β’ Products β’ License Activations β
β β’ Licenses β’ Subscription Billing β
βββββββββββββββββββββββββββββββββββββββββββββββββ
- Sell desktop applications with comprehensive license management
- Distribute plugins and extensions with flexible activation limits
- Manage trial periods and automatic subscription renewals
- Track detailed usage analytics and ensure license compliance
- Implement license validation for client-side applications
- Control machine-based activation for offline software
- Automate subscription management with recurring billing
- Support multi-tier licensing with different activation limits
- Manage student and teacher license allocations
- Implement institution-wide licensing programs
- Control temporary access and trial periods
- Generate bulk licenses for educational programs
- JWT Authentication: Secure token-based API access
- Admin Role Management: Granular permissions and multi-admin support
- Security Middleware: CSRF protection, rate limiting, and security headers
- Audit Logging: Comprehensive logging of all license operations
- Database Security: Sequel ORM with prepared statements prevents SQL injection
- Encrypted Storage: Secure storage of sensitive data and credentials
- Ruby: 3.4.7 or higher
- Database: MySQL 5.7+, PostgreSQL 9.6+, or SQLite 3.8+ (development only)
- Memory: 512MB RAM minimum, 1GB+ recommended
- Storage: 1GB available disk space
- Network: HTTPS capability for production deployments
- Ruby: Latest stable version (3.4.7+)
- Database: MySQL 8.0+ or PostgreSQL 12+ with connection pooling
- Memory: 2GB+ RAM for optimal performance
- Storage: SSD storage with regular backups
- Load Balancer: Nginx or Apache for SSL termination and static files
- Monitoring: Application and infrastructure monitoring tools
-
Clone the repository:
git clone https://github.com/PixelRidgeSoftworks/Source-License.git cd Source-License -
Run the installer:
# Windows .\install.ps1 # Linux/macOS ./install.sh
-
Deploy the application:
# Windows .\deploy.ps1 # Linux/macOS ./deploy.sh
-
Access the application:
- Main Website: http://localhost:4567
- Admin Panel: http://localhost:4567/admin
- License Lookup: http://localhost:4567/my-licenses
Current Version: v1.0-ALPHA
Note: Source-License is currently in Alpha. While feature-complete for most use cases, you may encounter issues or missing functionality. Please report any issues via GitHub Issues.
- Issues & Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Documentation: This wiki and inline code documentation
- Source Code: GitHub Repository
Source-License is released under the GNU General Public License v2.0. See the LICENSE file for details.
Built with β€οΈ by PixelRidge Softworks
Empowering software vendors with professional licensing solutions