I don’t agree here. Wether the features are “internal” or “external” is just a question of how the project is organized. Haiku being a rather small to medium sized project, it makes sense that a lot of features get into the OS itself, rather than external apps.
To quote some of our own examples, what’s the difference between Wine in Linux and the ability to run windows apps in ReactOS? From the “platform” point of view, none at all. It just happens that ReactOS has this at the core of what they build.
So let’s see the features in the Haiku platform, first from your Linux list:
- Bootloader: check
- Live CD: check
- Virtual machine: check (with qemu), but slow because not hardware accelerated
- Wine: not yet.
- Office Suite: yes (ThinkFree Office), LibreOffice port being worked on.
- Teaching skills: check, with the “learning to program with Haiku” series, ongoing participation to Google Code-In (few Linux distros can say that - the only two other projects doing GCI continuously since 2010 are KDE and Apertium), and general openness and helpfulness of the community (you are all awesomen thanks!)
- Run “any” programming language: never true for anyone - I can always find something obscure that won’t run ;). But we have a good choice with C, C++, assembler, pascal, yab, java, swift, python, lua, ruby, probably soon rust, and I probably forgot a lot
- Cross-compiling: not a problem if you need it
Let’s add some of the internal stuff that makes the platform useful:
- Reactive operating system where the GUI never freezes (you don’t imagine how I hate all other OSes for being so sluggish)
- Database features in the filesystem which can be put to good use by developers - to handle your mails efficiently accross multiple apps, your media file collection, etc
- Low hardware requirements, we go down to the Pentium MMX and 192MB of RAM, a configuration where modern Linux systems hardly run at all anymore,
- Totally great IRC client (nothing come closes to Vision in the Linux world in my eyes)
- Great platform for cross development, with readily available packages in the repos for Arduino, ARM GCC compiler, SDCC for 8-bit CPUs, several tools to flash and debug various ARM microcontrollers, etc (mostly my own work as I do a lot of this both in my paid work and for personal fun).
I’m sure other people will add a lot of what they do with Haiku here (or in that other “how do you use haiku” topic).
Then, above this is the way things are marketted to our potential audience. Which is mostly as you quoted it and has seen little changes since the BeOS days: “BeOS compatible OS, database-like filesystem, multitasking, stack and tile windows, 32 desktops, replicants”
As you noticed this is a very technical approach to the thing. It does not talk in terms os things useful to users, but useful to developers. The reason for this is that Haiku is still in beta and I wouldn’t recommend it to general users just yet (for example, I wouldn’t set it up on my parent’s computer, or the free access computer in the music school I help running).
When I try to get people to set up Haiku, I’m often targetting developers or other people who have some technical abilities, and who could help Haiku in its current state. When we get beta 1 out, and on the way to R1, we will need to switch our marketing to target end-users. But for this, we will need the help of application developers to make cool things with Haiku, and then we can show off everything you can do with the OS and the awesome apps.
When I look at the description you made for other “hobby” systems, I see that their target is even more restricted. They want people interested in hacking into the OS itself. They advertise internal kernel design features or the like. To me it would mean that these project are not even trying to get application developers in as Haiku is. They are just trying to get people to develop the OS itself. Which seems about right for most of them as I know them. ReactOS is a special case as their goal is to just reuse an existing application ecosystem. Hence, indeed all the work is on the OS side.