<!DOCTYPE html>
<html lang="en">
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<head>
<meta charset="utf-8">
<title>The Apache OFBiz&reg; Project - Getting Involved</title>
<meta name="Description" content="OFBiz is an open source enterprise automation software project licensed under the Apache License. It means you are not alone and can work with many others." />
<meta name="Robots" content="index,follow" />
<!-- Mobile Specific Metas
    ================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS
    ================================================== -->
<!-- Bootstrap  -->
<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<!-- web font  -->
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,800" rel="stylesheet" type="text/css">
<!-- plugin css  -->
<link rel="stylesheet" type="text/css" href="/js/plugins/pretty-photo/css/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="/js/plugins/rs-plugin/css/settings.css" media="screen" />
<link type="text/css" rel="stylesheet" href="/js/plugins/hoverdir/css/style.css">
<!-- icon fonts -->
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons.css">
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons-ie7.css">
<!-- Custom css -->
<link type="text/css" rel="stylesheet" href="/css/layout.css">
<link type="text/css" id="colors" rel="stylesheet" href="/css/colors.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if gte IE 9]><style type="text/css">.iconBig, .active, .hover a , .Shover a { filter: none !important; } </style> <![endif]-->
<script src="js/modernizr-2.6.1.min.js"></script>
<!-- Favicons
    ================================================== -->
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="apple-touch-icon" href="/images/apple-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="/images/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/images/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="144x144" href="/images/apple-icon-144x144.png">
</head>
<body>
<!-- header -->
<header id="mainHeader" class="clearfix">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container"> <a href="index.html" class="brand"><img src="images/ofbiz_logo.png" alt="Apache OFBiz Logo"/></a>
        <nav id="mainMenu" class="clearfix">
          <ul>
            <li><a href="index.html" class="firstLevel">Home</a></li>
            <li><a href="#" class="firstLevel">Getting Started</a>
              <ul>
                <li><a href="developers.html" class="">Developers</a></li>
                <li><a href="business-users.html" class="last">Business Users</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">News</a>
              <ul>
                <li><a href="//twitter.com/apacheofbiz" target="external">Twitter</a></li>
                <li><a href="//blogs.apache.org/ofbiz/" target="external" class="last">Blog</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Documentation</a>
              <ul>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Documentation#Documentation-End-UserDocumentation" target="external" class="">User Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Technical+Documentation" target="external" class="">Technical Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Home" target="external" class="">Wiki</a></li>
                <li><a href="#" class="firstLevel">API Reference</a>
                  <ul>
                    <li title="Trunk API">
                      <a href="//ci.apache.org/projects/ofbiz/site/trunk/javadocs/" target="external">Trunk API</a></li>
                    </li>
                    <li title="Stable release  API">
                      <a href="//ci.apache.org/projects/ofbiz/site/stable/javadocs/" target="external">Stable Release API</a></li>
                    </li>
                    <li title="Next release API">
                      <a href="//ci.apache.org/projects/ofbiz/site/next/javadocs/" target="external">Next Release API</a></li>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Community</a>
              <ul>
                <li><a href="getting-involved.html">Getting Involved</a></li>                
                <li><a href="mailing-lists.html">Mailing Lists</a></li>
                <li><a href="source-repositories.html">Source Repository</a></li>
                <li><a href="download.html">Downloads</a></li>
                <li><a href="//issues.apache.org/jira/browse/OFBIZ/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" target="external" >Issue Tracker</a></li>
                <li><a href="faqs.html" class="last">FAQ</a></li>
              </ul>
            </li>
            <li><a href="ofbiz-demos.html" class="firstLevel">Demos</a></li>
		  <li>
		    <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
		      target="external" title="follow us on Twitter"><span>twitter</span></a>
		  </li>
		  <li><a href="//www.linkedin.com/company/apache-ofbiz/" target="external"  class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" target="external" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
		  <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips" target="external" title="follow us on Youtube"><span>Youtube</span></a></li>
		  <!--<li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>         
		  <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
		  <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
		  <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>-->
          </ul>
        </nav>
      </div>
    </div>
  </div>
