1"use strict";(globalThis.webpackChunkdocs||=[]).push([[6927],{6618(e,t,n){n.r(t),n.d(t,{default:()=>f,metadata:()=>a});var a=n(32852),r=n(74848),o=n(28453);const i={slug:"openfeature-a-standard-for-feature-flagging",title:"OpenFeature - a standard for feature flagging",date:new Date("2022-05-19T00:00:00.000Z"),authors:["petehodgson"],description:"OpenFeature is a new open standard for feature-flagging. Why we need an open standard for what's essentially a glorified if statement? Let me explain...",draft:!1},s={authorsImageUrls:[void 0]};function l(e){const t={a:"a",h2:"h2",li:"li",ol:"ol",p:"p",section:"section",sup:"sup",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["I've recently been involved",(0,r.jsx)(t.sup,{children:(0,r.jsx)(t.a,{href:"#user-content-fn-1-16754a",id:"user-content-fnref-1-16754a","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})," in ",(0,r.jsx)(t.a,{href:"https://openfeature.dev",children:"OpenFeature"}),", an effort to define a standard API and SDK for feature flagging. At first glance, you might wonder whether feature flagging needs a standard. It's just a function call and an if statement, right? Well, no, not really. I'll explain why, and then talk about some of the benefits that I hope OpenFeature will bring to the space."]}),"\n",(0,r.jsx)(t.h2,{id:"the-feature-flagging-iceberg",children:"The Feature Flagging iceberg"}),"\n",(0,r.jsx)(t.p,{children:"When I talk to people about adopting feature flags, I often describe feature flag management as a bit of an iceberg. On the surface, feature flagging seems really simple, almost trivial. You call a function to find out the state of a flag, and then you either go down one code path, or the other. However, once you get into it turns out that there's a fair bit of complexity lurking under the surface."}),"\n",(0,r.jsx)("img",{src:n(27362).A}),"\n",(0,r.jsx)(t.p,{children:"Organizations that begin using feature flags at any sort of scale quickly learn that they need some of that functionality lurking under the surface. This is why flag management platforms like LaunchDarkly and Split.io exist. Their value is not in providing a fancy if statement, it's in all those extra features lurking below the surface - a web-based management interface, the ability to perform controlled incremental rollout, permissions and audit trails, integration into analytics systems, and so on."}),"\n","\n",(0,r.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,r.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{id:"user-content-fn-1-16754a",children:["\n",(0,r.jsxs)(t.p,{children:["I'm currently serving as a member of the Bootstrap Governing Committee ",(0,r.jsx)(t.a,{href:"#user-content-fnref-1-16754a","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21a9"})]}),"\n"]}),"\n"]}),"\n"]})]})}function f(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}n.d(t,["assets",0,s,"contentTitle",0,undefined,"frontMatter",0,i,"toc",0,[{value:"The Feature Flagging iceberg",id:"the-feature-flagging-iceberg",level:2}]])},27362(e,t,n){const a=n.p+"assets/images/feature-flagging-iceberg-af498cde80bbda17407fbff0309f971c.png";n.d(t,["A",0,a])},28453(e,t,n){n.d(t,{R:()=>i,x:()=>s});var a=n(96540);const r={},o=a.createContext(r);function i(e){const t=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(o.Provider,{value:t},e.children)}},32852(e){e.exports=JSON.parse('{"permalink":"/blog/openfeature-a-standard-for-feature-flagging","editUrl":"https://github.com/open-feature/openfeature.dev/edit/main/blog/2022-05-19-announcing-open-feature.md","source":"@site/blog/2022-05-19-announcing-open-feature.md","title":"OpenFeature - a standard for feature flagging","description":"OpenFeature is a new open standard for feature-flagging. Why we need an open standard for what\'s essentially a glorified if statement? Let me explain...","date":"2022-05-19T00:00:00.000Z","tags":[],"readingTime":5.8,"hasTruncateMarker":true,"authors":[{"name":"Pete Hodgson","title":"Software delivery consultant, OpenFeature contributor","url":"https://thepete.net","imageURL":"https://github.com/moredip.png","key":"petehodgson","page":null}],"frontMatter":{"slug":"openfeature-a-standard-for-feature-flagging","title":"OpenFeature - a standard for feature flagging","date":"2022-05-19T00:00:00.000Z","authors":["petehodgson"],"description":"OpenFeature is a new open standard for feature-flagging. Why we need an open standard for what\'s essentially a glorified if statement? Let me explain...","draft":false},"unlisted":false,"prevItem":{"title":"Collection of external articles","permalink":"/blog/external-posts"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.