Disappointed with Haiku

Nah man it’s all good, might be nice if it were to have a stable statically compiled version but… I’d much rather see you developing it and having the occasional growing pains that not having you working on it at all.

And I wish technical people on the forums stopped saying “I would like to help but I don’t know C++”. There are so many things to do around the project that don’t require C++ experience. I bet @kallisti5 would appreciate someone else wrestling with buildbot so he could write some C++ (not necessarily in WebKit though) in the little spare time he has.

Now, admittedly, our “Getting Involved” page was hard to reach and could be better structured; I have updated it a few days ago and put a link on the front page, to better channel the enthusiasm we will hopefully see when the beta is released. There is a listing of our manpower needs, so no more excuses - get involved and help us out!

4 Likes

Is there any way the Getting Involved page can link to the source code of the projects and their bug/dev trackers so people can help with the planned features and existing bugs? Even without much information about the big picture there must be some things that the contributors could take care of.

< ?rant
And another thing. When I did a bit of code fixing (PHP) on the nightlies download page years ago, my code was at least partially reverted and another fix was written without even having the chance to do it myself. Being unaware that the code interacted (and how) with other pages (there were no comments), I did what was best for the page I got the code for, but instead of being told I should be aware of the rest of the download pages, I got nothing.

So when the project finds developers willing to help, the “first contact” should be improved. It would’ve been different if I got more than one file to handle and been offered even the slightest insight that could’ve helped me do the right thing in the first place. It would’ve been nice if anyone told me to sign up for a developer account somewhere, where I can learn more about the needs of the project, or whatever. Once I handed over my modifications (which solved the bug I reported), we continued our IRC chat like nothing happened.

Maybe at that point in time there were enough contributors and there was no need for more, I have no way to know that. But my first contact was quite dry. And once I registered in this forum and even mentioned I was a Zend Certified PHP Developer, I didn’t see anyone going “hey, would you like to take a look at our PHP-related tasks and maybe help?”

After my initial PHP contribution I really didn’t feel like trying to help again, honestly. Not because I lost my excitement after that “dry first contact”, but because noticing the total lack of interest in drawing me in on other tasks I went back to my other things. The “Getting Involved” page is clearly not enough to get more developers. The human factor really counts, because I can write code and experiment on my own, but for me it’s more fun when I feel like I’m invited, welcome and part of the team, regardless of how small/big.

12 years ago I founded a national community for a CMS (PHP-Fusion), and that’s when I started learning PHP&MySQL. It was interesting for a few years, until I had to find various ways to make our people get more involved, to come up with initiatives and take some responsibility for some small components. The truth is the CMS market is a bit brutal these days, with the social networks and free blogging platforms covering the people’s needs to publish stuff, organize and communicate in groups, and so on. So a regular CMS would only be extra work for the non-technical people, who gave up bothering with domains, FTP, maintenance, backups, outages and stuff. Without a business model, donations, or even enough ambition in my team’s members, I was mostly alone in the efforts of keeping the community alive and fresh by coming up with new stuff for our users.

I don’t care about keywords like “self-reliance” as in everyone works independently to get some job done. To me that’s the opposite of fun in an open source project. I love web development but for me it’s only rewarding if I’m around people who (ironically) are self-reliant enough to come up with ideas, plans, solutions and talk about them openly with the rest of the team, so you can actually get a sense of collaboration, consensus and push things forward as a team, each with their responsibilities.

So from the sum of my experiences here, the Haiku team didn’t feel like the right place for me. The Getting Involved page could also have a section called Culture, to lay out a few words how people work and interact in this project, so those interested can figure out on their own what they should expect. So if my experience was different than what’s really going on, at least I’d know to poke around later instead of feeling unwelcome and go back to whatever I did before.
?>

1 Like

What “projects” (plural) do you mean? Apparently not what’s under “Infrastructure Maintenance”…

WRT your rant, yes we could need a “Welcome to the dev neighbourhood” team that knows every aspect of Haiku from infra to code to website. We don’t have one, just a handful of devs scrambling to keep things together and inching forward.

1 Like

That’s all fine, but saying that the browser in alpha 4 works better is like saying I should not have touched it at all because I made things worse.

5 Likes

I don’t know if you saw the updated page, but if yes, then that’s as much as you’ll get. You can get to the source and bug trackers of these projects from there. We can’t handhold everyone coming here to help, and there is the expectation of at least some degree of self-reliance.

Because we don’t have HR and developer outreach people here. Patches welcome.

I don’t really know what you are talking about. What do you expect us to do? (Setting aside that past experience you describe which was a long time ago.)

The reason it works that way in this project is because there is a small number of people doing the work somewhat regularly. The scope of the project is very big, so everyone is their own Project Manager setting the schedule and things to do next, and they probably don’t have the time and will to manage you, telling you what to do and deal with “I’d prefer to do that other thing instead”.

I really don’t get what you would like to see. Everything is in the open. There are various MLs, there is IRC; people do post RFCs there, their ideas, etc.
I have also listed some things we’d like to see done on the page mentioned above; there is a whole roadmap for Polyglot and a list of Issues · haiku/infrastructure · GitHub.

No, seriously, I don’t understand. Do you expect weekly meetings? Daily “standups”? We can’t afford that.
We are at a place where everyone has way too much on their plate.
We have 10 (citation needed) people and the OS, a Web rendering engine, an office suite, and many applications to maintain. There are no responsibilities here; if there is a bug in the kernel that really gets on my nerves, I will fix it myself, because no one else will.

The thing I wanted to highlight with my previous post is that “I don’t know C++” is a lame excuse. Your unwillingness to do stuff is understandable based on your past experience and your expectations about the culture (which I believe is a chicken-and-egg type of situation).

4 Likes

The browser being able to do more in the past is perfectly normal considering it had to do less. HTML5/CSS3/JS evolved quite a bit in recent years and the web developers tend to use the new features. So years ago it was easier for the browser to render various things. It certainly feels like maintaining a web browser nowadays requires more people to actively work on it, to keep it up with the latest technologies.

I don’t need handholding. I just don’t like to be alone in a project, because I prefer collaboration, sharing ideas, and sometimes even challenges on how to do something better. Because being productive is not a goal in itself. I like to get involved so I can learn something new, to improve myself, and to have fun while at it.

For me in particular? I don’t expect anything. I just told you what works for me, and what didn’t - in this case.

And I didn’t even imply I’d expect to be managed. Not only that would be a waste of time for the PM, but it would also take the fun out of doing what the developers enjoys (and knows) best. One of the best points of an open source project is that it allows people to become self-reliant enough to pull through. But that doesn’t exclude collaboration on the same project, provided that there are more developers available for it. And that’s why people who prefer collaboration (like me) would join Haiku if they would be better handled when they contribute.

I’m sure it is for those who know how everything is structured, after years of involvement in the project, but it’s not the same for those new to it.

On Infrastructure Maintenance you have Project - Technology - Link. What about a new column? DEV could offer links to the places where the actual code is managed, so the developers can reach it with a single click and see how they can help. No need to waste any time asking such a trivial thing as where’s the code.

In my case, if I’d like to improve the User guide translator (PHP), I click that link, read those 3 sentences and find nothing about how I could help with “Reworking the user guide translator to use a modern framework” - as stated lower in the Infrastructure Maintenance section.

After clicking the link to the infrastructure on GitHub, I ended up in a repository what is missing a proper intro for people unfamiliar to Docker (I’m one of them). How do people find out where’s some app in the infrastructure? After checking “tools” and “data”, because it made more sense than “docker” - which could’ve had docker-related stuff, not projects -, I found out that in /docker/userguide there’s a Dockerfile and a Readme.md with a link to the actual place of the userguide-translator.