</header>
<!-- header -->
<!-- globalWrapper -->
<div id="globalWrapper">
   
  <!-- page content -->
 <section id="content" class="fullWidth">
    <header class="headerPage">
      <div class="container clearfix">
        <div class="row">
          <h1 class="span8">Getting Involved</h1>
      <div class="span4" id="navTrail"> <a href="index.html" class="homeLink">home</a><span>/</span><a href="#">Community</a><span>/</span><span class="current">Getting Involved</span> </div>
        </div>
      </div>
    </header>
  <section id="content" class="features" >
    <div class="slice clearfix">
      <div class="container">
        <div class="row ">
          <aside class="span2 PortfolioStickyMenu" id="sidebar">
            <ul  id="subnav" class="nav nav-stacked sidenav scrollspyNav">
              <li> <a href="#GInvIntro"> Introduction </a> </li>
           <li> <a href="#GInvWho"> Who Are We Looking For? </a> </li>
              <li> <a href="#GInvWhat"> Find Out What's Happening</a> </li>
         <li> <a href="#GInvFindBugs"> Reporting Bugs </a> </li>
              <li> <a href="#GInvCode"> Contibuting Code and Bug Fixes </a> </li>
         <li> <a href="#GInvDocs"> Contributing Documentation </a> </li>
          </ul>
          </aside>
          <div class="span10">
            <section  id="GInvIntro" class="slice row clearfix">
              <div class="span10">
                <h2>Introduction</h2>
                <div class="divider"><span></span></div>
    <p>Getting involved with the Apache OFBiz Community is <strong>easy!</strong></p>
    <p>Apache OFBiz is an open source community project governed by rules and <a href="//apache.org/foundation/policies/conduct.html" target="external">Code of Conduct</a> of <a href="//apache.org/" target="external">the Apache Software Foundation.</a> All Apache projects value key concepts such as community, consensus, openness and transparency.</p>
    <p>A popular Apache mantra is <strong>"Community over Code"</strong> meaning that being able to work and collaborate as a community is more important than producing code</p>
    <p>The Apache OFBiz source code is free, open source and provided under the <a href="//apache.org/licenses/">Apache Licence.</a> It is also easily accessible from the Apache source code repository. The project mailing lists contain all project releated discussions and decisions. </p>
    </div>
            </section> 

      <section  id="GInvWho" class="slice row clearfix">
              <div class="span10">
                <h2>Who Are We Looking For?</h2>
                <div class="divider"><span></span></div>
    <p><strong>We are looking for you!</strong></p>
     <p>We welcome participation from anyone willing to work with us <a href="//www.apache.org/foundation/how-it-works.html" target="external">the Apache Way</a> and make a contribution to the project.</p>
    <h3>We welcome non-developers!</h3>
      <p>Don't worry if you are not a developer. You don't have to be a developer to contribute to the project.In fact we are always looking for a range of contributors including anyone that wants to help out with documentation, translations, testing tasks and UX experience design. </p>
    <p><strong>Perhaps you are one of our OFBiz users? </strong> That's good too. You can help us by telling us about features you like (or don't like!) plus any new improvements that you'd like to see. So you see there are quite a few ways that non developers can help and contribute to improving OFBiz. </p>
    <h3>Developers welcome too!</h3>
      <p>Apache OFBiz is built on Java. If you are a developer or want to become one then you can help by  <a href="//cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guide" target="external">getting familiar with the OFBiz framework</a> and;
    <ul class="iconsList">
                  <li><i class="icon-pin"></i> providing patches for any bugs you find</li>
      <li><i class="icon-pin"></i> pick up and work on any of our <a href="//issues.apache.org/jira/projects/OFBIZ/issues/OFBIZ-6066?filter=allopenissues" target="external">open issues</a> </li>
    </ul>
    <p>If your company uses Apache OFBiz then please consider contributing back any functionality you think could help benefit our community. </p>

              </div> 
            </section>

       <section  id="GInvWhat" class="slice row clearfix">
              <div class="span10">
                <h2>Find Out What's Happening</h2>
                <div class="divider"><span></span></div>
                <p>To find out what is happening on the project, please subscribe to our mailing lists.</p>
    <p> Our <strong>dev@ofbiz.apache.org mailing list </strong> is where additions or changes to OFBiz are discussed. The list is open to everyone and all are encouraged to give their feedback and opinions of anything discussed.</p>
    <p>Our <strong>user@ofbiz.apache.org mailing list</strong> is for our users. Use this list to ask questions and get advice on setting up OFBiz and also if you are an end-user interested in helping other OFBiz users.</p>
    <p>Our <a href="mailing-lists.html">mailing lists </a> are also a great place for you to introduce yourself and join our community.</p>

        </div>
            </section>

     <section  id="GInvFindBugs" class="slice row clearfix">
              <div class="span10">
                <h2>Reporting Bugs</h2>
                <div class="divider"><span></span></div>
                <p>All the bugs that we know about are recorded in our JIRA issue tracking system. Before creating a new issue, please check that the same bug hasn't already been reported. If it hasn't been reported then please create a new Jira issue. It is very important that you include as much detail as possible so that someone else can reproduce the bug easily. Our Jira system will automatically email our notifications list where someone can take a look at it and investigate. </p>
        </div>
            </section>

      <section  id="GInvCode" class="slice row clearfix">
              <div class="span10">
                <h2>Contributing Code and Bug Fixes</h2>
                <div class="divider"><span></span></div>
                <p>As an Apache open source project, we take the legality of code seriously and we don't want people contributing code that they don't own or a 3rd party having a legal claim on our project. This is why we ask all <a href="//cwiki.apache.org/confluence/display/OFBIZ/Apache+OFBiz+Contributors" target="external">OFBiz contributors </a> to complete an Individual Contributor Licence Agreement (ICLA)</p>
     <h3>Code Changes</h3>
    <p>If you are interested in contributing new code then you can submit patches to the project via <a href="//issues.apache.org/jira/projects/OFBIZ/summary" target="external">our JIRA Issue Tracker</a>
    <ul class="iconsList">
                  <li><i class="icon-pin"></i> Create a new issue that describes what the code you are contributing does and;</li>
      <li><i class="icon-pin"></i> Upload a .patch file with your code changes  </li>
    </ul>

     <h3>Fixing Bugs</h3>
                <p>Bugs happen and you might see one and know how to fix it.
    <ul class="iconsList">
                  <li><i class="icon-pin"></i> Check our <a href="//issues.apache.org/jira/projects/OFBIZ/summary" target="external">our JIRA Issue Tracker</a> as the bug may have already been reported</li>
       <li><i class="icon-pin"></i> If it is a new bug then please create a new <a href="//issues.apache.org/jira/projects/OFBIZ/summary" target="external">our JIRA Issue</a> </li>
      <li><i class="icon-pin"></i> Upload your patch  </li>
    </ul>
     <p>All submitted patches will be reviewed by our volunteers and if it meets the project standard, will be integrated into our codebase.</p>
          </div>
            </section>
            
      <section  id="GInvDocs" class="slice row clearfix">
              <div class="span10">
                <h2>Contributing Documentation</h2>
                <div class="divider"><span></span></div>
                <p>If you are ready to help us document code, provide tips and trick or anything else that is not coding, then we have a WIKI that allows community contributions. Simply let us know on the <strong>user@ofbiz.apache.org</strong> mailing list that you want to become a contributor.</p>
     <p><strong>PLEASE NOTE:</strong> You will need to complete an Individual Contributor Licence Agreement (ICLA).</p>
              </div>
            </section>

           

          </div>
        </div>
      </div>
    </div>
   </section>
 </section>
  <!-- page content -->
 
