<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>William Hyun added as committer</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta name="generator" content="Jekyll v3.8.6">
  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
  <link rel="stylesheet" href="/css/screen.css">
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
  <!--[if lt IE 9]>
  <script src="/js/html5shiv.min.js"></script>
  <script src="/js/respond.min.js"></script>
  <![endif]-->
</head>


<body class="wrap">
  <header role="banner">
  <nav class="mobile-nav show-on-mobiles">
    <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/releases/"><span class="show-on-mobiles">Rel</span>
                         <span class="hide-on-mobiles">Releases</span></a>
  </li>
  <li class="">
    <a href="/docs/"><span class="show-on-mobiles">Doc</span>
                     <span class="hide-on-mobiles">Documentation</span></a>
  </li>
  <li class="">
    <a href="/talks/"><span class="show-on-mobiles">Talk</span>
                      <span class="hide-on-mobiles">Talks</span></a>
  </li>
  <li class="current">
    <a href="/news/">News</a>
  </li>
  <li class="">
    <a href="/develop/"><span class="show-on-mobiles">Dev</span>
                        <span class="hide-on-mobiles">Develop</span></a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

  </nav>
  <div class="grid">
    <div class="unit one-quarter center-on-mobiles">
      <h1>
        <a href="/">
          <span class="sr-only">Apache ORC</span>
          <img src="/img/logo.png" width="249" height="101" alt="ORC Logo">
        </a>
      </h1>
    </div>
    <nav class="main-nav unit three-quarters hide-on-mobiles">
      <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/releases/"><span class="show-on-mobiles">Rel</span>
                         <span class="hide-on-mobiles">Releases</span></a>
  </li>
  <li class="">
    <a href="/docs/"><span class="show-on-mobiles">Doc</span>
                     <span class="hide-on-mobiles">Documentation</span></a>
  </li>
  <li class="">
    <a href="/talks/"><span class="show-on-mobiles">Talk</span>
                      <span class="hide-on-mobiles">Talks</span></a>
  </li>
  <li class="current">
    <a href="/news/">News</a>
  </li>
  <li class="">
    <a href="/develop/"><span class="show-on-mobiles">Dev</span>
                        <span class="hide-on-mobiles">Develop</span></a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

    </nav>
  </div>
</header>


    <section class="news">
    <div class="grid">

      <div class="docs-nav-mobile unit whole show-on-mobiles">
  <select onchange="if (this.value) window.location.href=this.value">
    <option value="">Navigate the blog…</option>
    <option value="/news/">Home</option>
    <optgroup label="v1.x">
      
      <option value="/news/2024/05/14/ORC-2.0.1/">ORC 2.0.1 Released</option>
      
      <option value="/news/2024/05/13/add-shaoyun-and-yuanping/">Shaoyun Chen and Yuanping Wu added as committers</option>
      
      <option value="/news/2024/04/14/ORC-1.8.7/">ORC 1.8.7 Released</option>
      
      <option value="/news/2024/03/20/ORC-1.9.3/">ORC 1.9.3 Released</option>
      
      <option value="/news/2024/03/08/ORC-2.0.0/">ORC 2.0.0 Released</option>
      
      <option value="/news/2024/01/13/add-deshan/">Deshan Xiao added as committer</option>
      
      <option value="/news/2023/11/10/ORC-1.9.2/">ORC 1.9.2 Released</option>
      
      <option value="/news/2023/11/10/ORC-1.8.6/">ORC 1.8.6 Released</option>
      
      <option value="/news/2023/11/10/ORC-1.7.10/">ORC 1.7.10 Released</option>
      
      <option value="/news/2023/09/05/ORC-1.8.5/">ORC 1.8.5 Released</option>
      
      <option value="/news/2023/08/16/ORC-1.9.1/">ORC 1.9.1 Released</option>
      
      <option value="/news/2023/06/28/ORC-1.9.0/">ORC 1.9.0 Released</option>
      
      <option value="/news/2023/06/14/ORC-1.8.4/">ORC 1.8.4 Released</option>
      
      <option value="/news/2023/05/07/ORC-1.7.9/">ORC 1.7.9 Released</option>
      
      <option value="/news/2023/03/15/ORC-1.8.3/">ORC 1.8.3 Released</option>
      
      <option value="/news/2023/02/13/add-xin/">Xin Zhang added as committer</option>
      
      <option value="/news/2023/01/21/ORC-1.7.8/">ORC 1.7.8 Released</option>
      
      <option value="/news/2023/01/13/ORC-1.8.2/">ORC 1.8.2 Released</option>
      
      <option value="/news/2022/12/02/ORC-1.8.1/">ORC 1.8.1 Released</option>
      
      <option value="/news/2022/11/17/ORC-1.7.7/">ORC 1.7.7 Released</option>
      
      <option value="/news/2022/09/21/william-chair/">William Hyun elected as Chair</option>
      
      <option value="/news/2022/09/03/ORC-1.8.0/">ORC 1.8.0 Released</option>
      
      <option value="/news/2022/08/17/ORC-1.7.6/">ORC 1.7.6 Released</option>
      
      <option value="/news/2022/06/16/ORC-1.7.5/">ORC 1.7.5 Released</option>
      
      <option value="/news/2022/06/05/add-pavan/">Pavan Lanka added as committer</option>
      
      <option value="/news/2022/05/08/yiqun-pmc/">ORC adds Yiqun Zhang to PMC</option>
      
      <option value="/news/2022/04/15/ORC-1.7.4/">ORC 1.7.4 Released</option>
      
      <option value="/news/2022/04/14/ORC-1.6.14/">ORC 1.6.14 Released</option>
      
      <option value="/news/2022/03/05/add-quanlong/">Quanlong Huang added as committer</option>
      
      <option value="/news/2022/02/09/ORC-1.7.3/">ORC 1.7.3 Released</option>
      
      <option value="/news/2022/01/20/ORC-1.6.13/">ORC 1.6.13 Released</option>
      
      <option value="/news/2021/12/20/ORC-1.7.2/">ORC 1.7.2 Released</option>
      
      <option value="/news/2021/11/23/add-yiqun/">Yiqun Zhang added as committer</option>
      
      <option value="/news/2021/11/07/ORC-1.7.1/">ORC 1.7.1 Released</option>
      
      <option value="/news/2021/11/07/ORC-1.6.12/">ORC 1.6.12 Released</option>
      
      <option value="/news/2021/10/02/william-pmc/">ORC adds William Hyun to PMC</option>
      
      <option value="/news/2021/09/15/ORC-1.7.0/">ORC 1.7.0 Released</option>
      
      <option value="/news/2021/09/15/ORC-1.6.11/">ORC 1.6.11 Released</option>
      
      <option value="/news/2021/09/15/ORC-1.5.13/">ORC 1.5.13 Released</option>
      
      <option value="/news/2021/08/10/ORC-1.6.10/">ORC 1.6.10 Released</option>
      
      <option value="/news/2021/07/02/ORC-1.6.9/">ORC 1.6.9 Released</option>
      
      <option value="/news/2021/05/21/ORC-1.6.8/">ORC 1.6.8 Released</option>
      
      <option value="/news/2021/04/13/add-william/">William Hyun added as committer</option>
      
      <option value="/news/2021/02/08/panagiotis-pmc/">ORC adds Panagiotis Garefalakis to PMC</option>
      
      <option value="/news/2021/01/22/ORC-1.6.7/">ORC 1.6.7 Released</option>
      
      <option value="/news/2020/12/10/ORC-1.6.6/">ORC 1.6.6 Released</option>
      
      <option value="/news/2020/11/16/add-panagiotis/">Panagiotis Garefalakis added as committer</option>
      
      <option value="/news/2020/10/01/ORC-1.6.5/">ORC 1.6.5 Released</option>
      
      <option value="/news/2020/09/30/ORC-1.5.12/">ORC 1.5.12 Released</option>
      
      <option value="/news/2020/09/14/ORC-1.6.4/">ORC 1.6.4 Released</option>
      
      <option value="/news/2020/09/14/ORC-1.5.11/">ORC 1.5.11 Released</option>
      
      <option value="/news/2020/04/26/ORC-1.5.10/">ORC 1.5.10 Released</option>
      
      <option value="/news/2020/04/26/ORC-1.6.3/">ORC 1.6.3 Released</option>
      
      <option value="/news/2020/01/30/ORC-1.5.9/">ORC 1.5.9 Released</option>
      
      <option value="/news/2019/12/09/dongjoon-pmc/">ORC adds Dongjoon Hyun to PMC</option>
      
      <option value="/news/2019/12/09/ORC-1.4.5/">ORC 1.4.5 Released</option>
      
      <option value="/news/2019/11/24/ORC-1.6.2/">ORC 1.6.2 Released</option>
      
      <option value="/news/2019/11/24/ORC-1.5.8/">ORC 1.5.8 Released</option>
      
      <option value="/news/2019/10/26/ORC-1.6.1/">ORC 1.6.1 Released</option>
      
      <option value="/news/2019/10/26/ORC-1.5.7/">ORC 1.5.7 Released</option>
      
      <option value="/news/2019/09/03/ORC-1.6.0/">ORC 1.6.0 Released</option>
      
      <option value="/news/2019/06/27/ORC-1.5.6/">ORC 1.5.6 Released</option>
      
      <option value="/news/2019/06/10/renat-and-sandeep/">Renat Vailiullin and Sandeep More added as committers</option>
      
      <option value="/news/2019/03/14/ORC-1.5.5/">ORC 1.5.5 Released</option>
      
      <option value="/news/2019/01/11/gang-pmc/">ORC adds Gang Wu to PMC</option>
      
      <option value="/news/2019/01/10/add-dongjoon/">Dongjoon Hyun added as committer</option>
      
      <option value="/news/2018/12/21/ORC-1.5.4/">ORC 1.5.4 Released</option>
      
      <option value="/news/2018/09/25/ORC-1.5.3/">ORC 1.5.3 Released</option>
      
      <option value="/news/2018/06/29/ORC-1.5.2/">ORC 1.5.2 Released</option>
      
      <option value="/news/2018/05/25/ORC-1.5.1/">ORC 1.5.1 Released</option>
      
      <option value="/news/2018/05/14/ORC-1.5.0/">ORC 1.5.0 Released</option>
      
      <option value="/news/2018/05/14/ORC-1.4.4/">ORC 1.4.4 Released</option>
      
      <option value="/news/2018/03/27/add-xiening-and-gang/">Gang Wu and Xiening Dai added as committer</option>
      
      <option value="/news/2018/02/09/ORC-1.4.3/">ORC 1.4.3 Released</option>
      
      <option value="/news/2018/01/23/ORC-1.4.2/">ORC 1.4.2 Released</option>
      
      <option value="/news/2017/10/16/ORC-1.4.1/">ORC 1.4.1 Released</option>
      
      <option value="/news/2017/10/16/ORC-1.3.4/">ORC 1.3.4 Released</option>
      
      <option value="/news/2017/09/06/new-pmc/">ORC adds Eugene and Deepak to PMC</option>
      
      <option value="/news/2017/05/16/new-committer/">Deepak Majeti added as committer</option>
      
      <option value="/news/2017/05/08/ORC-1.4.0/">ORC 1.4.0 Released</option>
      
      <option value="/news/2017/02/21/ORC-1.3.3/">ORC 1.3.3 Released</option>
      
      <option value="/news/2017/02/13/ORC-1.3.2/">ORC 1.3.2 Released</option>
      
      <option value="/news/2017/02/03/ORC-1.3.1/">ORC 1.3.1 Released</option>
      
      <option value="/news/2017/01/23/ORC-1.3.0/">ORC 1.3.0 Released</option>
      
      <option value="/news/2017/01/04/gopal-on-pmc/">ORC adds Gopal Vijayaraghavan to PMC</option>
      
      <option value="/news/2016/12/15/new-committers/">ORC adds new committers</option>
      
      <option value="/news/2016/12/12/ORC-1.2.3/">ORC 1.2.3 Released</option>
      
      <option value="/news/2016/12/01/ORC-1.2.2/">ORC 1.2.2 Released</option>
      
      <option value="/news/2016/10/05/ORC-1.2.1/">ORC 1.2.1 Released</option>
      
      <option value="/news/2016/08/25/ORC-1.2.0/">ORC 1.2.0 Released</option>
      
      <option value="/news/2016/07/08/ORC-1.1.2/">ORC 1.1.2 Released</option>
      
      <option value="/news/2016/06/28/file-format-talk/">File format benchmark</option>
      
      <option value="/news/2016/06/13/ORC-1.1.1/">ORC 1.1.1 Released</option>
      
      <option value="/news/2016/06/10/ORC-1.1.0/">ORC 1.1.0 Released</option>
      
      <option value="/news/2016/01/25/ORC-1.0.0/">ORC 1.0.0 Released</option>
      
      <option value="/news/2015/11/19/aliaksei-on-pmc/">ORC adds Aliaksei Sandryhaila to PMC</option>
      
      <option value="/news/2015/06/26/new-logo/">ORC adopts new logo</option>
      
      <option value="/news/2015/05/11/new-committers/">ORC adds 7 committers</option>
      
      <option value="/news/2015/04/22/orc-as-tlp/">ORC becomes an Apache Top Level Project</option>
      
    </optgroup>
  </select>