Ok, I found it. What next? The project doesn’t have an outline of what it’s supposed to accomplish (a few bullet-points of features), so you have to read the actual code. But you can’t tell much by how the code is structured, and the code is also not documented and you have to do a lot of guessing. You also don’t know what are your target PHP and PostgreSQL versions, which are important.

All of these could be presented in:

  1. the DEV link directly to userguide-translator project on GitHub;
  2. a readme file for the project.

So couple this with that unwelcoming feeling and maybe it will explain why some people don’t get involved. Especially those who know their way around the technologies involved would prefer a quick overview about what needs to be done, so they can easily assess if they can help without asking around and run into someone who didn’t have a great day - so to speak.

Online? I wouldn’t even like them, let alone expect such things. At work it’s different - everyone is on the same timetable, so no problem. But with people collaborating from various places in the world, when they have the spare time, that’s impractical and usually impossible. Any message board or mailing list is more appropriate for that.

When I was in the PHP-Fusion (international) crew we had people from over 20 countries pitching in on the various topics and areas that required attention. And the rare meetings were prepared in advance with the topic in the forum, so everyone can prepare in advance. The Skype meetings were usually 60 minutes long, in written form, mostly meant for quick votes and decisions based on clarifications that were better off in a chat than a forum. And those who couldn’t get on Skype at the set date and time, they left their input and votes in the forum. Everything else was based on coordination in the forum, which was quite effective.

Sure, if you take it as an excuse. But you can also take it as someone cares/needs that much about something that they wished they could add/fix it themselves, instead of doing unrelated work to free someone else to work on it. That particular thing might not be the what the “free” developers would even want to work on, due to other priorities and stuff.

So as much as we’d like, it’s not that simple. But things can be simpler if there’s some effort invested in making it easier for people to jump in. It surely doesn’t take much time nor much maintenance to add an extra column with links to the code, have a decent readme for each project and comments where the variable names don’t help at all. You can’t be self-reliant when you have no idea what to do with some code that doesn’t speak about the author’s intentions.

Why not learn C++ then?

Really? Below the tables, second sentence:

One thing missing there is HaikuDepot server, I don’t know why.

Or I can take it as them just saying they would help, to use that as justification when complaining later. “See? I want to help BUT…”

I mean, it’s really demotivating to see stuff like “WebKit was better in a4.1” or just generally “this doesn’t work, that doesn’t work, everything is shit”.
It’s moving goalposts constantly, LibreOffice is ported, oh but now people need LibreOffice without KDE dependencies. When that is going to be achieved then it’s going to be bickering about lack of native office suite because LibreOffice is bloated and sloooow. And when that’s done, the native office suite is shit because it’s not as compatible as LibreOffice is.
And then you read that Haiku’s problem is that developers don’t listen TO THE PEOPLE. Well, if you’re going to complain all the time I’m not going to listen to you because I would go crazy.

Do we need praise and only praise? No, I don’t think so. I am also aware that negative opinions have a heavier impact than positive ones, those negatives are a minority and that people are more likely to give 1 star than 5 star reviews.
However, maybe instead of writing another post how the developer’s work doesn’t help, or that you’d like to help but you can’t :frowning: do something productive instead. Learn what you can’t do. Write a monthly report. Write a post about how you’re using Haiku to get stuff done, so we can point people to that and use it as promotional material. Clean up the website (e.g. HTML->Markdown).

That would go a long way.

Agreed, but that is the result of the small team issue I outlined above. If I’m working on admin stuff myself I’m less likely to write a readme, because in my brain there is probably no one else interested in it (+ “nobody likes to write documentation”). That’s a fallacy, sure, but I can see why that happens.

Despite my fairly negative tone, I think you raise a few good points about the way this project operates. We certainly lack a person who would know what is happening in the project on a higher level. For example I have no idea what waddlesplash or kallisti5 are doing, besides that they are working on a release.

