Accountability and Criticism

But… what is the problem, exactly?

The nightlies are a bit broken due to recent changes and performance optimizations. Sure. This happens from time to time. They are nightly builds, the point is to have code deployed to the machines of early adopters, and bugs identified before we ship a release (even a beta). So it seems the nightly builds are doing their job.

Beta 4 has some difficulty with modern hardware. I know, I bought a new laptop recently and I also have a non-working touchpad on my machine. I just plugged an USB mouse until I have time to fix this.

Waddlesplash not focusing on hardware support? That’s a bit of a ridiculous claim as he single-handedly maintains the entire Wifi stack, and recently started diving into PCI as well to help me with my I2C touchpad driver problems.

Me spending too much time on web browsers? Well, if Haiku did not have an up to date web browser, I wouldn’t use it, and then I would see no use in contributing to it. So, it’s that, or nothing at all. Or maybe I can be convinced to work on something else if I’m getting paid for it (enough to replace my current paid job).

Too many strong personalities in the late 2000s? Looking at Repostat: git repository statistics., and in particular the “author of the year” stats, we can see that in the late 2000s there were about 30 persons contributing to Haiku. This reached a peak of 72 in 2012. To me that does not look like driving people away. And last year we had a “skeleton crew” of 48. Admitedly, that’s less than the number of bones in a typical skeleton, but it’s a reasonable size for an opensource project. If we look at blackduc openhub analysis: Project Summary: Factoids - Open Hub

" Over the past twelve months, 55 developers contributed new code to Haiku. This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Open Hub."

Regarding the better hardware support in Linux: you may have missed the fact that Intel is now contributing their own drivers directly to Linux, and they are not the only ones to do so. On the other hand, we at Haiku are left on our own to figure things out. I sure would appreciate some help from Intel engineers who know a bit more about the hardware.

Regarding the budget: sure, with more money we could hire more people and do more things. The current budget is ridiculously small and entirely funded by donations. We are not like Mozilla who gets million of dollars from Google, for example. I’m not sure what they do with all this money, but it doesn’t seem quite as efficient.

As for the R1 schedule, well, there are a lot of hard issues on the way, and indeed it would be nice to work on more of them. But there’s only so many of us. But at the same time, there is clearly demand for things that are not at all on the R1 roadmap and would selay it by several months or years, things like 3D acceleration. This demand, however, does not come from the development team, but for the users. And for web browsers, I think the situation is the same.

As a developer, I also have my frustrations with Haiku, with lack of hardware support (I mentioned my touchpad, but before that I also had to fix the PS/2 driver for the keyboard to work, the Wifi required help from Waddlesplash who ported and then updated the driver for my machine from OpenBSD, and then there is the Intel graphics where I’m still trying to figure out how to enable two displays, and then the other little things like reworking and finishing the SD card driver, fixing the soundcard driver, and then having a look at the webcam…). Yes, this is all very annoying and unacceptable. However, I can only work maybe 3-4 hours a day on Haiku at most. And some of these topics require me to learn about the hardware, about the driver architecture, and so on. On the other hand, a WebKit rebuild is something I can do on the background while I watch a movie or so. That explains why, from me, WebKit updates are more frequent than deep dives into drivers.

Well, it’s frustrating for everyone, but eventually the two sides of this equation are related: we try to do things the right way. Otherwise, Haiku would be using the Linux kernel and just accept its quirks and strangeness, and try to keep Tracker and Deskbar running on top of that. But no, we decided to take the more complex route of maintaining our own kernel. Ok, let’s admit it, part of that was because that was an interesting and fun challenge (and it attracted skilled developers who actually pulled it off, and did a decent job at it), but part of it is because we want to maintain control over all we do, and deliver a result that we are proud of. It is unfortunate that this only gets us to “so close!” and not to something people (including ourselves) can actually use. Personally my current solution is to have two machines on my desk, one with Haiku and the other with Windows. Maybe I’ll move the remaining Windows things to an Android tablet instead (with the goal of making it less convenient and forcing me to use Haiku more). Some other people run Haiku in a virtual machine. Few of us really use Haiku as their one and only OS, but it’s not because we’re not interested in it. Most developers are also Haiku users, and the lack of hardware support is as frustrating to us as it is to you. I don’t understand where the impression that users and developers are two completely independant and competing groups comes from?

22 Likes

Pulcomandy, waddlesplash, x512 and many others are doing a great job, thank you all for that.
I cannot program things more complex than hello world, I just can send some money and write in this forum, but haiku gives me a lot of joy.

Technically I could use haiku for my job as a sysadmin (terminal SSH and browser are all that I Really need), but without multi monitor support it woul be inconvenient, and without disk encryption only possible on a Desktop not a mobile computer.

But playing with haiku is fun, I adore the icons, the icons screensaver is beautiful :heart_eyes:

We got so much new features in the last years, WiFi,xlibbe, gtk, epiphany, wine, risc v and much more

Btw

