Alusus' project uses Git for source code control, and it uses Redmine for task and bug management as well as for reporting bugs and other errors. The project is developed under a Linux environment and it uses the following technologies:

  • Core: Written in C++17.
  • Standard Build Libraries: Written in C++17 and LLVM.
  • The project is based on cmake.

Alusus' Source Code Repository

Visit the Building and Running Instructions document for details on steps to build from source code as well as external dependencies.

Contributing to the Project


The team is in need of volunteers in the areas of programming, documentation, as well as spreading the word among the programming community. Contribution to this open source project has many benefits. In addition to benefeting the society, working on this project gives you experience in latest technologies and builds a reputation of being a professional and highly skilled programmer. Whoever contributes to this project will have his name added to the official website either as a contributor or as a core team member. Core team members are those who can contribute continuously and dedicate a certain number of hours every week. Those will get an email address @alusus.org.
There are many scopes to which a person can choose to contribute as explained in the next section.

If you can't contribute or don't have the time, then you can help by donating to the project:

Available Contribution Positions


Anyone can contribute directly to the project as is the case with any open source project. All you need to do is download the source, make your changes, then submit a pull request with your changes. Contributers can submit PRs for any area they like to work on, but we mainly need contributers in the following areas. Anyone who is interested in filling any of the following spots can contact us through the Contact Us page and we'll happily help with onboarding.

Web Platform Developer

Looking for a programmer to work on developing a full stack web platform for Alusus. The platform will enable the Alusus developers to develop full stack web apps including the backend and the frontend. Work will be in Alusus language with some parts written in web technologies like Javascript, HTMl, and CSS. Previous knowledge of Alusus language is not mandatory as the developer will learn it during development.

Qualifications

  • At least 3 years experience in programming.
  • Good knowledge of web technologies: Javascript, HTML, and CSS.
  • Good knowledge of the C language and working with memory pointers.

Useful but not Mandatory Qualifications

  • Knowedge of Alusus language.
  • Experience with Web Assembly.
  • Experience in any web development platform like React.

Database ORM Developer

Looking for a developer to work on building an Object Relational Mapping library for Alusus. The purpose is to initially support relational databases (SQL), and afterwards work on providing support for non-relational databases. Work will mostly be in Alusus language, with some SQL. Previous knowledge of Alusus language is not mandatory as the developer will learn it during development.

Qualifications

  • At least 3 years of experience in programming.
  • Experience in databases and SQL.
  • Good knowledge of the C language and working with memory pointers.

Useful but not Mandatory Qualifications

  • Knowledge of Alusus language.
  • Knowledge of an existing ORM library like Sequelize.

Compiler Developer

Looking for a programmer to contribute in developing Alusus compiler to add more features to Alusus language like parallel programming, object oriented programming, exception handling, etc. Work will be done in a mixture of Alusus and C++ languages. Previous knowledge of Alusus language is not mandatory as the developer will learn it during development.

Qualifications

  • At least 5 years of experience in programming.
  • Experience in C++ and low level programming.
  • A challenger spirit with patience, lots of it!

Useful but not Mandatory Qualifications

  • Knowledge of Alusus language.
  • Knowledge of LLVM.
  • Knowledge of other high level languages.
  • Knowledge of popular programming paradigms.

Standard Libraries Developer

Looking for a developer to work on Alusus standard libraries. Work will be in Alusus language and will include writing libraries to help the developer in various common operations. Some of these libraries:

  • A date/time library.
  • A library for generating UUIDs.
  • A library for multithreading and synchronization.
  • A library to simplify working with paths in the file system.
  • A library for encryption.
  • Adding a hash table data type.
  • A library for interfacing with hardware to read data through hardware ports like USB.

Qualifications

  • At least 2 years of experience in programming.
  • Good knowledge of the C language and dealing with memory pointers.

Useful but not Mandatory Qualifications

  • Knowledge of Alusus language.

Technical Writer

Looking for a technical writer to work on writing documentations and tutorials. Work invovlves designing and writing a set of tutorials to help newcomers to Alusus language. Work also involves writing articles about Alusus language and doing comparisons and benchmarks with other languages. The work will require writing some sample programs and tests. The contributor will need to learn Alusus to be able to write tutorials for it.

Qualifications

  • Experience in technical writing.
  • Some knowledge of programming.
  • Ability to design tutorials and online courses.
  • Good writing and English skills.


Contribution Terms and Conditions


By submitting any contribution:
  • you certify that you own the rights to any code you are submitting, and
  • you agree to give the team permissions to use, distribute, and further develop your contributions without limitations within this project.

Development Team



Contributors