I think it’s unfair of you to do that down so now. I did not speak to you but responded to another user who asked for web browsers. I have not talked about your work, just expressed my feelings about the browser. Unfortunately, I can not visit some page correctly with webpositive, these are my personal experiences with it. And if I could easily visit these pages then and I have problems today, then that is my experience, which I have expressed. If I had a problem with your or the work of others then I would say that too. And anyone who knows me long enough knows that.

Maybe I should have expressed myself better or differently. It is difficult for me to do this in English, as my native language offers more opportunities than English. We are a colorful bunch and everyone has their good and bad sides, in the end we all want the same, a rebirth of beos.

So many things have happened in the last few years and I’m happy about the big steps that have been taken. And even if others think that you should learn just once C ++ to help ;), instead of just here to demand, I can not win the language, unfortunately. At least not as you would have to learn, because without someone who introduces me correctly, I will never be able to learn this in my free time and knowledge. In addition, I do not recognize the logic behind C ++ and therefore it is much harder for me to learn (the age also comes to it).

**Sorry for english translated text from google.

**There are not many things that bother me right now:

  • that I can not give any ratings of applications in haikudepot or haikudepot web anymore (I would love to do that) because I forgot my password and nobody can unlock me (asked for years ago)
  • the error messages or suggestions are incredibly difficult to deliver to 3rd party projects because I do not understand how to do this on the GIT pages and it is always pointed out.
  • There are still people who do not know our knowledge base http://www.besly.de, where we have been creating and / or providing guides for more than a decade and provide a platform for documentation of programs.
  • That you always get little feedback, but it has always been so, even under beOS / Zeta.

I am sure that the majority of the haiku community is grateful for the porting and that it does not matter if you need KDE or not. We should not let a few demotivate us.

I am grateful for every program that enriches and makes possible working with haiku.

1 Like

I don’t like it.

I missed that. It’s a lot of text to read and I clicked on the first link that hinted as the right place to find code used for Haiku’s infrastructure. But I think the way I proposed is much better - simple and up-front.

I don’t think you see “everything is shit” frequently. And although it’s still demotivating, I for one choose to don’t give a shit about such opinions - maybe just a quarter. However, as I stated in a previous post, it makes perfect technical sense that WebKit was in a better shape in a4.1 when you consider the state of web technologies back then. So don’t take such comments personal.

The fact is in the last 5 years alone an army of “web developers” were born as a result of coding boot camps and stuff like that. There are a lot of people who don’t have enough experience to write HTML/CSS that is compatible with most browsers, and their work gets pushed online, and people have to use it. It surely isn’t pretty for a user to fire up the browser and either see the page broken or non-functional. But it’s a technical issue first, then carelessness on those web developers’ side. It’s not Haiku’s fault.

I started out with some PHP code. My interaction with the Haiku people back then wasn’t exactly great, so I stayed away - although I had no hard feelings. But telling you about this is important, because I could’ve had years of experience with Haiku’s needs and plans by now if things were better set up back then to welcome new developers. And this is important now as well, because 5 more years from now, someone else might look back and remember something similar, and Haiku will probably still have 10 active developers. You can’t not stop a little to consider the reasons.

Damn it, if it helps, then in the Getting Involved page put a new category of wanted people: Welcoming Committee - a group of people familiar with the project’s high-level structure, willing to assist those who have questions about contributions to the project. So what if almost no one under the sun has such a team? Give a shout out and see if there are people willing to do such a job. What’s sure is that such people can actually have a positive impact in the project without doing any kind of technical stuff.

Here, a recent tiny contribution: Fixed the link to R1, Alpha 4.1 by kneekoo · Pull Request #227 · haiku/website · GitHub ← I reported a broken link and as it turned out, someone fixed it and didn’t even care to mention it on GitHub, so the conclusion was “Closing as not-needed, then.”

And you’re telling me how demotivating is this or that? I can understand you guys, but can you understand how it is to try to be helpful and get this kind of interaction with the team? Doesn’t this look demotivating?

