Setting up a software repository

Having the official repository, HaikuPorts, is nice, but not all software fits there.

For example, some software is made with the yab buildfactory and the author does not want to distribute it in source code, even if it is open source. Some is just easier to package using the package command and not haikuporter.

This does not prevent the software from being listed in HaikuDepot.

Governance

The following organisations are the driving force behind the open source development of Haiku: The Haiku development team A group of people known as the development team runs and manages the project. They have the permissions to edit and triage tickets on the bug tracker, push and merge code to the repositories, and also get voting rights in important project decisions. The development team is not a legal entity, but a group of people managing the technical aspects of the project: coding guidelines, tools to use for collaboration, and general direction of the development of Haiku.

Community Initiatives & Mentorship Opportunities

The Haiku Project is proud to work with other organisations on social initiatives to get more young and marginalized people involved in the open source community. They are a great opportunity for people to get started with working on top of the Haiku platform, as well as open source development in general. Google Summer of Code | Google, Inc. The Google Summer of Code™ is a program that offers student developers stipends to write code for various open source projects.

Policies

The standards that govern the Haiku community are similar to the Unwritten Constitutions that govern some countries, where their constitution simply acts as an aggregation of other laws, rather than a standalone constitution. These rules are not final, and subject to change over time as problems, potential improvements or issues arise. Our policies are listed below in a summarized manner: Communication General rules Users are to refrain from delving into discussions about religion, politics, and other similar subjects.

Infrastructure Development

Project Areas HaikuProject websites Web Applications HaikuProject websites Trac Plugin: "Test and Commit Patch" functionality Several developers have requested the ability to simply press a button that would trigger an automatic system to test and (conditionally commit) a supplied patch. Trac Plugin: update tracbuildbot plugin The tracbuildbot plugin is a plugin that provides intergration between Trac and the BuildBot build system. BuildBot Plugin: Update BuildBot Bootstrap BuildBot Bootstrap is a set of templates to be used with BuildBot 0.

Application Development

Project Areas 1st Party Development 3rd Party Development Porting Applications 1st Party Updating Mail Haiku provides an innovative Mail management system using the file system database-like features (queries) to efficiently manage the e-mails. While the technology for this is working well, the user interface is rather limited, making it difficult to use the feature up to its full potential. The first part of this task is reworking the code base to adhere to our coding style guidelines and convert the user interface to the Layout Kit, making it work with all font sizes and languages.

System Development

Project Areas Drivers Kernel/File systems Media Network User interface Drivers USB Support for FreeBSD network compatibility layer Haiku uses a FreeBSD network compatibility layer to support many network devices (ethernet and wireless) using drivers written for the FreeBSD project. This allows reusing network drivers with very little changes, considerably decreasing the effort needed to get good hardware support in Haiku. However, this layer only supports PCI devices, and doesn't work with USB ones.

Documenting

Documentation is one of the most critical, but overlooked areas of open source devlopment. This is true in respects of both developer documentation and end user documentation, which are both needed to make a project viable. Documentation for Haiku is published via a number of means, depending on its intended purpose and spans various subjects. Check out the following areas where we need help our documentation: The Haiku User Guide The ​Haiku User Guide is intended to help new users navigate the operating system; point out areas where Haiku differs from other desktop operating systems and to provide tutorials (called 'workshops') to power users so that they can use more advanced features of the operating system.

Testing

Haiku cannot be a stable platform without people trying to find bugs in it and telling the developers. Testing is a very important job. Luckily, testers do not need specialized skills, such as the ability to write code, but they do come in handy. All that is needed is sufficient familiarity with computers to be able to install Haiku. The job merely entails seeing what works and what doesn’t under Haiku, particularly with existing BeOS applications.

Designing

A person with experience in graphic design has potential to be a very great help in ensuring that Haiku looks good and presents itself well to the public. The areas of design which a skilled hand is needed by an open source project are varied, but the style used needs to remain true to the over all branding of the project. The Haiku project needs UX/UI designers, graphic designers and all sorts of visual artists.