Hello
I just come to know about Haiku [project very recently. I did a tour in the web site. I have to admit there are a lot to like about Haiku philosophy of trying to unify the user experience. I tried Linux for quite some time but I still I don’t feed Linux is targeting desktop user and Linux community so much fragmented. I like to Haiku philosophy and concept.
However there is one question I could not resist myself to ask. This OS has been under development for the last 9 years and still under alpha 2. I think this is so much slow. Why this project cannot get more programmer to work in it to accelerate the work like Linux distribution. With this rate of development do you really think this project has any chance to compete with other open source OS if consider how Linux progressing for example.
Well, I think Haiku would benefit hugely from some corporate backing which would allow a number of devs to do full-time Haiku development. Haiku’s niche would be something desktop oriented since that’s is were it’s strength lie.
My dream would be some corporation selling support for Haiku on some niche enterprise desktop market and doing so in part by funding a small team of Haiku developers to continously improve on the desktop experience in accordance with the customers wishes (something like Red Hat… Yellow Hat maybe ). My personal nightmare would be having some corporation taking the Haiku source and create their own proprietary version while hiring Haiku devs to work on that and leave the open source version staggering.
My dream scenario has always been that some company will find Haiku a niche market in in the desktop enterprise sector and hire a bunch of Haiku developers to work full time on improving it per the needs of their customers which will also benefit us normal end users.
My nightmare scenario would be if some company makes a proprietary Haiku (named differently of course) and hires some of the core devs to work on that version full time (couldn’t blame them) leaving the Haiku open source project struggling.
As it stands I think Haiku is doing fine, there will be periods where development stalls and other periods where it will speed up depending on real life issues but I have never really experienced Haiku development as slow, and this coming from someone who has http://cia.vc/stats/project/OpenBeOS as my start page in Firefox
The first development of Linux were quite difficult as well. I mean, Linux attracted a lot of developers since just a few years (a decade?) and it’s far from being mainstream yet.
I believe that once Haiku got all the tools like OpenJDK and get several big mandatory applications like an Office suite, a Photo and a video editor, a Photo Manager, etc… Haiku will start to attract many developers.
I am confident with the future. Once you play with Haiku, you’re kinda hook…
Patience is virtue…
Really it hasn’t been that long with the people it has now when you consider it was done by one man from scratch for many years and just 2 or 3 years ago Haiku was turned over to the current group and put in their hands for safe keeping and he took off for a long deserved vacation from it. He got the central core more or less done but there was still a ton more to do to finish it off and that is what they have been doing for the last 2 or 3 years and it is a lot of work.
In the beginning, Haiku development was quite fast with about fourty commits a day. Many developers were able to work on easier tasks in parallel. The architecture of BeOS, which Haiku is replicating, is quite modular, and it was possible to develop Haiku components on BeOS and test them there. This ranged from smaller drivers to entire services like the input_server, print_server or media_server. Once these were in a useable state, it became apparent that some components were trickier and required greater experience and skill. So these components took longer to finish, most prominently the kernel itself. It was quite a while before Haiku was self-hosting. Nowadays, Haiku is pretty stable (more stable than Ubuntu for me, but it depends on the hardware, respectively the active drivers, and a bit on what you are doing (don’t just unplug a USB drive for example)) and I use it for pretty much everything. But a lot of the original Haiku developers from the early days are not with the project anymore. Luckily, the project attracted new developers and they are doing great work, even beyond what existed in the original BeOS. It is difficult to know the true reasons for why the project has not attracted more new developers, but one reason for sure may be that we don’t yet have a stable release (R1). So the hope is that once the die-hard core developers have stuck long enough to get the project to a final R1 release, more developers will be attracted. At the same time, the project is putting donation money to good use by hiring core developers to do neglected work and be able to spend their time fully on Haiku, at least for a period of time. Some Haiku developers work as freelancers and work on Haiku full-time between projects. For anyone with a regular day job, it is difficult to find the time to work on Haiku after work. Some Haiku developers have grown a family in the meantime, like yours truely, and that also takes time away from Haiku development from them. If the release of Haiku R1 will manage to attract many new developers, only time will tell. The core contributors will have to make some hard decisions about what goes into R1. On the one hand, an underwhelming release will not attract much new blood, on the other hand, the longer it takes until the release, the worse for the project.
free10 wrote: “Really it hasn’t been that long with the people it has now when you consider it was done by one man from scratch for many years and just 2 or 3 years ago Haiku was turned over to the current group and put in their hands for safe keeping[…]”
Humdinger wrote: “Oh, I must have missed that! What is the name of this superman?”
His name is Clark Kent but also goes by Humdinger.
Free10 might have been thinking of Michael Phipps. There were many other developers working on Haiku from the beginning but Phipps was the boss (leader) of the project when it started out.
Please take into account that it’s quite a small group of developers working on this. There is far more support for Linux than there is for Haiku at the moment. Users are expected to be patient.
It’s normal for this type of OS development. You can look at the various Amiga projects, or RISC OS, or OS/2 (“eComStation”) or even at FreeDOS. The licensing regimes vary, but whether it’s a commercial budget or the limits of volunteer’s free time, the problem is the same.
You could think of it as a vicious circle. The lack of developers means slow progress, which due to the Red Queen’s Race means a net loss of capability over time. This makes the project less attractive to new developers and so on. This is really why Be went out of business too. They bet on being able to rapidly attract a critical mass of developers, and that didn’t happen. Without those developers, Be’s R&D budget was spread too thin, trying to keep up with projects that had many times the manpower and income.
Same with many other OSes too. Hard to attract developers to these projects.
Only Linux has been very popular at getting developers. Likely because it attracted them early on (it was free, similar to UNIX and only other alternative to Windows back then) and developers started using Linux.
Linux strongly appeals to developers and corporations. Very hard to change this today.
With R1 release, it will have good chance to compete for user market share but that is 4 to 7 years away from happening from the look of things. Also, lots of software is coded for X. So, either would need to run X on Haiku or lots of programmers to either port over the software or write native applications with similar functionality. Example, OpenOffice.
This is a really late comment but Genetic Programming is a real way, to program using the principles of evolution. That is using many small random programs, like genes. Combining combinations of the programs “genes” like chromosomes to produce new versions “offspring” or combinations. Measuring how well they measure up to a fitness function, that is defined by what is there expected function “natural selection”. Also mutations may be introduced in some genes of the offspring. This is iterated over as many generations as neccessary, to acheive the perfect or best fittness. It works best if the fitness function is not just 0 or 1 but some greater numbers of in between. If it was just 0 or 1 it would not be possible to iterate over many generations and have gradual improvement.
If this method of programming could/was implemented in Haiku it would develop much faster. I don’t think many major programming jobs use this. Probably for an obvious clash of underlying beliefs that block technological progress or specifically programming in this case. I might be foolish expressing this because I am not a programmer and don’t know that I could put my money where my mouth is.
[quote=commodorejohn]Evolution takes massive amounts of time, only promotes survival (or non-hindrance) characteristics, and doesn’t work toward a defined end.
So, uh, yeah, good luck doing anything with that methodology in software development.[/quote]
You forgot to mention that GP tends to produce code that is very hard for humans to maintain or extend. In-fact the code tends to break even when you make what appears to be small proper changes.
Plus you need very clear guidelines of what the final goal should for the GP to be tested against. The amount needed for finished programs that users will use require as much work to define as to write the code itself.
How for example would you define a word processor that a GP environment will produce a program to does what 95% of the users out here need? Note you need to define, looks, menus, icons and functions.