CINXE.COM
Project Perspectives: Apache Weex (incubating) and The Apache Way - The Apache Software Foundation Blog
<!doctype html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO plugin v23.9 - https://yoast.com/wordpress/plugins/seo/ --> <title>Project Perspectives: Apache Weex (incubating) and The Apache Way - The Apache Software Foundation Blog</title> <link rel="canonical" href="https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Project Perspectives: Apache Weex (incubating) and The Apache Way - The Apache Software Foundation Blog" /> <meta property="og:description" content="by York Shen, member of the Apache Weex Project Management Committee I am a Project Management Committee (PMC) member of Apache Weex (Incubating), a cross-platform mobile development framework, widely used in many mobile apps, among top of which have nearly 0.7 billion MAU (Monthly Active Users). Weex became an Open Source project in early 2016 […]" /> <meta property="og:url" content="https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating" /> <meta property="og:site_name" content="The Apache Software Foundation Blog" /> <meta property="article:published_time" content="2019-05-20T23:44:58+00:00" /> <meta name="author" content="Sally" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@TheASF" /> <meta name="twitter:site" content="@TheASF" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Sally" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="6 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating#article","isPartOf":{"@id":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating"},"author":{"name":"Sally","@id":"https://news.apache.org/#/schema/person/6eee6c6d22a7dbc2b289178576630c2d"},"headline":"Project Perspectives: Apache Weex (incubating) and The Apache Way","datePublished":"2019-05-20T23:44:58+00:00","dateModified":"2019-05-20T23:44:58+00:00","mainEntityOfPage":{"@id":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating"},"wordCount":1128,"publisher":{"@id":"https://news.apache.org/#organization"},"articleSection":["SuccessAtApache"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating","url":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating","name":"Project Perspectives: Apache Weex (incubating) and The Apache Way - The Apache Software Foundation Blog","isPartOf":{"@id":"https://news.apache.org/#website"},"datePublished":"2019-05-20T23:44:58+00:00","dateModified":"2019-05-20T23:44:58+00:00","breadcrumb":{"@id":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating"]}]},{"@type":"BreadcrumbList","@id":"https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://news.apache.org/"},{"@type":"ListItem","position":2,"name":"Project Perspectives: Apache Weex (incubating) and The Apache Way"}]},{"@type":"WebSite","@id":"https://news.apache.org/#website","url":"https://news.apache.org/","name":"The Apache Software Foundation Blog","description":"The Apache Software Foundation Blog","publisher":{"@id":"https://news.apache.org/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://news.apache.org/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://news.apache.org/#organization","name":"The Apache Software Foundation Blog","url":"https://news.apache.org/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://news.apache.org/#/schema/logo/image/","url":"https://news.apache.org/wp-content/uploads/2022/04/badge-scaled.jpg","contentUrl":"https://news.apache.org/wp-content/uploads/2022/04/badge-scaled.jpg","width":2560,"height":2560,"caption":"The Apache Software Foundation Blog"},"image":{"@id":"https://news.apache.org/#/schema/logo/image/"},"sameAs":["https://x.com/TheASF"]},{"@type":"Person","@id":"https://news.apache.org/#/schema/person/6eee6c6d22a7dbc2b289178576630c2d","name":"Sally","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://news.apache.org/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/528c2c0c4e2435aa359a19bf20437c77?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/528c2c0c4e2435aa359a19bf20437c77?s=96&d=mm&r=g","caption":"Sally"},"url":"https://news.apache.org/foundation/entry/author/sk"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//fonts-api.wp.com' /> <link rel="alternate" type="application/rss+xml" title="The Apache Software Foundation Blog » Feed" href="https://news.apache.org/feed" /> <link rel="alternate" type="application/rss+xml" title="The Apache Software Foundation Blog » Comments Feed" href="https://news.apache.org/comments/feed" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/news.apache.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <link rel='stylesheet' id='all-css-d14098cff9b9caa953a96abd30dfff35' href='https://news.apache.org/_static/??-eJytU0t2wyAMvFAxL03TtIu+ngWDTIgFuAji+vbFiXF+/SzqnUbSzAie1HdMehfBRd5h0sYR1ynDGoLmdTKoeI1etgxNHUQYOMUBoZJED/09FcXgU2Q6GHXdaJzEpID4nrgFZQQg2JF5CbpMh8AQtJBDZY37k51rl/iSczvaiIWMrPHBsi2fJXP7aVT6idl3rTcsgs3zRaBRgU2GPvApIi6IIJ70ToxS+afu2UAdhJOg2A6EMk4Xx9v8Un7SJxeV7938tJJYykGJ0FqvoBgUvJQ+yeAR85dkzmcsLtfZpbygaUCe12CCt+pxl9tpPCndAijx/TnddY1L1eQiEz2QtzAnJswEIjtsqnW1+u0GWhh6HxQxiT6po8j+4xgX1rt9W23Xq9fHzdPL8xdUl5TK' type='text/css' media='all' /> <style id='wp-block-library-inline-css'> .has-text-align-justify{text-align:justify;} </style> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} </style> <link rel='stylesheet' id='blogkeeda-fonts-css' href='https://fonts-api.wp.com/css2?family=Montserrat:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap' media='all' /> <style id='jetpack-global-styles-frontend-style-inline-css'> :root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;} </style> <script id="jetpack-mu-wpcom-settings-js-before"> var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https:\/\/news.apache.org\/wp-content\/mu-plugins\/wpcomsh\/vendor\/automattic\/jetpack-mu-wpcom\/src\/build\/"}; </script> <script type='text/javascript' src='https://news.apache.org/_static/??wp-includes/js/dist/vendor/wp-polyfill.min.js,wp-content/plugins/gutenberg/build/hooks/index.min.js?m=1728466210'></script> <script src="https://news.apache.org/wp-content/plugins/gutenberg/build/i18n/index.min.js?ver=bd5a2533e717a1043151" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script src="https://news.apache.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type='text/javascript' src='https://news.apache.org/wp-includes/js/jquery/jquery-migrate.min.js?m=1686289764'></script> <link rel="https://api.w.org/" href="https://news.apache.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://news.apache.org/wp-json/wp/v2/posts/3893" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://news.apache.org/xmlrpc.php?rsd" /> <link rel='shortlink' href='https://news.apache.org/?p=3893' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://news.apache.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fnews.apache.org%2Ffoundation%2Fentry%2Fproject-perspectives-apache-weex-incubating" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://news.apache.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fnews.apache.org%2Ffoundation%2Fentry%2Fproject-perspectives-apache-weex-incubating&format=xml" /> <style>img#wpstats{display:none}</style> <style type="text/css"></style><meta name="generator" content="Elementor 3.25.10; features: additional_custom_breakpoints, e_optimized_control_loading; settings: css_print_method-external, google_font-enabled, font_display-auto"> <!-- Enter your scripts here --> <style> .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * { background-image: none !important; } @media screen and (max-height: 1024px) { .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * { background-image: none !important; } } @media screen and (max-height: 640px) { .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * { background-image: none !important; } } </style> <style type="text/css"> .site-title a, .site-description { color: #ff6600; } </style> <link rel="icon" href="https://news.apache.org/wp-content/uploads/2022/08/cropped-favicon-194x194-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://news.apache.org/wp-content/uploads/2022/08/cropped-favicon-194x194-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://news.apache.org/wp-content/uploads/2022/08/cropped-favicon-194x194-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://news.apache.org/wp-content/uploads/2022/08/cropped-favicon-194x194-1-270x270.png" /> </head> <body class="post-template-default single single-post postid-3893 single-format-standard wp-custom-logo elementor-default elementor-kit-2702"> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#primary">Skip to content</a> <header id="mainHeader" class="site-header"> <div class="mainNavbar"> <a href="https://news.apache.org/" class="custom-logo-link" rel="home"><img width="2560" height="2560" src="https://news.apache.org/wp-content/uploads/2022/04/badge-scaled.jpg" class="custom-logo" alt="The Apache Software Foundation Blog" decoding="async" srcset="https://news.apache.org/wp-content/uploads/2022/04/badge-scaled.jpg 2560w, https://news.apache.org/wp-content/uploads/2022/04/badge-scaled-300x300.jpg 300w, https://news.apache.org/wp-content/uploads/2022/04/badge-scaled-100x100.jpg 100w" sizes="(max-width: 2560px) 100vw, 2560px" /></a> <span class="site-title"><a href="https://news.apache.org/" rel="home">The Apache Software Foundation Blog</a></span> <nav id="site-navigation" class="main-navigation"> <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"> <span class="screen-reader-text">Primary Menu</span><i class="fa fa-plus"></i> </button> <div class="menu-topnav-container"><ul id="primary-menu" class="menu"><li id="menu-item-896" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-896"><a href="https://apache.org">The Foundation<i class="fa fa-angle-down"></i></a></li> <li id="menu-item-897" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-897"><a href="https://projects.apache.org/">Projects<i class="fa fa-angle-down"></i></a></li> <li id="menu-item-898" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-898"><a href="https://home.apache.org/">People<i class="fa fa-angle-down"></i></a></li> <li id="menu-item-899" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-899"><a href="https://apache.org/foundation/getinvolved.html">Get Involved<i class="fa fa-angle-down"></i></a></li> <li id="menu-item-900" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-900"><a href="https://apache.org/foundation/sponsorship.html">Support the ASF<i class="fa fa-angle-down"></i></a></li> <li id="menu-item-901" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-901"><a href="https://apache.org/dyn/closer.cgi">Download<i class="fa fa-angle-down"></i></a></li> </ul></div> </nav><!-- #site-navigation --> <br> <span class="site-description"><a href="https://news.apache.org/" rel="home">The Apache Software Foundation Blog</a></span> </header><!-- #masthead --> <div class="content"> <div class="breadcrumbs"> <nav role="navigation" aria-label="Breadcrumbs" class="breadcrumb-trail breadcrumbs" itemprop="breadcrumb"><ol class="trail-items breadcrumb bg-transparent d-flex justify-content-center" itemscope itemtype="http://schema.org/BreadcrumbList"><meta name="numberOfItems" content="2" /><meta name="itemListOrder" content="Ascending" /><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="trail-item breadcrumb-item trail-begin"><a href="https://news.apache.org" rel="home" itemprop="item"><span itemprop="name">Home</span></a><meta itemprop="position" content="1" /></li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="trail-item breadcrumb-item trail-end"><a href="https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating" itemprop="item"><span itemprop="name">Project Perspectives: Apache Weex (incubating) and The Apache Way</span></a><meta itemprop="position" content="2" /></li></ol></nav> </div> <main id="primary" class="site-main"> <div class="contentSection"> <article id="post-3893" class="post-3893 post type-post status-publish format-standard hentry category-successatapache"> <div class="imgArea"> </div> <header class="entry-header"> <h2 class="entry-title">Project Perspectives: Apache Weex (incubating) and The Apache Way</h2> <div class="entry-meta"> <span class="byline"> Posted by <span class="author vcard"><a class="url fn n" href="https://news.apache.org/foundation/entry/author/sk">Sally</a></span></span> <span class="posted-on"><a href="https://news.apache.org/foundation/entry/project-perspectives-apache-weex-incubating" rel="bookmark"><time class="entry-date published updated" datetime="2019-05-20T23:44:58+00:00">May 20, 2019</time></a></span><span class="cat-ats"><a href="https://news.apache.org/foundation/entry/category/successatapache" rel="category tag">SuccessAtApache</a></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> <div>by York Shen, member of the <a href="https://weex.apache.org/">Apache Weex</a> Project Management Committee </div> <div> </div> <div> <p>I am a Project Management Committee (PMC) member of Apache Weex (Incubating), a cross-platform mobile development framework, widely used in many mobile apps, among top of which have nearly 0.7 billion MAU (Monthly Active Users). Weex became an Open Source project in early 2016 and entered the Apache Incubator in December 2016. As a PMC member, I have been with the project from beginning to today; it is an exciting journey mixed with challenge and suffering, and the journey is not end yet. </p> </p></div> <h2>Challenge</h2> <blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;"> <div> <p><em><strong>"This is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning." <br /></strong></em>–Winston Churchill</p> </p></div> </blockquote> <div>As The Apache Software Foundation (ASF) divides its projects into two types, namely Top-Level Projects (TLPs) and Incubator projects (known as "podlings"), joining the Apache Incubator is not the end. Instead, it is just a beginning.</div> <h2>Community</h2> <p>As a project under the ASF, Weex should and would do things under <a href="http://apache.org/theapacheway/">The Apache Way</a>. But as one might imagine, there are a few problems Weex has to solve:</p> <div>It is said that "If it didn’t happen on (a mailing) list, it didn’t happen". As Weex was developed by Alibaba Inc. and donated to ASF, it is not surprising that some contributors and committers of Weex are full-time employees of Alibaba Inc. For example, there were many internal IM and face-to-face communications, which is not an an endorsed way of project management and operation under The Apache Way. Also, many Weex contributors and users are Chinese, and they preferred Chinese to communicate, report bugs, and write documentation, which is also not typical under The Apache Way.</div> <h2>Engineering and Product</h2> <div> <p>There are some technical issues due to the feature of Weex:</p> </p></div> <div>As both Android and iOS system are upgraded each year, their features and APIs also get updates each year. Weex is a cross-platform framework and designed to provide mobile feature with front-end technology, which means that it is not a easy task to map these Java (for Android system) and Objective-C (for iOS system) APIs to front-end world. Yearly updates of these systems makes it even harder.</div> <div></div> <div>Users of Weex are mainly front-end engineers while the project’s contributors and committers are Android and iOS developers: there is a technological stack gap between users and Weex contributors.</div> <div></div> <div>The active committers of Weex are not enough: it is difficult to maintain a project that provides Operating System API with about ten active committers.</div> <div></div> <h2>Weex Way</h2> <div>Open Source is more than just code.</div> <div></div> <div>Weex has two repositories: one from before its donation to the ASF, and the other is after that. There are are nearly 30 thousand stars on GitHub among these two repositories: what an exciting number! But Open Source is more than just about code.</div> <h2>Community</h2> <div> <p>Community Over Code.</p> </p></div> <div>Currently, most Open Source projects will adopt one of the governance structures:</div> <div> <ul> <li>BDFL (benevolent dictator for life)</li> <li>Meritocracy</li> <li>Liberal contribution</li> </ul></div> <div></div> <div>The Apache Way promotes earned authority, the ASF champions Meritocracy, where community is over code.</div> <div></div> <h2>Mailing List</h2> <p>"If it didn’t happen on (a mailing) list, it didn’t happen."</p> <div>As mentioned above, many Weex contributors and committers are employees of commercial companies, and some of their companies even prefer Weex in their production environment. Therefore we, as employees, receive a great deal of feature requests from our coworkers, who often choose face-to-face conversations to discuss new features.</div> <div></div> <div>Code commits without discussion in mailing lists is not what Weex’s PMC wants, nor is it The Apache Way either. Therefore, the Apache Weex PMC needs to enforce some rules to make things right: </div> <div></div> <div>The dev@ mailing list is the only official communication channel, all features must be discussed in the mailing list before coding except tiny bugfix like fixing a null pointer exception.</div> <div></div> <div>Move Github PR and Issue from dev@ to a separate mailing list to avoid noise.</div> <div></div> <h2>Decision Making</h2> <div>Apache Weex is overseen by the ASF and developed by a community of developers. It is important to follow the Consensus building and Voting procedures. The procedure is transparent and search engine-friendly to all users worldwide. It is normal that someone stops maintaining a project due to their interests changing or perhaps a change in their work situation. Projects that obey the previous consensus building and decision making procedures are normally more stable and robust in the long term compared with projects that don’t, as current maintainers would have a better understanding of what was happening before by searching a mailing list.</div> <div></div> <div>By default, the official language used in Apache mailing lists is English, which causes some problems for many Weex users who are Chinese and not proficient or comfortable at communicating in English. Therefore, enthusiastic contributors of Apache Weex would often prefer to use Google Translate to translate Chinese to English to let others known what is happening, and politely remind the original author to use Chinese next time. It is a time consuming and tedious job to translate others’ posts, but it is worthy to let the rest of the world understand what is happening here (on list).</div> <div></div> <div>In fact, there is a discussion about language used in the Weex mailing lists.</div> <div>Engineering and Product</div> <div>Infrastructure</div> <div></div> <div>Many users prefer Weex in their commercial products, among top of which have nearly 0.7 billion MAU. In such cases, project stability is our priority, as 99.999% availability only means that ten thousands of end users may experience problems.</div> <div></div> <div>Therefore, we choose to reduce or remove features from Weex instead of adding them:</div> <div></div> <div>The priority of Weex now is stability, which means only bugfixes are allowed;</div> <div>New features should be imported to Weex as a plugin, which allows developers to choose to enable or disable a certain plugin;</div> <div></div> <h2>Developers’ Feedback</h2> <div></div> <div>We also make a feedback convention between our users and contributors in order for user problems to be solved efficiently.</div> <div></div> <div>Github Issues are only for Bug Feedbacks: other problems should go through mailing list.</div> <div></div> <div>It is important to report a bug according to the bug reporting template.</div> <div></div> <h2>Future Growth</h2> <p>There are many end users that choose Weex in their commercial product, among which include Taobao Mobile, with hundreds of millions of users. For a list of known companies using Apache Weex, please see <a href="https://weex.apache.org/community/who-is-using-weex.html">https://weex.apache.org/community/who-is-using-weex.html</a> .</p> <div> <p>For now, Weex is still a project under development in the Apache Incubator. We welcome you to join the Apache Weex community. Visit us at <a href="https://weex.apache.org/">https://weex.apache.org/</a></p> <p># # # </p> </p></div> <div> <p><span style="color: #222222; font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif; font-size: 12.8px; background-color: #f9f7ed;">Part of the </span><a href="https://blogs.apache.org/foundation/category/SuccessAtApache" style="font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif; font-size: 12.8px; background-color: #f9f7ed;">"Success at Apache"</a><span style="color: #222222; font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif; font-size: 12.8px; background-color: #f9f7ed;"> series, Project Perspectives chronicles how projects and their communities have benefited from The Apache Way.</span></p> </p></div> </div><!-- .entry-content --> </article><!-- #post-3893 --> <nav class="navigation post-navigation" aria-label="Posts"> <h2 class="screen-reader-text">Post navigation</h2> <div class="nav-links"><div class="nav-previous"><a href="https://news.apache.org/foundation/entry/the-apache-news-round-up123" rel="prev"><i class="fa fa-angle-left"></i> <span class="nav-subtitle">Previous:</span> <span class="nav-title">The Apache News Round-up: week ending 17 May 2019</span></a></div><div class="nav-next"><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-announces52" rel="next"><span class="nav-subtitle">Next:</span> <span class="nav-title">The Apache Software Foundation Announces Apache® Dubbo™ as a Top-Level Project</span> <i class="fa fa-angle-right"></i></a></div></div> </nav> </div> <aside id="secondary" class="widget-area sidebar"> <section id="block-2" class="widget widget_block widget_search"><form role="search" method="get" action="https://news.apache.org/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >Search</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button wp-element-button" type="submit" >Search</button></div></form></section><section id="block-3" class="widget widget_block"> <div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"> <h2 class="wp-block-heading">Recent Posts</h2> <ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://news.apache.org/foundation/entry/asf-project-spotlight-apache-tika">ASF Project Spotlight: Apache Tika </a></li> <li><a class="wp-block-latest-posts__post-title" href="https://news.apache.org/foundation/entry/community-collaboration-encourages-first-time-asf-contributors-to-continue-their-journey-with-open-source-software">Community Collaboration Encourages First-Time ASF Contributors to Continue Their Journey with Open Source Software </a></li> <li><a class="wp-block-latest-posts__post-title" href="https://news.apache.org/foundation/entry/asf-plus-one-newsletter-october-2024">ASF Plus One Newsletter: October 2024</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://news.apache.org/foundation/entry/apache-software-foundation-announces-apache-tomcat-11-0">Apache Software Foundation Announces Apache Tomcat 11.0 </a></li> <li><a class="wp-block-latest-posts__post-title" href="https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-apache-cassandra-5-0-the-most-advanced-secure-and-ai-ready-cassandra-yet">Apache Software Foundation Announces Apache Cassandra® 5.0, the Most Advanced, Secure, and AI-Ready Cassandra Yet</a></li> </ul></div></div> </section><section id="block-4" class="widget widget_block"> <div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"></div></div> </section><section id="block-6" class="widget widget_block"> <div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"> <h2 class="wp-block-heading">Categories</h2> </div></div> </section><section id="block-11" class="widget widget_block widget_categories"><ul class="wp-block-categories-list wp-block-categories"> <li class="cat-item cat-item-30"><a href="https://news.apache.org/foundation/entry/category/apache-incubator">Apache Incubator</a> </li> <li class="cat-item cat-item-53"><a href="https://news.apache.org/foundation/entry/category/community">Community</a> </li> <li class="cat-item cat-item-40"><a href="https://news.apache.org/foundation/entry/category/events">Events</a> </li> <li class="cat-item cat-item-51"><a href="https://news.apache.org/foundation/entry/category/first-contributions">First Contributions</a> </li> <li class="cat-item cat-item-4"><a href="https://news.apache.org/foundation/entry/category/foundation">Foundation</a> </li> <li class="cat-item cat-item-60"><a href="https://news.apache.org/foundation/entry/category/plus-one-newsletter">Plus One Newsletter</a> </li> <li class="cat-item cat-item-52"><a href="https://news.apache.org/foundation/entry/category/press-releases">Press Releases</a> </li> <li class="cat-item cat-item-7"><a href="https://news.apache.org/foundation/entry/category/projects">Projects</a> </li> <li class="cat-item cat-item-5"><a href="https://news.apache.org/foundation/entry/category/roundups">Roundups</a> </li> <li class="cat-item cat-item-57"><a href="https://news.apache.org/foundation/entry/category/security">Security</a> </li> <li class="cat-item cat-item-8"><a href="https://news.apache.org/foundation/entry/category/successatapache">SuccessAtApache</a> </li> <li class="cat-item cat-item-1"><a href="https://news.apache.org/foundation/entry/category/uncategorized">Uncategorized</a> </li> </ul></section><section id="block-5" class="widget widget_block"> <div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"> <h2 class="wp-block-heading">Archives</h2> <ul class="wp-block-archives-list wp-block-archives"> <li><a href='https://news.apache.org/foundation/entry/2024/10'>October 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/09'>September 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/08'>August 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/07'>July 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/06'>June 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/05'>May 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/04'>April 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/03'>March 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/02'>February 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2024/01'>January 2024</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/12'>December 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/11'>November 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/10'>October 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/09'>September 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/08'>August 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/07'>July 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/06'>June 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/05'>May 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/04'>April 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/03'>March 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/02'>February 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2023/01'>January 2023</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/11'>November 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/10'>October 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/09'>September 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/08'>August 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/07'>July 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/06'>June 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/05'>May 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/04'>April 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/03'>March 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/02'>February 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2022/01'>January 2022</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/12'>December 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/11'>November 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/10'>October 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/09'>September 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/08'>August 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/07'>July 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/06'>June 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/05'>May 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/04'>April 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/03'>March 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/02'>February 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2021/01'>January 2021</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/12'>December 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/11'>November 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/10'>October 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/09'>September 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/08'>August 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/07'>July 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/06'>June 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/05'>May 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/04'>April 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/03'>March 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/02'>February 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2020/01'>January 2020</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/12'>December 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/11'>November 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/10'>October 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/09'>September 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/08'>August 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/07'>July 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/06'>June 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/05'>May 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/04'>April 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/03'>March 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/02'>February 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2019/01'>January 2019</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/12'>December 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/11'>November 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/10'>October 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/09'>September 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/08'>August 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/07'>July 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/06'>June 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/05'>May 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/04'>April 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/03'>March 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/02'>February 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2018/01'>January 2018</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/12'>December 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/11'>November 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/10'>October 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/09'>September 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/08'>August 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/07'>July 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/06'>June 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/05'>May 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/04'>April 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/03'>March 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/02'>February 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2017/01'>January 2017</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/12'>December 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/11'>November 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/10'>October 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/09'>September 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/08'>August 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/07'>July 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/06'>June 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/05'>May 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/04'>April 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/03'>March 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/02'>February 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2016/01'>January 2016</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/12'>December 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/11'>November 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/10'>October 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/09'>September 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/08'>August 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/07'>July 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/06'>June 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/05'>May 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/04'>April 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/03'>March 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/02'>February 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2015/01'>January 2015</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/12'>December 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/11'>November 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/10'>October 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/09'>September 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/08'>August 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/07'>July 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/06'>June 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/05'>May 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/04'>April 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/03'>March 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/02'>February 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2014/01'>January 2014</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/12'>December 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/11'>November 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/10'>October 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/09'>September 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/07'>July 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/06'>June 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/04'>April 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/03'>March 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2013/01'>January 2013</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/12'>December 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/10'>October 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/09'>September 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/08'>August 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/07'>July 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/06'>June 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/05'>May 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/04'>April 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/03'>March 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/02'>February 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2012/01'>January 2012</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/12'>December 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/11'>November 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/10'>October 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/09'>September 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/08'>August 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/07'>July 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/06'>June 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/05'>May 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/03'>March 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/02'>February 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2011/01'>January 2011</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/12'>December 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/11'>November 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/10'>October 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/09'>September 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/08'>August 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/07'>July 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/06'>June 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/05'>May 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/04'>April 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/03'>March 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/02'>February 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2010/01'>January 2010</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/12'>December 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/11'>November 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/09'>September 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/08'>August 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/07'>July 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/05'>May 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/04'>April 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2009/03'>March 2009</a></li> <li><a href='https://news.apache.org/foundation/entry/2000/09'>September 2000</a></li> </ul></div></div> </section></aside><!-- #secondary --> </main><!-- #main --> </div><!-- .content --> <footer id="footerSection" class="site-footer"> <div class="site-info"> <p class="copyright"> <span>The Apache Software Foundation Blog</span> <span>© </span><span class="copyright-year">2024</span> All rights reserved. </p> <p class="copyright"> <a href="https://wordpress.com/?ref=footer_custom_powered">Powered by WordPress.com</a>. Theme by Arinio Themes </p> </div><!-- .site-info --> </footer><!-- #footerSection --> </div><!-- #page --> <!-- --> <script defer id="bilmur" data-customproperties="{"woo_active":"0"}" data-provider="wordpress.com" data-service="atomic" src="https://s0.wp.com/wp-content/js/bilmur.min.js?m=202447"></script> <!-- Enter your scripts here --> <script type='text/javascript'> const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); </script> <script type='text/javascript' src='https://news.apache.org/wp-content/plugins/contact-form-7/includes/swv/js/index.js?m=1730661750'></script> <script id="contact-form-7-js-before"> var wpcf7 = { "api": { "root": "https:\/\/news.apache.org\/wp-json\/", "namespace": "contact-form-7\/v1" }, "cached": 1 }; </script> <script src="https://news.apache.org/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0" id="contact-form-7-js"></script> <script type='text/javascript' src='https://news.apache.org/_static/??-eJwrL9BNzs8rSc0r0S/IKU3PzCvWz06tLM8vSinWTc7JL03RzyrWzyoEM/VyM/P0sop1yonRgyqCpq0kIzU3tVg/KSc/PTs1NSURpCEvsSwzPbEkMx9kh32uraGZmYGFqYGxmSkAc/E9Uw=='></script> <script src="https://stats.wp.com/e-202447.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"209787367\",\"post\":\"3893\",\"tz\":\"0\",\"srv\":\"news.apache.org\",\"hp\":\"atomic\",\"ac\":\"2\",\"amp\":\"0\",\"j\":\"1:14.1-a.3\"}") ]); _stq.push([ "clickTrackerInit", "209787367", "3893" ]); </script> </body> </html>