1"use strict";(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[7972],{549(e,n,r){r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>t,toc:()=>l});var t=r(9682),o=r(4848),s=r(8453);const a={title:"Open Sourcing Infer, 1 Year On",author:"Jules Villard"},i=void 0,c={authorsImageUrls:[void 0]},l=[];function h(e){const n={a:"a",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["It's been a little over a year ago since we\n",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer/commit/b8982270f2423864c236ff8dcdbeb5cd82aa6002",children:"open-sourced Infer"}),"\non 9 June 2016!"]}),"\n",(0,o.jsx)(n.p,{children:"The Infer GitHub repo has seen a lot of activity since then:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["5350 stars on ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer",children:"GitHub"})]}),"\n",(0,o.jsxs)(n.li,{children:["339 ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer/issues",children:"issues"})," opened"]}),"\n",(0,o.jsxs)(n.li,{children:["44 ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer/pulls",children:"pull requests"})," by 15 contributors"]}),"\n",(0,o.jsxs)(n.li,{children:["10 ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer/releases/",children:"releases"})]}),"\n",(0,o.jsxs)(n.li,{children:["5 external companies officially using Infer (add yourself\n",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer/edit/main/website/src/pages/index.js",children:"here"}),")"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Infer was presented at 13 academic and tech international conferences, and at 8\nuniversities around the world!"}),"\n",(0,o.jsxs)(n.p,{children:["Amongst these was\n",(0,o.jsx)(n.a,{href:"https://code.facebook.com/posts/1566627733629653/mobile-scale-london-recap/",children:"Mobile@Scale"}),"\nin March 2016, where we ",(0,o.jsx)(n.a,{href:"/blog/2016/03/17/collaboration-with-spotify",children:"announced"}),"\nour collaboration with ",(0,o.jsx)(n.a,{href:"https://www.spotify.com/",children:"Spotify"}),". Around the same\ntime, ",(0,o.jsx)(n.a,{href:"https://www.uber.com/",children:"Uber"})," presented at\n",(0,o.jsx)(n.a,{href:"http://sf.droidcon.com/",children:"Droidcon SF"})," their\n",(0,o.jsx)(n.a,{href:"https://github.com/uber-common/rave",children:"Rave"})," + Infer combo to\n",(0,o.jsx)(n.a,{href:"https://speakerdeck.com/lukestclair/frameworks-for-coding-confidence",children:"help their developers move fast"}),",\nand open-sourced a\n",(0,o.jsx)(n.a,{href:"https://github.com/uber-common/infer-plugin",children:"Gradle plugin for Infer"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Infer has also been used to introduce static analysis to students in university\ncourses, including at ",(0,o.jsx)(n.a,{href:"http://www.ucl.ac.uk/",children:"UCL"}),",\n",(0,o.jsx)(n.a,{href:"http://www.imperial.ac.uk/",children:"Imperial College"}),", and\n",(0,o.jsx)(n.a,{href:"http://www.qmul.ac.uk/",children:"Queen Mary University"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["In May, ",(0,o.jsx)(n.a,{href:"http://facebook.github.io/reason/",children:"Reason"})," was released publicly and,\nsimultaneously, Infer became the first ever project to\n",(0,o.jsx)(n.a,{href:"https://github.com/facebook/infer/commit/885beed0b14e8ef4b6e8a0aa3f4239e60c4e567b",children:"use Reason"}),"!\nReason is a new syntax for ",(0,o.jsx)(n.a,{href:"http://ocaml.org/",children:"OCaml"}),", the programming language\nin which Infer is written."]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},8453(e,n,r){r.d(n,{R:()=>a,x:()=>i});var t=r(6540);const o={},s=t.createContext(o);function a(e){const n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),t.createElement(s.Provider,{value:n},e.children)}},9682(e){e.exports=JSON.parse('{"permalink":"/blog/2016/06/23/first-opensourceversary","source":"@site/blog/2016-06-23-first-opensourceversary.md","title":"Open Sourcing Infer, 1 Year On","description":"It\'s been a little over a year ago since we","date":"2016-06-23T00:00:00.000Z","tags":[],"readingTime":1.29,"hasTruncateMarker":false,"authors":[{"name":"Jules Villard","key":null,"page":null}],"frontMatter":{"title":"Open Sourcing Infer, 1 Year On","author":"Jules Villard"},"unlisted":false,"prevItem":{"title":"Video of CurryOn Rome talk. Move Fast to Fix More Things","permalink":"/blog/2016/08/30/curryon-rome-talk"},"nextItem":{"title":"Talk at Mobile@Scale London","permalink":"/blog/2016/04/07/mobileatscale-london-talk"}}')}}]);
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.