Haiku is running great on most hardware I tried it on, but mostly that is Intel processors and Intel graphics

3 Likes

Because operating systems are a lot of work.

Please go look at how many “man-months” of work are spent on Linux, or even FreeBSD, every month, for the last 2 decades. Or look at the donation numbers to the FreeBSD Foundation over the same span of time. In both cases, there are an order of magnitude more people working on the project as well as large corporate sponsors, both monetary and in development time.

Haiku has never had any of that at all.

I actually would not take this bet. On a number of the WiFi-related tickets where I have asked users to test using FreeBSD to see if the drivers work any better under their “native” environment, there have occasionally been users who report that FreeBSD encounters other problems on their hardware before even getting to a userland shell or graphical desktop.

So, I would encourage you to try this and see what actually happens. You might be surprised!

And if there were any issues on Windows with the devices your laptop uses, the manufacturer wouldn’t have shipped it.

When I showed up and started contributing in 2012, I couldn’t reasonably install Haiku on a machine and do some work for any length of time without running into missing features or software (not just the web browser, but there wasn’t even a good IDE, there was only the aging GoBe Productive for an office suite, out of the tiny number of ports most of them were out of date…) And you couldn’t really go for more than a day or two without encountering a kernel crash, system freeze, or something else.

Now, 11 years later, Haiku is in much better shape. Yes, there’s still instabilities and missing software, but things are exponentially better than they were then. We have a relatively functional web browser (or two or three) that works on all but the most advanced websites. We have a large suite of software available including multiple IDEs, mail clients, office suites, and more. And we do run on a large variety of modern hardware, even if it’s necessarily less than Linux.

I think it is probably correct to say that your specific hardware problems are unique to you. I don’t know of anyone else or any open tickets which have any problems remotely looking like the strange spinlock timeouts you have.

But, you know, you never did open a ticket and upload your syslog to it! For all I know, we could find some obvious clue in there. A number of devs don’t read the forum very often, but do read the bugtracker, and once there’s a ticket I do spend more time analyzing and trying to make a guess about what could be tried next. Without actually having the hardware that causes the problem on hand, I and anyone else can only take shots in the dark.

Even if we did have the hardware on hand, making test builds to try and narrow the problem down and then flashing them to USB sticks to test can be a long and frustrating process. Doing it remotely or with multiple people is of course no less frustrating. But I’ve done it successfully before (you can ask around, if you like; I’ve done it multiple times and solved these kinds of bugs.) If you’re just going to be frustrated and give up, well, then nothing’s going to happen, yes!

I didn’t actually say that! I said something else:

Sounds like something has gone very wrong with SMP on your system. You can open a ticket, but I’m not sure who would be able to debug this without having access to the hardware. It’s interesting beta4 works, though. It’s interesting beta4 works, though. Maybe some of the KDEBUG options enabled on the nightlies but disabled on the beta are somehow causing problems on your system…

So, I suggested that it would be difficult, but that there were still avenues that could be explored. Not that nothing could be done. I even suggested something that could be tried, but this will require recompiling Haiku specifically for your system to try different combinations – so, some development experience is required and you’ll have to work closely with one of us.

But this is how open source works. Have you ever reported a problem with a Mesa graphics driver? Unless the developers happen to have your exact model of card and whatever 3D application causes the problem, or can immediately diagnose it just from a stack trace, they are going to ask you to try different things and there will be some back-and-forth. That’s just how these things go.

We actually do have the means. But I don’t even know what your hardware is (you never did upload a syslog, which would tell us that!) and whether it works with anything but Windows and Linux (like I noted above, obscure problems like this sometimes occur even with FreeBSD.)

But acquiring hardware requires spending money, and the project doesn’t have a lot of that. Plus if a problem only occurs on one extremely specific piece of hardware, it wouldn’t really be fair to other users (and/or donors) to spend an inordinate of time trying to fix it, now would it?

Congratulations, you’ve fallen into the exact same problem all the rest of us did when we started out on Haiku! There’s a number of Haiku developers who started out wanting to develop third-party software, but got sucked in to OS development because it was clearly needed.

I only know about WiFi drivers because I bought a laptop that Haiku didn’t have a driver for, so I wound up learning (and then assuming responsibility for) our FreeBSD driver compatibility layer and then WiFi drivers. I learned about XHCI/USB3 because I was annoyed with all the USB problems on my hardware and I didn’t want to just switch to USB2 mode or live with it. I learned about NVMe and wrote a driver for it first because @kallisti5 thought it’d be cool, and I saw it as an opportunity to learn, and then because my new desktop had an NVMe drive and thus I needed it to be stable enough to install Haiku on bare metal. I learned about and fixed HiDPI problems because said new desktop has a HiDPI display. And so on, and so forth.

“Encounter problem → learn how to fix the problem → profit” is the standard model in the open source world. So long as Haiku has meager amounts of money, it will likely remain the model here.

14 Likes