</div>


      <div class="unit four-fifths">
        <article>
  <h2>
    William Hyun added as committer
    <a href="/news/2021/04/13/add-william/" class="permalink" title="Permalink">∞</a>
  </h2>
  <span class="post-category">
    <span class="label">
      team
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      13 Apr 2021
    </span>
    <a href="https://people.apache.org/~dongjoon" class="post-author">
      <img src="https://people.apache.org/~dongjoon/dongjoon.png"
           class="avatar" alt="dongjoon avatar"
           width="24" height="24">
      dongjoon
    </a>
  </div>
  <div class="post-content">
    <p>The ORC PMC is happy to add William Hyun as an ORC committer for the
work on improving ORC’s code quality and integration to Apache Spark and Apache Iceberg.</p>

<p>Thank you for your work on ORC, William!</p>

  </div>
</article>

      </div>

      <div class="unit one-fifth hide-on-mobiles">
  <aside>
    <ul>
      <li class="">
        <a href="/news/">All News</a>
      </li>
      <li class="">
        <a href="/news/releases/">ORC Releases</a>
      </li>
    </ul>
    <h4>Recent Releases</h4>
    <ul>
      
      <li class="">
        <a href="/news/2024/05/14/ORC-2.0.1/">Version 2.0.1</a>
      </li>
      
      <li class="">
        <a href="/news/2024/04/14/ORC-1.8.7/">Version 1.8.7</a>
      </li>
      
      <li class="">
        <a href="/news/2024/03/20/ORC-1.9.3/">Version 1.9.3</a>
      </li>
      
      <li class="">
        <a href="/news/2024/03/08/ORC-2.0.0/">Version 2.0.0</a>
      </li>
      
      <li class="">
        <a href="/news/2023/11/10/ORC-1.9.2/">Version 1.9.2</a>
      </li>
      
    </ul>
    <h4>Other News</h4>
    <ul>
        
        
        
        
        <li class="">
          <a href="/news/2024/05/13/add-shaoyun-and-yuanping/">Shaoyun Chen and Yuanping Wu added as committers</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2024/01/13/add-deshan/">Deshan Xiao added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2023/02/13/add-xin/">Xin Zhang added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2022/09/21/william-chair/">William Hyun elected as Chair</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2022/06/05/add-pavan/">Pavan Lanka added as committer</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2022/05/08/yiqun-pmc/">ORC adds Yiqun Zhang to PMC</a>
        </li>
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2022/03/05/add-quanlong/">Quanlong Huang added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2021/11/23/add-yiqun/">Yiqun Zhang added as committer</a>
        </li>
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2021/10/02/william-pmc/">ORC adds William Hyun to PMC</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="current">
          <a href="/news/2021/04/13/add-william/">William Hyun added as committer</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2021/02/08/panagiotis-pmc/">ORC adds Panagiotis Garefalakis to PMC</a>
        </li>
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2020/11/16/add-panagiotis/">Panagiotis Garefalakis added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2019/12/09/dongjoon-pmc/">ORC adds Dongjoon Hyun to PMC</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2019/06/10/renat-and-sandeep/">Renat Vailiullin and Sandeep More added as committers</a>
        </li>
        
        
        
        
        
        <li class="">
          <a href="/news/2019/01/11/gang-pmc/">ORC adds Gang Wu to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2019/01/10/add-dongjoon/">Dongjoon Hyun added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2018/03/27/add-xiening-and-gang/">Gang Wu and Xiening Dai added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2017/09/06/new-pmc/">ORC adds Eugene and Deepak to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2017/05/16/new-committer/">Deepak Majeti added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2017/01/04/gopal-on-pmc/">ORC adds Gopal Vijayaraghavan to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2016/12/15/new-committers/">ORC adds new committers</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2016/06/28/file-format-talk/">File format benchmark</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2015/11/19/aliaksei-on-pmc/">ORC adds Aliaksei Sandryhaila to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2015/06/26/new-logo/">ORC adopts new logo</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2015/05/11/new-committers/">ORC adds 7 committers</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2015/04/22/orc-as-tlp/">ORC becomes an Apache Top Level Project</a>
        </li>
        
        
    </ul>
  </aside>
