
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>History · ActiveMQ Artemis Documentation</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    
    <link rel="prev" href="maintainers.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="notice.html">
            
                <a href="notice.html">
            
                    
                    Legal Notice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="code.html">
            
                <a href="code.html">
            
                    
                    Working with the Code
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="ide.html">
            
                <a href="ide.html">
            
                    
                    IDE Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="building.html">
            
                <a href="building.html">
            
                    
                    Building
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="tests.html">
            
                <a href="tests.html">
            
                    
                    Tests
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="code-coverage-report.html">
            
                <a href="code-coverage-report.html">
            
                    
                    Code coverage report
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="formatting.html">
            
                <a href="formatting.html">
            
                    
                    Code Formatting
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="validating-releases.html">
            
                <a href="validating-releases.html">
            
                    
                    Validating releases
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="maintainers.html">
            
                <a href="maintainers.html">
            
                    
                    Notes for Maintainers
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.11" data-path="history.html">
            
                <a href="history.html">
            
                    
                    History
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >History</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="history">History</h1>
<p>The Apache ActiveMQ Artemis project was started in October 2014. The Artemis code base was seeded with a code donation granted by Red Hat, of the HornetQ project. The code donation process consisted of taking a snapshot of the latest HornetQ code base and contributing this snapshot as an <a href="https://issues.apache.org/jira/browse/ARTEMIS-1" target="_blank">initial git commit</a> into the Artemis git repository.</p>
<p>The HornetQ commit history is preserved and can be accessed here: <a href="https://github.com/hornetq/hornetq/tree/apache-donation" target="_blank">https://github.com/hornetq/hornetq/tree/apache-donation</a></p>
<p>Credit should be given to those developers who contributed to the HornetQ project. The top 10 committers are highlighted here:</p>
<ul>
<li>Clebert Suconic</li>
<li>Tim Fox</li>
<li>Francisco Borges</li>
<li>Andy Taylor</li>
<li>Jeff Mesnil</li>
<li>Ovidiu Feodorov</li>
<li>Howard Gao</li>
<li>Justin Bertram</li>
<li>Trustin Lee</li>
<li>Adrian Brock</li>
</ul>
<p>For more information please visit the <a href="https://github.com/hornetq/hornetq/tree/apache-donation" target="_blank">HornetQ GitHub project</a>.</p>
<h1 id="rebasing-original-donation">Rebasing original donation</h1>
<p>It may be useful to look at the donation history combined with the artemis history. It is the case when eventually looking at old changes.</p>
<p>For that there is a script that will rebase master against the donation branch under master/scripts:</p>
<ul>
<li>rebase-donation.sh</li>
</ul>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="maintainers.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: Notes for Maintainers">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"History","level":"1.11","depth":1,"previous":{"title":"Notes for Maintainers","level":"1.10","depth":1,"path":"maintainers.md","ref":"maintainers.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/artemis","issues":"https://issues.apache.org/jira/browse/ARTEMIS","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis Hacking Guide"},"file":{"path":"history.md","mtime":"2020-08-24T11:33:27.000Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-08-24T13:56:17.837Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

