diff --git a/community.rst b/community.rst index 1fd620c4..46f1c405 100644 --- a/community.rst +++ b/community.rst @@ -5,5 +5,6 @@ Community Resources :maxdepth: 2 general/help-us.rst + general/roadmap-2030.rst general/press.rst general/code-of-conduct.rst diff --git a/general/roadmap-2030.rst b/general/roadmap-2030.rst new file mode 100644 index 00000000..7f5f1d59 --- /dev/null +++ b/general/roadmap-2030.rst @@ -0,0 +1,286 @@ +Road Map to 2030 +================ + +This document outlines the primary goals of the OpenWISP project for the +period 2026-2030. + +If you are interested in a specific feature and would like to collaborate +with us, please refer to :doc:`help-us`. + +**Table of Contents:** + +.. contents:: + :depth: 2 + :local: + +Installation & Usability +------------------------ + +Simplify the deployment and initial configuration process to lower the +entry barrier for new users. + +- **Simplified Deployment**: Package Python dependencies into a unified + archive or executable to enable single-command installation. +- **Cloud Readiness**: Provide optimized, preconfigured VM images for + rapid deployment across major cloud providers. +- **Edge/Local Instance**: Develop a lightweight OpenWISP variant + optimized for self-hosting on low-cost hardware, featuring: + + - Support for resource-efficient time-series databases as an alternative + to InfluxDB. + - SQLite and SpatiaLite support for local storage. + - Integrated FreeRADIUS and captive portal configuration template. + - Layer 2 auto-discovery for seamless device onboarding. + +- **User Experience Studies**: + + - Implement UI/UX enhancements based on the `UX study conducted by Ura + Design funded by the Open Tech Fund + `_. + - Conduct more UX studies and surveys as OpenWISP improves to keep + finding the common pain points. + +- **Facilitate Upgrades**: + + - Notify users through the web interface when new OpenWISP versions are + available. + - Evaluate guided upgrades through the web interface. + - Verify requirements are met before attempting the upgrade (Python + version, other system dependencies). + - Automatically create a full backup before upgrading. + - Automatically restore the backup if the upgrade fails. + +- **Facilitate the setup of VPN automations**: See `OpenWISP VPN Deployer + Linux Package GSoC 2025 Project Idea + `_ + for more information. + +Agent Improvements +------------------ + +- **Automated Management Interface Detection**: Remove the requirement for + manual configuration of the management interface in the OpenWISP agent. + The agent will automatically identify the management tunnel and + determine the appropriate IP address for core operations, including: + + - Connectivity monitoring (ping/checksum) + - Remote shell access + - Active monitoring checks + + See also: `GitHub Issue openwisp-config#208 + `_ + +- **Full Configuration Reporting**: Enable the agent to send the complete + device configuration to OpenWISP, providing a comprehensive view of the + current state directly in the controller. +- **Local Change Synchronization**: Implement automatic detection of local + configuration changes. The agent will sync these updates back to the + controller to ensure the central database remains accurate and local + modifications are not overwritten. +- **Layer 2 Device Onboarding**: Enable automatic discovery and enrollment + of network devices within the same broadcast domain. This allows + OpenWISP to: + + - Detect new hardware as soon as it is connected to the local network. + - Adopt and configure devices without requiring connection to a cloud + controller. + - Simplify local deployments by removing the need for manual IP + discovery or static configuration. + +Firmware Tools +-------------- + +- **Pre-configured Firmware Images**: Provide ready-to-use OpenWrt images + for all supported targets, pre-configured to connect to the OpenWisp + demo instance. +- **Custom Image Builders**: Supply image builders for all targets to + allow users to generate custom firmware locally. +- **Automated Build Pipeline**: Automate the compilation and publishing of + firmware images and builders to ensure timely updates for new OpenWrt + releases and reduce maintenance overhead. + +Configuration Editor +-------------------- + +- **Enhanced Configuration Visibility**: Update the editor to manage full + device configurations without overwhelming the interface. Implement a + high-level overview with drill-down capabilities for specific details. +- **Data Deduplication**: Automatically identify and filter configuration + data already stored in templates or existing device settings to prevent + redundant entries in the database. +- **Unified Editor Interface**: Redesign the editor to display the + complete device state with clear visual distinctions between: + + - Current local device settings. + - Device-specific overrides stored in OpenWISP. + - Inherited settings from OpenWISP configuration templates. + +- **Expanded Variable Support**: Enable the use of variables across all + field types beyond standard string values. +- **Rich Context Support**: Allow the definition of configuration contexts + using non-string data types, such as lists and objects. +- **Improved Validation Feedback**: Overhaul backend error reporting to + provide clear, actionable messages when configuration validation fails. + +Documentation +------------- + +**Step-by-Step Tutorials**: Develop comprehensive guides for common +deployment scenarios, including: + +- Hotspot and captive portal setup. +- PPPoE configuration. +- Event-driven automation and custom hooks, such as: + + - Triggering HTTP requests when a device enters a critical state. + - Executing HTTP requests upon receiving RADIUS accounting stop packets. + +Dashboard & Visualization +------------------------- + +- **Time-Series Analytics**: Add interactive dashboard charts with + filtering capabilities to track Device status trends (online, offline, + and total counts). +- **Advanced Network Viewer**: Replace the current map with a feature-rich + viewer similar to `Freifunk MeshViewer + `_, supporting toggling + between geographic and logical network views. + +Indoor Maps +----------- + +.. note:: + + These subjects have been worked on during Google Summer of Code 2025; + see the project board `[GSoC25] General Map: Indoor, Mobile, Linkable + URLs `_. + +- **Building and Floor Support**: Implement indoor mapping capabilities + to: + + - View device placement per floor within buildings. + - Provide seamless navigation between geographic, logical, and indoor + views. + +IP Intelligence +--------------- + +.. note:: + + These subjects have been worked on during Google Summer of Code 2025; + see the project board `[GSoC25] WHOIS Information and IP Address-Based + Geolocation `_. + +- **WHOIS Data Collection**:help-us Automatically collect and store WHOIS + information for the device ``last_ip`` when a public IP is detected. +- **UI Integration**: Display a summary of WHOIS data in the interface + with the option to expand for full technical details. + +Geo App Improvements +-------------------- + +.. note:: + + These subjects have been worked on during Google Summer of Code 2025; + see the project board `[GSoC25] WHOIS Information and IP Address-Based + Geolocation `_. + +- **IP-Based Geolocation**: Support approximate device locations derived + from IP geolocation data. +- **Location Management**: The UI will clarify how approximate locations + are generated and provide options to: + + - Manually refine the coordinates to a precise location. + - Disable the feature for specific devices if not required. + +- **Global & Multitenant Controls**: Allow geolocation features to be + toggled globally or at the per-organization level. + +Syslog & Event Hooks +-------------------- + +- **Centralized Log Collection**: Enable the collection and storage of + syslog entries from OpenWrt-managed devices. +- **Log Management API**: Provide an API endpoint for querying and + searching collected logs. +- **On-Demand Device Logs**: Add a dedicated tab to the device details + page to load and inspect logs for specific hardware. +- **Real-Time Log Viewer**: Implement a global interface for viewing live + log streams across all managed devices. +- **Log-Based Automation**: Allow the system to trigger alerts or custom + actions based on specific log content or patterns. + +Wireless Support +---------------- + +- **Optimized Roaming**: Implement support for 802.11k and 802.11v to + facilitate band steering and network load balancing. +- **Integrated Wireless Management**: Provide a user-friendly interface + within the OpenWISP device page that offers management parity with the + OpenWrt LuCI wireless configuration. + +Firmware Upgrade UX +------------------- + +.. note:: + + Part of these subjects have been worked on during Google Summer of + Code 2025; see the project board `[GSoC25] Firmware Upgrader UX + improvements `_. + +- **Group Upgrades**: Extend firmware upgrade capabilities to allow + targeting specific device groups, in addition to per-device or + per-organization options. +- **Real-Time Progress Tracking**: Enhance visual feedback to provide live + status updates during firmware upgrades without requiring page + refreshes. +- **Persistent Upgrade Tasks**: Implement support for continuous upgrades + that remain queued for offline devices, executing automatically once + they reconnect. + +Mesh Networking +--------------- + +- **Atomic Group Updates**: Improve mesh stability by synchronizing + configuration changes across groups. This prevents connectivity loss + during rollouts (e.g., coordinated radio channel adjustments). +- **Dynamic Topology Mapping**: Utilize monitoring data from mesh + interfaces to generate real-time topology maps of the active network. + +Monitoring Improvements +----------------------- + +- **Release Milestone**: Address outstanding issues identified for the + `Monitoring 0.3 release + `_. +- **Database Compatibility**: Implement support for `InfluxDB 2.0 + `_. +- **SNMP Support Finalization**: Complete and refine SNMP monitoring + support for OpenWrt and Ubiquiti AirOS devices. Review and integrate + existing code from GSoC 2021 to provide a stable monitoring baseline. +- **Rapid Health Diagnostics**: When a device status reports a "PROBLEM," + provide an immediate drill-down view to identify the specific root + cause. Ensure full feature parity for these diagnostic insights via the + REST API. + +Networking Features +------------------- + +- **Bulk Command Execution**: Implement the ability to dispatch commands + to multiple devices simultaneously, including status tracking and result + logging for each target. Maintain REST-API feature parity. +- **Interactive Web Shell**: Develop a browser-based interactive terminal + to allow direct command-line access to managed devices through the + OpenWISP interface. +- **Expanded VPN Protocol Support**: Add support for IPsec and SoftEther. +- **Advanced Traffic & Access Control**: + + - Deep Packet Inspection (DPI) and Layer 7 firewall rules. + - WPA-Enterprise EAP-TLS integration via OpenWISP RADIUS. + +- **Platform & Protocol Expansion**: + + - Support for pfSense and Vyatta. + - Management support for TR-069 / TR-369, NETCONF, and CAPWAP. + - Integration with proprietary vendor firmwares, including Ubiquiti and + MikroTik.