The Avail Programming Language
Mobile Users: Click here to view our text rendering warning.


Depending on your levels of interest and commitment, there are several ways to get involved with Avail. Maybe you're just comfortable lurking on our site or mailing lists—that's OK! You may wish to participate casually in the development and promulgation of Avail by coding in Avail. Perhaps you'd like to discuss your experience and ideas in programming and computer science as they relate to the language and design decisions made by the Avail team. You may also wish to contribute directly to the Avail project by providing code to the Avail virtual machine or standard library, improving the functionality of the website, writing more documentation, or assisting with other tasks related to the operation of The Avail Foundation.

No matter how large or small your outlay of time, energy, and resources, know that your interest and investment are deeply appreciated by everyone at The Avail Foundation. We believe that we have built something unique and wonderful, and it excites and inspires us that you want to be part of it. Together we can create a toolchain that has the power to revolutionize how people design and develop software.


Read what's going on in the world of Avail development and public use by joining one or more of our community mailing lists.
Check out one Avail user's progress implementing solutions to Project Euler: view the Avail source files in his GitHub repository.
Avail Newsletters Before the mailing lists existed, we sent out newsletters to update our users and supporters about our progress. Those newsletters remain archived here.


Join one of our community mailing lists and chime in about your interests or observations! Avail has only recently gone live, so the mailing lists are rather sparse, and could definitely use your enthusiasm to liven them up.
The quality of the product and our website are extremely important to us. You can help us with the continuous process of improvement by reporting any issues that you encounter with the website or software.


The Avail team is small, but very dedicated and industrious. Though we have accomplished much in the years leading up to Avail's debut, our ambition is much larger than the current scale of the project. There is far more yet to do than we can reasonably achieve alone.

If, after browsing our site and experimenting with our technology, you are excited by Avail's potential and want to become involved in the advancement of the project, then we are happy to welcome you onboard! We are looking for new contributors from all backgrounds and in all domains of expertise. Please contact us directly if you would like to contribute your energy and skills.

The Avail Foundation is currently funded solely through personal contributions made by the members of the Avail team. If you are interested in funding development of the Avail programming language, or defraying the operational costs of The Avail Foundation, then please be aware that The Avail Foundation is a limited liability corporation, not a 501(c)(3). As such, you cannot make tax-exempt donations to The Avail Foundation. You can only make monetary gifts, which are not tax exempt. For the past several years, the IRS has made it very difficult for organizations that develop and promote open-source software to secure 501(c)(3) status, so we chose to form an LLC instead. Having said that, we still wish to apply for 501(c)(3) status, and will begin the application process in the near future.

Until such a time as we should reorganize into a nonprofit, if you desperately wish to contribute money, then please contact us directly. You are advised instead, however, to consider contributing your time and energy to advancing the state of the technology whether it be through direct development or operational support.


Now that we've reached our first milestone — the release of a public, open-source, development version of Avail — we ask for your patience in the coming months as we struggle to respond to incoming correspondence. We will, of course, make every effort to respond to your inquiries in a timely fashion, but inevitably there will be delays. In addition to the sweat, blood, and tears that we are pouring into Avail, we also have full-time scholastic or employment obligations. So please bear with us!

With that out of the way, if you have something to say to us that is best said privately, rather than via the community mailing lists, then feel free to contact us directly.

Reporting Issues

To report a problem with the Avail website or software, please help us out by taking the following steps:

  1. If you have a software problem, please verify, to the best of your ability, that the problem does not result from a bug in your own code. We all write buggy code, including the developers at The Avail Foundation, so please make sure that the problem is ours and not yours – so that we can concentrate our efforts on fixing our own bugs! Only proceed if you are certain that the bug's provenance makes it our problem.
  2. To reduce the incidence of duplicate problem reports, first search for the issue by using our issue tracking system:

    If you do locate the issue, then please feel free to add any information not already reported in the history of the existing issue. If you are reporting a software bug that is mission-critical for you, then please let us know this so that we can assess our current priorities and adjust them accordingly.

  3. If you could not locate the issue in our database, then please create a new ticket in our issue system:
    • For website problems, please set the Component drop-down to Website. While we are very sensitive (in a good way!) about our spelling, grammar, and phraseology, these are cosmetic issues that take a back seat to factual inaccuracies and disruptions of service. So please set the priority of cosmetic issues to trivial, the priority of factual inaccuracies to minor, and disruptions of service to major. We will adjust the priorities if necessary, so do not worry excessively about misclassifying the issue. That's it! The website problem report process is complete.

    • For software problems, please try to find the minimal test case that reproduces the problem, and attach any relevant source files, resources, and screenshots to the new issue. Please set the Priority to a reasonable value, but do not set the priority to blocker. From the Component drop-down, choose Virtual Machine or System Library, as appropriate. It is perfectly fair if you do not know what priority to set, or which component to choose, so do not fret about misclassifying the issue. We will adjust these fields if necessary when we begin investigating.

  4. If you're reporting a software issue, you are certainly welcome to stop at #3; at this point, you have definitely done your duty as a responsible and considerate user of open-source software. If you are feeling especially ambitious, however, you may wish to tackle the bug yourself! This may be a trivial matter or a serious ordeal, depending on the nature of the bug, and providing advice to the ambitious is beyond the scope of this humble document. If you do decide to attempt a resolution yourself, then please include a statement of your intentions in the issue report. Should your efforts prove successful, then please create a minimal patch file in unified format (unidiff), treating absent files as empty. On Unix systems, you can do this with a command like:

    $ diff -udrN $PROJ $COPY

    Where $PROJ denotes the original clone of the project repository and $COPY denotes a fork that contains your updated files. Please attach the resultant patch file to the relevant issue. After we have had an opportunity to review the patch for vulnerabilities and stylistic issues we may apply your patch to the appropriate project branches in Git.

    If you start but give up before achieving a resolution, then simply update the issue to let us know that you are no longer working on the problem.