<!--#include file="header.html" -->

<div class="container">
  <div class="row nh"><!-- current sponsor row -->
    <div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
      <div class="panel panel-primary">
	<div class="panel-heading">Association</div>
	<div class="panel-body">

	  <p>The Buildroot open-source project is supported by a
	  non-profit organization called the <strong>Buildroot
	  Association</strong>. The goal of this non-profit
	  organization is <strong>to engage actions to promote, help
	  develop and democratise the Buildroot project</strong>.</p>

	  <p>This non-profit organization is registered as a legal
	  entity in France, more precisely as an <em>association loi
	  1901</em>.</p>

	  <p>This organization can receive funding from members,
	  donors and sponsors. This funding is then used to pay for:</p>

	  <ul>
	    <li>the meeting rooms used during the Buildroot
	      Developers Meeting twice per year;</li>
	    <li>travel expenses for contributors
	      willing to attend the Buildroot Developers
	      Meeting, and not covered by their employer to do
	      so;</li>
	    <li>renting servers and services used to host the
	      Buildroot infrastructure.</li>
	  </ul>

	  <p>The bylaws of the association are available
	  in <a href="https://raw.githubusercontent.com/buildroot/buildroot-association/master/statuts_fr.txt">French</a>
	  (official) and
	  in <a href="https://github.com/buildroot/buildroot-association/blob/master/statutes_en.txt">English</a>
	  (unofficial translation). The association was declared on
	  March 14, 2016 to the <em>Préfecture de Haute-Garonne</em>
	  (France) and is registered under the n°W313024278. See this
	  official <a href="https://github.com/buildroot/buildroot-association/blob/master/pdf/Recepisse_CR.pdf">receipt</a>
	  from the French authorities.</p>

	  <p>Our accounting is fully public, including the bank
	  account summaries,
	  see <a href="https://github.com/buildroot/buildroot-association/tree/master/accounting">accounting</a>. Numerous
	  other administrative documents related to the association
	  are available on
	  its <a href="https://github.com/buildroot/buildroot-association/">Github
	  repository</a></p>
	</div>
      </div>

      <div class="panel panel-primary">
	<div class="panel-heading">Becoming a member</div>
	<div class="panel-body">

	  <p>To become a member, an individual or a company simply has
	  to pay its yearly membership. For an individual, the minimum
	  membership fee per year is 10 EUR. For a company, the
	  minimum membership fee per year is 150 EUR. Individuals and
	  companies are free to give more than the minimum
	  required.</p>

	  <p>The membership is valid for the current civil year, i.e
	  any membership fee paid in 2019 is valid through December 31,
	  2019.</p>

	  <p>Once the membership fee is received, it will be listed in
	  the
	  association <a href="https://github.com/buildroot/buildroot-association/tree/master/accounting">accounting</a>
	  files, which serve as the official list of
	  members. Therefore, members accept that their name and the
	  amount of their membership fee is made public.</p>

	  <p>There are two possibilities to pay the membership
	  fee:</p>

	  <ul>

	    <li>A direct wire-transfer to the association bank
	    account. Since the bank account is located in France, this
	    is completely free of charge for any person or company
	    located in the European Union. The IBAN number of the
	    association bank account is <code>FR53 2004 1010 1615 0958
	    0P03 772</code>.</li>

	    <li>A Paypal payment to the association Paypal account,
	    whose address
	    is <code>buildroot-association@buildroot.org</code>.</li>

	  </ul>

	</div>
      </div>

      <div class="panel panel-primary">
	<div class="panel-heading">Sponsoring the project</div>
	<div class="panel-body">

	  <p>Companies willing to help the Buildroot project can do so
	  by making a donation to the <em>Buildroot
	  Association</em>. In exchange for these donations, companies
	  will be listed on our <a href="/sponsors.html">Sponsors</a>
	  page and will be thanked in our release announcements.</p>

	  <p>As the <em>Buildroot Association</em> is a legal entity
	  registered in France, it is able to deliver a bill and/or
	  receipt.</p>

	  <p>Please
	  contact <a href="mailto:buildroot-association@buildroot.org">buildroot-association@buildroot.org</a>
	  if you are a company interested in making a donation.</p>

	</div>
      </div>

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

<!--#include file="footer.html" -->