</div>


      <div class="clear"></div>

    </div>
  </section>


  <footer role="contentinfo">
  <p style="margin-left: 20px; margin-right; 20px; text-align: center">The contents of this website are &copy;&nbsp;2024
     <a href="https://www.apache.org/">Apache Software Foundation</a>
     under the terms of the <a
      href="https://www.apache.org/licenses/LICENSE-2.0.html">
      Apache&nbsp;License&nbsp;v2</a>. Apache ORC and its logo are trademarks
      of the Apache Software Foundation.</p>
</footer>

  <script>
  var anchorForId = function (id) {
    var anchor = document.createElement("a");
    anchor.className = "header-link";
    anchor.href      = "#" + id;
    anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
    anchor.title = "Permalink";
    return anchor;
  };

  var linkifyAnchors = function (level, containingElement) {
    var headers = containingElement.getElementsByTagName("h" + level);
    for (var h = 0; h < headers.length; h++) {
      var header = headers[h];

      if (typeof header.id !== "undefined" && header.id !== "") {
        header.appendChild(anchorForId(header.id));
      }
    }
  };

  document.onreadystatechange = function () {
    if (this.readyState === "complete") {
      var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
      if (!contentBlock) {
        return;
      }
      for (var level = 1; level <= 6; level++) {
        linkifyAnchors(level, contentBlock);
      }
    }
  };
</script>


</body>
</html>