<!-- footer -->
<footer class="footer1">
  <div class="container" id="footer">
    <div class="row">
      <div class="span6 timelineWidget">
        <h2>Latest tweets</h2>
        <!--
        <div class="divider"><span></span></div>
        <ul class="socialNetwork nav">
          <li>
            <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
              target="external" title="follow us on Twitter"><span>twitter</span></a>
          </li>
          <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips"  title="follow us on Youtube"><span>Youtube</span></a></li>
          <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
          <li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>
          <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
          <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
          <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
          <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>
        </ul>
        -->
        <div id="twitterFrame"> <a class="twitter-timeline" href="//twitter.com/ApacheOfbiz?height=250" data-widget-id="588661945194192896"  data-tweet-limit="2" data-theme="dark" data-chrome="nofooter noheader transparent" >Tweets by @ApacheOfbiz</a>
          <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
        </div>
      </div>
      <div class="span3 contactWidget">
        <h2>Contact Community</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="mailing-lists.html">Mailing Lists</a></li>
          <li><a href="source-repositories.html">Source Repository (Git)</a></li>
          <li><a href="//issues.apache.org/jira/browse/OFBIZ" target="external">Issue Tracker (Jira)</a></li>
          <li><a href="//www.youtube.com/user/ofbiz" target="external">OFBiz Youtube Channel</a></li>
          <li><a href="//vimeo.com/channels/apacheofbiz" target="external">OFBiz Vimeo Channel</a></li>
          <li>
            <a href="//s.apache.org/ofbiz-slack-channel" target="external">OFBiz Chat</a><br/>
            <span class="footer-note">
              Note: To chat with users and developers of Apache OFBiz.
              <br>Please create a Slack account using <a href="//s.apache.org/slack-invite" target="external">this invite link</a> and
              <a href="//s.apache.org/ofbiz-slack-channel" target="external">join the <b>#ofbiz channel</b>.</a>
              Please do <b>not</b> ask OFBiz questions in the #general channel.
            </span>
          </li>
        </ul>
      </div>
      <div class="span3 sociallWidget">
        <h2>ASF Information</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="https://www.apache.org/foundation/" target="external">Apache Software Foundation</a></li>
          <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
          <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a>
          		and <a href="https://www.apache.org/foundation/contributing.html" target="external">Donations</a>
          </li>
          <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
          <li><a href="https://ofbiz.apache.org/security.html">Security</a></li>
          <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
        </ul>
      </div>
    </div>
  </div>
