First off, don’t get me wrong, I love Haiku and I do appreciate the long hours you guys spend on it. I’m an old BeOS user so Haiku is its own killer app to me.
Several years ago I decided to give Haiku a real shot at use and possibly contribute since I’m a software engineer by trade.
At that point, you were about to release one of the stable Alpha releases but I can’t remember which. After installation, I was stunned at how well it had progressed and I began using it on a daily basis. Other than having to downgrade my video card and a few issues here and there, it was wonderful!
I set up a mirror at home and started to become familiar with the codebase. I’ve never used jam before, so that was a learning curve, but it was something I was willing to learn.
Life and work schedules prevented me from spending as much time contributing as I would like so it was a few months before I could return and in that time, things broke in the nightlies. This made developing difficult, so I waited for it to stabilize.
It never became stable. Sure, things would be fixed, but then others would break. I waited for newer releases, but those are few and far between so I slowly forgot about it. Now I just check back every six months or so to see how it’s going.
As an outsider who has experience with both commercial and open source projects, I’d like to give my suggestions.
Work on more consistent stability in nightly builds. If a user or developer has an issue with the main Alpha release and needs just a few fixes, they are currently subjected to all changes in the nightly builds.
I understand occasional breakage in nightlies, but it’s like you’re all developing in the stable branch. I can tell you from experience that this is a horrible idea on several levels. It makes getting big fixes to users incredibly hard without also slipping in changes they don’t need. It also makes major releases far harder than it needs to be since you’re testing completely from scratch each time. Only the directly effected developers should be looking at such unstable commits and checking them into stable once it is fairly tested by a few people.
Stable Alpha releases need to be far more common. You advise against running nightlies, but Alphas are so far apart that users and potential developers have little choice but to run one. Keeping the codebase more stable would reduce your release workload to acceptable levels. If releases take a huge workload then you’re doing something wrong upstream.
Much of the work done seems focused on new non-core features rather than stability of core features. I’m not sure how much developer time was spent on package management, but from the outside it seemed like washing a car with a flat tire.
Again, I’m not trying to troll you or be overly harsh, but from the outside there seem to be severe issues with the development process that are hurting users and developers alike.
Thanks for reading.