There are some people who know the importance of documentation and like to write it. However, the readme files are hardly documentation. Seriously, what I meant was this (about the user guide translator):

Description
This project handles the translations of the Haiku User Guide, which consists of HTML files that can be translated through a GUI.

Technical Requirements

  • PHP version 5.5.0+
  • PostgreSQL X+

Features

  • Login (registration is handled elsewhere - where?!)
  • User roles (check the list in /inc/common.php)
  • Edit the full HTML or only certain blocks/sections

Does this make sense? Can you see how an outside developer could positively react and even start working on “Reworking the user guide translator to use a modern framework” without hand-holding or a lot of discussions? So not having a decent readme and no comments in the code makes any serious developer go “meh”, unless they’re so bored or driven that they will turn every stone in their path to get all the details they need. It’s just that such developers are so rare that… there are better chances to remain a 10-people team than finding them.

The chicken-and-egg issue is right here, and the Haiku team can and should improve the status quo. How else if not making it easier for contributors to jump in?

To both above: yes, it is.
Your posts are actually an example of the good kind of complaining, it gives us actionable items to work on.

I am one of them, that’s why I put the nobody thing in quotes.

That’s what I intend to do. If you see any other things we could do better, feel free to send me a DM. :slight_smile:

2 Likes

I started doing a $10 monthly donation today and even cancelled one of my patreon subscriptions to do it. I don’t know if you ever see that money but I hope you do. I am behind the team 100% and will try to help in any way I can. Keep working at Haiku and keep having fun! A big thanks to you and the other dedicated and passionate members of the community.

4 Likes

Yeah, good question :slight_smile: @apl has been working on it at a rapid pace, and I really haven’t wanted to break his workflow. Once things slow down i’ll likely see if he wants to move it under haiku (with him as an owner)

Containers are the future! Keep in mind up until 2017 all of our applications and their configurations were buried in the bowels of baron (our old server). Now you can start up your own haiku-os.org on your desktop.

Anyway, I actually do document the basics… it’s in the “docs” directory. You did look in the “docs” directory… right?

1 Like

I just did, and I found nothing about the User guide translator.

Patches welcome? I haven’t touched the thing, so your guess is as good as mine.

EDIT: Actually, there is some basic documentation with the userguide translator. (how to install it, etc)
GitHub - haiku/userguide-translator: The Haiku Userguide Translator webapp.

I’m really not sure what you’re looking for at this point. It seems like your general MO is: “this is all crap, I can’t work on it”. There are a handful of committers at this point supporting an entire operating system, grab a hammer.

1 Like

@kneekoo - waddllesplash is the primary developer (i.e. caretaker, keymaster, etc) behind the user guide translator. He’s usually responsive on IRC, so he can point you to any existing docs, and enhancements/requests/forums/tickets/help, or PostgreSQL/PHP versions compatible with the project.

IMHO, you don’t have to know C++ or Docker-speak. Just converse with the right person to get what you need.

2 Likes

If you actually read what I wrote and that’s all you understood, then the unwelcome feeling seems to be justified.

Throwing negativity back and forth helps no one, as has been said waddlesplash is the man so hopefully he can fill you in on any details you miss!

Also, as any developer would be aware, documentation is vile boring work :stuck_out_tongue:

Also most of the negativity people claim around here is imagined… partly because people meet in person so infrequently you don’t really get to know each other. At least that is what I chalk it up to… and there is the inevitable defensiveness that developers are bound to develop when they have put a ton of work into their hobby project. I’ve been following the Haiku project for 11 or 12 years so I have had a chance to see a lot of people come and go… and many stick through it. All of them seem to have been pretty decent people with very few exceptions and most of those I chalk up to people getting stuck up emotionally on some change or technicality that truth be told wasn’t half as bad as it probably felt like at the time to them.

Personally one of the things that I hate most is when I disagree with someone, and allow pride to create a divide between us as co-workers… if feels terrible so lets just avoid that!

1 Like