</footer>
<footer class="footer2" id="footerRights">
  <div class="container">
    <div class="row">
      <div class="span12">
        <p>
          Copyright © 2021 The Apache Software Foundation.
          <a href="https://www.apache.org/licenses/" target="external">Licensed under the  Apache License, Version 2.0</a>.<br/>
          Apache OFBiz, OFBiz, the project logo and the Apache feather logo are trademarks of <a href="https://www.apache.org/" target="external">The Apache Software Foundation.</a>
        </p>
      </div>
    </div>
  </div>
</footer>
<!-- footer -->
</div>
<!-- globalWrapper -->
<script type="text/javascript" src="js/plugins/respond/respond.min.js"></script>
<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="js/jquery-migrate-1.0.0.min.js"></script>
<script type="text/javascript" src="js/plugins/jquery-browser-plugin/jquery.browser.min.js"></script>
<!-- third party plugins  -->
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap-carousel.js"></script>
<script type="text/javascript" src="js/plugins/easing/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/plugins/pretty-photo/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="js/plugins/hoverdir/jquery.hoverdir.js"></script>
<!-- jQuery KenBurn Slider  -->
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.plugins.min.js"></script>
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.revolution.min.js"></script>
<!-- Custom  -->
<script type="text/javascript" src="js/custom.js"></script>
<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', UA]);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
</body>
</html>
