20 Open-source Free Feature Flagging Self-hosted Solution for Better App Delivery
Feature flagging, or feature toggling, is a software development technique that allows system behavior to be modified without changing the code. It enables testing of new features in production without exposing them to all users and allows for quick disabling of problematic features.
Feature flags can be used for A/B testing, canary releases, gradual rollouts, and more. They can be managed through a feature flag service for auditing and usage data, and segments of users can be used to control feature visibility.
1- Posthog
PostHog is an open-source platform for product development that offers features such as event specification, data analysis, session replays, A/B testing, feature flags, customizable surveys, and data management. It also provides hosting in the EU or US and is SOC 2 compliant.
Key Features
- Comprehensive suite of tools for product development:
- Event-based analytics
- User and group tracking
- Data visualizations
- SQL access
- Session replays
- Heatmaps
- Feature flags
- A/B testing
- Correlation analysis
- Surveys
- Data and infrastructure tools:
- Data import/export capabilities
- Ready-made libraries for various programming languages
- Compatibility with data warehouses
2- Unleash
Unleash is a powerful open source solution for feature management that streamlines development workflow and accelerates software delivery. It allows teams to control feature rollouts and test code with real production data, reducing user impact risks.
Unleash is the most popular feature flagging solution on GitHub, supporting numerous official and community SDKs, and is compatible with any language and framework.
3- OpenReply
OpenReplay is a self-hosted session replay suite that helps troubleshoot issues by replaying user activities on web and mobile apps. It captures network activity, console logs, JS errors, store actions/state, page speed metrics, and cpu/memory usage.
It supports web applications, iOS, and React Native apps, with Android and Flutter support coming soon. It has a low footprint, with a ~26KB tracker that sends minimal data asynchronously, limiting impact on performance.
Features
- Session replay: Lets you relive your users' experience, see where they struggle and how it affects their behavior. Each session replay is automatically analyzed based on heuristics, for easy triage.
- DevTools: It's like debugging in your own browser. OpenReplay provides you with the full context (network activity, JS errors, store actions/state and 40+ metrics) so you can instantly reproduce bugs and understand performance issues.
- Assist: Helps you support your users by seeing their live screen and instantly hopping on call (WebRTC) with them without requiring any 3rd-party screen sharing software.
- Feature flags: Enable or disable a feature, make gradual releases and A/B test all without redeploying your app.
- Omni-search: Search and filter by almost any user action/criteria, session attribute or technical event, so you can answer any question. No instrumentation required.
- Analytics: For surfacing the most impactful issues causing conversion and revenue loss.
- Fine-grained privacy controls: Choose what to capture, what to obscure or what to ignore so user data doesn't even reach your servers.
- Plugins oriented: Get to the root cause even faster by tracking application state (Redux, VueX, MobX, NgRx, Pinia and Zustand) and logging GraphQL queries (Apollo, Relay) and Fetch/Axios requests.
- Integrations: Sync your backend logs with your session replays and see what happened front-to-back. OpenReplay supports Sentry, Datadog, CloudWatch, Stackdriver, Elastic and more.
Deployment Options
- AWS
- Google Cloud
- Azure
- DigitalOcean
- Kubernetes
- OVHcloud
- Scaleway
4- Flagsmith
Flagsmith is an open-source Feature Flag and Remote Config service that allows easy creation and management of feature flags across various platforms. It enables toggling of features for different environments, users, or user segments.
Features
- Feature flags. Release features with confidence through phased roll-outs.
- Remote config. Easily toggle individual features on and off, and make changes without deploying new code.
- A/B and Multivariate Testing. Use segments to run A/B and multivariate tests on new features. With segments, you can also introduce beta programs to get early user feedback.
- Organization Management. Organizations, projects, and roles for team members help keep your deployment organized.
- Integrations. Easily enhance Flagsmith with your favourite tools.
5- Flipt
Flipt is an enterprise-ready, GRPC powered, GitOps enabled, CloudNative, feature management solution that allows for separation of releases from deployments. It can be deployed within existing infrastructure, ensuring data privacy and reduced latency. Flipt's GitOps-friendly functionality allows easy integration into CI/CD workflows for continuous configuration and deployment.
Flipt supports various use cases including enabling trunk-based development workflows, internal testing of new features before full production release, system safety through an emergency kill switch for new releases, gating features for different permission levels, and enabling continuous configuration by changing values during runtime without additional deployments.
Features
- Stand-alone, single binary that's easy to run and configure
- Ability to create advanced distribution rules to target segments of users
- Modern UI and debug console with dark mode
- Import and export capabilities to allow storing your data as code
- Compatibility with Prometheus and OpenTelemetry out of the box
- CloudNative Filesystem, Object, Git, and OCI declarative storage backends to support GitOps workflows and more
- Audit logging with Webhook support to track changes to your data
6- GrowthBook
GrowthBook is a free, open-source feature flagging and A/B testing platform. It offers advanced targeting, gradual rollouts, and experiments with SDKs for various platforms. It also provides powerful A/B test analysis with advanced statistics and compatibility with existing data stacks.
7- Flagr
Flagr is an open-source Go service that offers feature flags, experimentation (A/B testing), and dynamic configuration. It also provides clear REST APIs for flag management and evaluation. The development of Flagr is advanced by the community-driven OSS effort of 'openflagr/flagr'.
8- FeatureProbe
FeatureProbe is an open-source feature management service that enables R&D, SRE, and operation teams to launch new features or switch software implementations with lower risk. It supports continuous delivery, is scalable regardless of team size or product complexity, and allows for rapid changes to online service parameters or progressive configuration rollouts.
FeatureProbe provides value by reducing development effort to merge branches through feature toggles, lowering recovery time by limiting service issues, and saving on testing environment costs by enabling testing of new features in the production environment.
9- Go Feature Flag
GO Feature Flag is an open-source solution offering a comprehensive feature flag implementation. It was initially designed for the GO language but now supports multiple languages through a relay proxy.
It allows storing configuration flags in various locations and formats, adding complex rules for user targeting, and using complex rollout strategies. It also supports exporting flag usage data and notifications when a flag changes. The solution is ideal for managing complex releases and orchestrating launch schedules across different teams.
Features
- Lightweight and open-source solution
- Facilitates the usage of feature flags in code without vendor contact
- Initially designed for the GO language but now supports multiple languages
- Offers a simple API server called the relay proxy
- Simple and lightweight solution
- Avoids any complex infrastructure work
- Allows targeting of individual segments, users, and development environments
- Enables advanced rollout functionality
- Collect usage data of flags and get notified of configuration changes
- OpenSource, no vendor locking
- Supports favorite languages and pushes for standardisation
- File based configuration
- Integrates with different systems
- Cloud ready configuration retrieval from various places
- Allows you to store flag usage data where you want
- Enables notifications when flag changes
- Offers advanced rollout capabilities
- Enables A/B testing
- Allows you to test directly in production
- Empowers business stakeholders to release new features
- Allows for progressive software delivery
- Supports experimentation and learning with A/B testing
- Simplifies how to release, test and deploy your software
10- HappyKit: Feature Flagging for Next.js
HappyKit Flags offers a simple way to add feature flags to your Next.js application using a useFlags() hook or getFlags() function. It supports App Router, Server-Side Rendering, Static Site Generation, Middleware, Edge Functions, User Targeting, Custom Rules, and Rollouts. The package is lightweight (2kB gzipped) and provides fast flag responses.
11- Elixir: Fun With Flag
FunWithFlags is an OTP application in Elixir that provides a two-level storage for feature flags, an API for toggling and querying them, and a web dashboard for control. It uses Redis or a relational database for persistence and synchronization across nodes, and an ETS table for fast lookups. Changes in flags are communicated across nodes via PubSub.
12- Togglz for Java
Togglz is a Java implementation of the Feature Toggles pattern, a common practice in agile development for continuous deployment and delivery. It allows features to be enabled or disabled at runtime, even for individual users.
13- Laravel Feature Flags
A feature flag, also known as a feature toggle or feature switch, is a coding strategy that aids in continuous integration and deployment. It prevents sections of code from executing unless the feature flag is switched on.
This Laravel package simplifies the implementation of such flags across your application, including routes, blade files, task scheduling, and validations.
14- FeatureToggle for .Net
FeatureToggle, a simple and reliable feature toggle tool for .NET, can be easily installed via NuGet.
15- Featurevisor
Featurevisor is a developer-centric tool for managing feature flags, experiments, and remote configurations via a Git workflow.
It involves managing these components in a Git repository, initiating a CI/CD pipeline to create and upload datafiles to a CDN, and then retrieving and evaluating these datafiles in applications using Featurevisor SDKs.
Features
- 🚩 Feature flags: classic on/off switches
- 🆎 Experimentation: a/b and multivariate tests
- 👥 Segmentation: reusable conditions for targeting groups of users
- ↗️ Gradual rollouts: avoid big bang releases, and go from 0% to 100% rollout gradually
- 🔧 Variables: store key/value pairs for remote config namespaced under each feature
- 🎯 Consistent bucketing: makes sure same user gets same variation across devices/sessions
- 🌏 Multiple environments: Go beyond just staging and production to fit your needs
- 🏷️ Tagging: Load only features relevant to your application, avoiding bloat
- 👁️ Tracking: Track experiment activations with your favourite analytics tool
16- Flagged for React
Flagged is a free and open-source feature flag solution for React that offers a Hooks API, High Order Component API, and Render Props API. It supports TypeScript, has zero dependencies, and allows for nested flags.
17- Tweek for C#
Tweek is an open-source feature management solution designed to customize applications and system behavior without deploying new code. It positions itself as a comprehensive alternative to industry solutions like Facebook's Gatekeeper, LinkedIn's XLNT, Dropbox's Stormcrow, and other commercial SaaS solutions.
Features
- Feature toggles, gradual release
- Multi-variant experiments, A/B testing
- Built-in editor with user friendly UI
- Hierarchical configurations
- Advanced targeting of users/groups
- Dependencies between features
- Customizable schema/domain model
- Auditing
- Integrated storage for saving context
- Container friendly
- Integrated OAuth support
- Pluggable storage backend
- Simple RESTful api for fetching configurations
- Scalable
18- FeatureHub
FeatureHub is a Cloud Native platform that assists software teams in managing their features, including feature flags, A/B experiments, and remote or centralized configuration. It is available as both a self-hosted Open Source service and a cloud-based SaaS service.
19- Bucketeer
Bucketeer is an open-source platform designed to enhance decision-making and reduce deployment lead time and release risk through feature flags. It offers advanced features like dark launch and staged rollouts for limited releases based on user attributes and devices. The team is simplifying the installation process for easier usage.
Key Features
- Feature Flags for efficient, low-risk release cycle
- Dark Launch and Staged Rollouts
- Continuous deployment of new features
- A/B Testing
- Bayesian algorithm for A/B test analysis
- Trunk-based development for faster code review to release process
- Support for various languages and runtimes
- Client-side support for Android, iOS, Javascript, and Flutter
- Server-side support for Go and NodeJS
20- SwitchFeat
SwitchFeat is an open source, self-hosted feature flags and A/B testing framework designed to minimize deployment risks and accelerate feature development. It is written in Node.js, Typescript, and React.