I think you are very much wrong about this. Yes, there hasn’t been anything too “flashy” in terms of new features or ports since GTK3, Epiphany, and WINE. But there’s been a lot of changes going on (some of them my work, some of them others’ work) to introduce new features oriented towards software ports.

For example, over the last few months I implemented kqueue and getentropy (and thus brought along arc4random). The first of these was needed for the .NET port but will provide a substantial performance boost to the WINE and node.js ports (among a bunch of others.) The second will greatly ease porting of OpenSSL 3 (or LibreSSL if we wanted) among with other crypto libraries that previously needed a bunch of fallback code, and it was done to ease porting of the Ladybird web browser.

But that’s just what I’ve been doing. Another contributor implemented SOCK_DGRAM for UNIX domain sockets. This was motivated by .NET, but it allowed Ladybird to be ported (it requires them) and will provide another performance boost for the “Epiphany” browser once we switch HaikuPorts to build using the next release branch.

And that’s just two particular highlights. There’s been a lot more work like that – things which aren’t “flashy” but which provide substantial quality-of-life improvements for porters and third-party developers.

5 Likes

@clseibold I will extend an offer to you I extend to pretty much anyone who is honestly dedicated about fixing problems in Haiku: ping me in one of the IRC/Matrix channels, and we can set up a time where I will walk you through the sort of troubleshooting I would do myself if I had your hardware (it will mostly involve “edit this line, rebuild Haiku, try to run and tell me what happens.”) I guarantee we will at least learn something new about your problems. If you don’t have the time or don’t want to put in the effort, that’s fine – but don’t expect your problems to magically be fixed, either.

10 Likes

@waddlesplash what I said has nothing/zero to do with the work you are doing. I think it is great that you are very active in adding updating and debugging Haiku code. Your knowledge and guidance on technical items is excellent. I think you know that.

One of the things I am driving at is: There is no plan or leadership that is actively driving to a customer release of the product… only aspirational ad-hoc releases. If there was true discipline and leadership, the primary focus would be to finish all the work in Trac for release 1.0 and little or no focus on “pet” projects.

Well, I don’t think there’s going to be “discipline” or “leadership” so long as we are volunteer-driven. People have day jobs and then work on Haiku in their spare time – so they do it to relax, and so they are not going to do things they don’t really want to, and trying to make them do so will likely just drive them away.

Doing arduous or boring stuff is at least partially my job, since I am getting paid to do this. And right now, I think the biggest barrier to a successful “stable” release is … the system not being stable. Hence all the work going into bug-fixes, refactors of components to solve underlying problems, etc. And I balance that out by working on other things that we’ll need for a successful release: porting “big-ticket items” or making it easier to do so.

Most of the work I did to get GTK3 initially ported (before others took up the mantle) could have been done a decade ago. Why wasn’t it? Well, writing an X11 compatibility layer was kind of a crazy proposition, required a good amount of expertise in both worlds to make it work, and then required a lot of patience when debugging strange problems or adding #ifdefs in the right parts of GTK code in order to get it from “starts and runs” to “relatively production-ready.” Why would someone want to do all that in their spare time? At the rate I was working on Haiku before being contracted, it would have probably taken me 6 months or more, while doing little else in the meantime.

10 Likes

Because you haven’t helped.

This is part of the problem. There are maybe 20 people contributing to Haiku stuff in any given month. There are < 10 people generally working full time on the OS itself. Only one person gets paid an extremely modest contract salary. (due to the awesome and generous donations from our supporters)

If you want things to get better, grab a hammer and a wrench… or fund your own development team to contribute. C/C++ developers earn over 100k USD / year each. :heart:

Our funding goals help pay for infrastructure (hundreds of GiB of software packages, hundreds of GiB of operating system images, and infrastructure to build them, translation servers, bug trackers, forums, websites, download pages, haikudepot servers), and help sustain our funds to pay a single contact engineer to work on “all the fires”.

  • Linux has 10’s of thousands of contributors.
  • AMD pays several full-time engineers to work on Linux. [source]
  • Intel pays several full-time engineers to work on Linux. [source]
  • Tons of other companies pay full-time engineers to work on Linux. [source]

Companies en-mass contribute crumbs to Linux because they make money off of Linux. Companies contribute specs of dust to FreeBSD because there are commercial offerings which run on BSD.

The Inc. has tried to nurture and support companies using Haiku… however it hasn’t been enough and I think we’re down to 0 at this point.

So solutions? Nothing’s impossible. Linux was once a thing only a few idiots like me ran. Grab a wrench. Fix the bugs running Haiku on your system. Welcome to the lunatic fringe of computing.

14 Likes

I’m closing this one because it’s an energy and motivation drain on pretty much everyone. @waddlesplash generously offered to reach out and help @clseibold , so lets see if they take waddlesplash up on his offer.

Other mods, if you disagree… feel free to unlock. I’m not trying to censor anyone, but mostly trying to save other forum users from the drama :grin: