📜 ⬆️ ⬇️

Haiku. Start

About how a team of enthusiasts recreated a wonderful operating system.

image
The recent meeting in Dusseldorf of a team of programmers working on Haiku, an open source operating system, is an attempt to recreate and improve the old operating system, known as BeOS. Photo: Andreas Teichman

In the summer of 2001, programmer Michael Phips had a problem. His favorite operating system, BeOS, was on the verge of extinction. Such an emotional attachment to a computer program may seem rather strange, however, for Phips, like for many others (including me), such an attitude towards BeOS was not unfounded. This system worked amazingly fast on the computers of its time, had a simple and intuitive user interface, and had a rich, interesting and modern set of development tools. In short, we thought that it was much better than any other operating system available at that time. However, the creator of BeOS could not find a niche in the market and gradually sold off all its assets to competitors, including the BeOS system itself.

Fearing that in the hands of the new owner, the BeOS project would slowly fade due to lack of support, Phipps decided on a case that seemed most reasonable to him in these circumstances, namely, he decided to completely recreate BeOS from scratch, but as an open source project code Phipps reasoned that since such projects are not the property of any one company or individual, they cannot simply disappear because the company went bankrupt or because the developers left the project.
')
If you have done programming, then you should know that building an operating system is a lot of work. And it would be strange to expect people to do this kind of work for free. However, for several dozen enthusiasts, work on the "Haiku" has become a favorite thing. For eleven years of work on the project, we have released three alpha versions of the system, and this month [the article was published in May. approx. trans.] are going to release the fourth and last alpha version. After that, we will proceed to the beta testing phase, which we hope to complete by the end of this year. And then in early 2013, the first official release of the system known as R1 will be released.

However, now anyone can use this system by installing it on an Intel x86 computer. Many of those who have already done so, point out that even the alpha version of “Haiku” is not inferior in terms of stability to the final versions of other programs. Indeed, among all the many operating systems currently in use, Haiku is probably in the best position to challenge such popular operating systems as Microsoft Windows or Mac OS. The experience of using "Haiku" shows that it is extremely convenient for both ordinary users and professional developers. Like BeOS, it is fast, flexible and efficient. Moreover, unlike its already established competitors, Haiku extremely well solves one of the most difficult tasks of modern programming: working on multi-core processors. Let's take a look at how this is achieved, consider the development process of Haiku and find out whether the operating system installed on your computer really works as well as it could.

But first, a little history. In 1991, a former Apple executive, a Frenchman named Jean-Louis Gasse , together with some of his former Apple colleagues, founded Be Inc. Inc. in order to develop a new type of computer. In particular, they wanted to avoid the “backward compatibility trap” that they often had to watch while working at Apple. There, when developing each new version of equipment or programs, we had to take into account previous versions along with all their shortcomings. The first product of the company was a desktop computer, called BeBox . Not finding an operating system that would respond to their needs, Be engineers wrote their own.

BeBox appeared on the market in October 1995, but did not gain popularity, and soon its development was curtailed. BeOS, on the other hand, quickly found a small group of “loyal fans,” and soon worked on computers compatible with the Intel x86 and Macintosh PowerPC architecture. At some point , Apple even considered using BeOS instead of its own operating system. As a result, the company released a shortened version of BeOS for installation in devices “sharpened” to work on the Internet, but for success this was not enough. In 2001, the Palm company bought Be , as reported, for $ 11 million.

When the sale of Be was already at the final stage, Phipps started the Haiku project, which was originally called OpenBeOS (The name of the project changed a few years later, see the sidebar “What is my name to you?” )

From the outset, Phipps decided that the project would be aimed at recreating the latest official release of BeOS known as R5. Looking back, one can see that this decision was ingenious. Usually, people develop open source software projects in their free time, for fun. Often, such projects, without having led to any significant result, gradually “fade away”, as developers lose interest in them and turn away from the originally chosen path. However, Haiku managed to avoid this fate, since all its developers believed in the importance of recreating the R5.

In order to engage in his project, Phips and his associates had to “cut out” time from their main job. The operating system is an extremely complex product, especially as comprehensive as BeOS, whose many layers and applications were originally designed to work together. The most talented engineers of Silicon Valley worked on it for over ten years. The idea of ​​recreating such a system by the forces of enthusiasts working on the project in their free time was truly crazy. However, it was precisely thanks to such seemingly insane ideas that Linux emerged, as well as the GNU free software program, from the C compiler to the GnuCash accounting program.

A computer system, like a puff pie, consists of several layers. Such a system has hardware, an operating system that manages this hardware, and applications running on the operating system, such as browsers, text editors, and such nice things as games. In addition, the operating system is the tool by which programmers send commands to the hardware.

Fortunately, BeOS had a modular structure. Due to this, it became possible to develop, test, and replace each BeOS component individually with its free counterpart. Several BeOS components have already been released by Be as open source software. These were programs such as Tracker and Deskbar , which in Windows correspond to Windows Explorer and Taskbar, and in OS X, Finder and Dock. One of the first programs that programmers decided to replace was the screen saver or screensaver . Such a program has a rather simple purpose, but at the same time it works with important parts of a computer complex. Among other things, this program should constantly monitor keyboard and mouse activity, load at a specified time and ask for a password when it is turned off. When all the parts that make up the new screensaver were completed, Phipps replaced the BeOS screensaver with an open source version. To everyone's joy and surprise, she worked. But more important was that the developers were convinced of the correctness of the chosen approach, and realized that they could replace each module in BeOS, knowing that it would be fully compatible with other parts of the system.

In 2008, we crossed an important milestone. Haiku, like any other program, is written in source code. In order for the computer to work with this code, it is necessary to compile it and convert it into a binary code. The breakthrough was that it finally became possible to compile the source code for Haiku from the Haiku operating system itself . Programmers call this opportunity "self-placement." This stage is extremely important when developing any operating system, because an operating system that does not have self-compilation capabilities will always depend on other systems.

When work on the project was already in full swing, Phipps decided to start creating an organization that would become a “home” for Haiku. As a result, in 2003 he founded the non-profit organization Haiku Inc. She controls the work on the project, and accepts donations. She also owns the trademarks and copyrights of the site, the logo and, of course, the source code itself "Haiku". Currently, Haiku source code is available under the so-called MIT license . This license allows the full and free use of the code for almost everyone, including private companies and other open source projects.


BeBox: He died, but his system is alive.

Photo: Rene Gollent

6 cool features "haiku"
  • This system can be used absolutely free; it is designed to maximize users' freedom of action.
  • It is an open source system with an acceptable licensing scheme. Commercial companies can easily use it for their needs.
  • In this system, multithreading and the advantages of multi-core processors are widely used, the use of which does not require much effort from the developer.
  • This system is undemanding to hardware resources, it is fast and well-performing and allows you to give a “second life” to old equipment.
  • The file system of this OS is arranged as a database, which simplifies the search and sorting of information.
  • All components of this system, starting with the system core and ending with the user interface, are well integrated and consistent with each other at the source code level.



Of course, the Haiku development team has to watch out for patent infringements that BeOS has and have not yet lost their power. However, we maintain friendly relations with Japanese companies Access , which currently owns the rights to BeOS. In particular, Access allows us to upload BeOS documentation on our website. In addition, she never tried to ban us from any of our work on copying technologies used in BeOS. Will Access or any other corporation, which seems to have the rights to our code, sue such a small project like ours? After all, from such a litigation the company would not have had to expect great financial benefits, and it would have had a bad effect on its reputation. However, wait and see. With the current number of IP litigation cases in the US and around the world, not a single software project can claim to be completely immune to lawsuits.

In 2007, Phipps announced that he was forced to leave the project for family reasons, and Haiku Inc. was at the helm. others got up. However, the loss of the leader did not hurt the project, almost as Fips originally intended. So, at the moment, I fulfill the duties of the treasurer of the project and, together with other members of the management, I am sitting on the board of directors. We are helping to further develop the project dynamically, so that during its last meeting, which was held in DĂĽsseldorf in early April , the Haiku development team was already working on the next alpha version of the system.

To date, we have recreated BeOS R5 so precisely that the old applications developed for BeOS, which are now more than ten years old, can be freely launched on Haiku. When the project was just beginning, many believed that such compatibility would be impossible. In many key areas, Haiku even surpassed its predecessor. For example, Haiku supports a much larger number of languages ​​than BeOS, and in addition it also has other means of internationalization. In addition, it can work with modern video cards, the latest processors and wireless networks, and can support work with more memory than BeOS.

If we talk about programming, then in Haiku it is easier to create user interfaces for programs. This is due to the fact that it has a built-in markup tool that allows you to automatically place icons and widgets on the screen, while in BeOS, developers had to manually set each detail of the markup, for example, the alignment of various buttons. These and other improvements have allowed Haiku to remain modern, despite the rapid pace of development and numerous innovations in the computer industry.

But even having learned about all the advantages of “Haiku”, you may still be wondering if another operating system is needed when you already have Windows, Mac OS X, hundreds of Linux versions and numerous systems for mobile devices?

The answer to this question is “Yes, I need it.” And for a variety of reasons. Computer viruses, almost the same as their counterparts in nature, actively reproduce under conditions of uniformity . And since many people use the Windows operating system, the viruses created to harm this system have no shortage of victims. In addition, if one operating system has a monopoly in the market, then its creators will not have good reasons to improve it ( competition from the Mozilla Firefox browser , in many ways, was the incentive that made Internet Explorer improve). Diversity contributes to the creation of programs with better compatibility, since in a variety of conditions, the developer has to create code that should be able to interact well with other programs. When there is almost no competition, there is simply no incentive to work on improving programs.

"What's in a name?"
When the project to recreate BeOS was just beginning, it was known as OpenBeOS. However, the name BeOS was a registered trademark, so the project needed to come up with a new name. In 2002, a competition was held for the best project name . There were many proposals for this competition, and the name Haiku was recognized as the best of them. This name goes back to the eccentric error messages that were in the BeOS browser. All of them were displayed in the form of a haiku - the classic Japanese tristi. So, for example, in case of inaccessibility of the site, the error message could look like this:

“Three things are inevitable:
Taxes, death and inaccessibility of the site.
One of them is the victim. ”

A list of BeOS error messages can be found on the Internet at www.8325.org/haiku . There are also plans to include these messages in the haiku system browser.


However, Haiku does not just enrich the gene pool of operating systems. The first thing people say about it is that it is different from other operating systems, such as Windows, OS X, or Linux. She is unique. For example, the core of Linux is the so-called kernel, which was originally created to work on servers , and only later modified for use on desktop computers. As a result, sometimes this kernel allocates insufficient resources to the user interface, and Linux users feel annoying delays in the operation of the system. This is manifested when a computer performs particularly resource-intensive operations, such as burning DVDs or compiling code. The kernel of the operating system "Haiku" was originally created for desktop computers, and therefore it always gives priority to the user interface, regardless of what happens in the system.

Between the system core and the user interface is the so-called application programming interface or API. The API is the tool that software developers use to interact with their applications with others. Poor API design can ruin the lives of both programmers and end users of their programs. Haiku has only one API. For comparison, Linux has hundreds of APIs and almost as many user interfaces, and therefore it is almost impossible to switch from one version of Linux to another without serious consequences. The version of Linux you are using can greatly affect how your computer screen looks, how programs are launched and executed, and many other things. All this makes the development of programs that would work equally well on all versions of Linux, rather difficult.

All Haiku components, including its applications, such as a browser or media player, were designed from the very beginning to work together. . , . , «», , «». , «» – , . .

«», . , , «» 10 – 15 , 170 . «» . «» , , , , , .

«» , BeOS. BeOS , . . , , , , . , , . , . « » (Windows) « » (OS X) , , , . (, ), .

BeOS, «». BeOS , ( «» ), , . , , . , , , .

«»
«» , . , , Pentium III, 256 2 . , , , . , .


, «» , . «» . , . , , , , . , , , , . , .

«» , , , . . , , . , , , , . , , . «» , . , «» .

, BeOS , , BeBox . BeOS « » . , . BeBox , . . . «» , .

»» , , . , , , , . , , «» , , , . Tracker . mp3- , . «», People .

, , . - . , Microsoft Outlook, . , «» - , , «» . . People , Tracker. .

«» , . , , , , , , . . «» , BeOS.

, , «» . , . -, , , , . . , , , , .

«» , , Linux, FreeBSD . «» wi-fi FreeBSD . «» Gallium3D , , , Linux.

, «», , . , . Linux , , «». Linux . OS X, Apple Snow Leopard, Grand Central Dispatch . . - . « » .

Windows 7 . , . , . , Windows . Windows 7 Ultimate 20 . «» , , 700, , Windows 7. , Windows, Mac OS .

«» . , «» , , , «» , , , , , ( ), «» .

«IEEE Spectrum», «The Dawn of Haiku».


– , Ruby on Rails. -, . 2003 «», . « , » — . « , , , , ». , , , .

PS Roler , . I apologize for the double. However, let me leave my option. It seems a bit fuller.

Source: https://habr.com/ru/post/148911/


All Articles