Haiku Inc. and contract work

Yes you are right they need money for living! Me too.

But money is not useful for making them program faster or better as I understood.

Maybe the user should pay for specific tasks rather than just pay for time?!

More devs needed and more time as I remember the conversation here and there…
If you pay some devs their code/patches has to be reviewed and merged by the core devs… and most of them are very busy… (thanks for their hard work)

I can tell my view on this as a developer of Haiku.

I did work full time for Haiku for a year. It was great. However, there are some reasons which results in me not really willing to do it again.

In order to accept payments from Haiku, I had to set up my own company to work as an independant contractor. This results in a lot of paperwork and also, because I’m not an employee anymore, in a lot of problems with regards to health insurance, etc.

Moreover, I was paid about half of what would be considered acceptable in normal situations. While this works well as a gap-filler between two job opportunities, it is not reallya sustainable situation in the long term. You get no job safety, a low pay, etc. And also there were people complaining that I was not working hard enough and just sucking money away from the Haiku project.

So, I would totally consider working professionally for Haiku, and getting paid for it. But only if I get normal job security, healthcare, and all these things.

Now, this is only my personal view on things, and also quite specific to French laws. For example, several of our German contributors are already independant contractors, if I’m not mistaken. As a result, they could spend some time on Haiku without risking as much as me. However, they will do so only if someone is willing to pay a reasonable price for it (not necessarily as high as market price, but still).

In the current situation, it is unlikely that we can make anything useful with the Haiku budget at this scale. It could work for applications, however.

So in my case, I already have a full-time job and I don’t think it is reasonable to leave it to work on Haiku. As a result, I already get paid for doing other things, and I can contribute to Haiku on my free time. But, the situation could be different for other contributors.

4 Likes

I will tell my experience instead. After working 3 months full time for Haiku and with various problems like waiting up to 10 days to receive the payments and have to write multiple mails to multiple people, the journey ended with no apparent reason.

Since I’m self employed, I had the possibility to do that at least for a year.

Nonetheless, I expressed interest in switching to the package infrastructure if that was believed to be more high priority. Even after the contract I tried various times to help with the package infrastructure without any luck to even understand what needs to be done.

Does someone have any idea why we are still delaying the beta? What’s missing in the infrastructure?

The way my contract was managed was terrible, and no one was able to give a shit about what happened and why. The only reason was apparently that “they had no time to vote”, which I want to believe to be a joke, or I may have very bad words to say to this people.

I had nice plans for improving the situation of the media_kit, and give it the love it deserves and never had. My plans are comparable to what the layout kit was for the interface kit. The contract was able to start a little hype, with a lot of people in the community interested in my work, I received several messages from people happy of what I’ve been doing. That’s just a lose chance.

However in the end the result was a lot of emotional stress for me, and the final decision to be outside any R1/beta plan. I’m not going to do this huge work if the project doesn’t consider important to have a developer improving a component which is so vital to make a truly modern OS.

I’m now convinced Haiku Inc. gives the possibility to work only to a handful of people which is part of some strange haiku-lobby and is not really interested in funding contracts outside of this.

Like there is some black magic involved to become part of the team? I wonder what you think.

There are communication difficulties, and yes, it is hard to work with the inc and the lack of time of most of the members make this quite unprofessional, especially at the time you were under contract. My own contract before that was ended for similar reasons (“we don’t know if we can pay you next month”).

This was manageable for a year for me because I had another customer in parallel and some money set aside. So I had no problems waiting for delayed payments.

Doing any kind of work with Haiku (paid or not) is only possible if you have a lot of autonomy and patience dealing with other people. Otherwise, you lose your nerves, everyone gets angry and you get only frustration and no useful work out of it.

Communication in a distributed project like this is very difficult, and misunderstandings can escalate quickly. So you have to be ready to spend a lot of time saying the same things over and over again, as well as carefully listening to other people input and taking the time to answer their concerns, no matter how futile they seem to you.

I’m still convinced that members of the inc try to be fair on which contract they allow. There is no need to attribute their problems to bad will from anyone or trying to favorize some devs over others (why would they do that?). It’s just lack of time/motivation/interest and misunderstandings.

On the other side, dealing with the haiku project, development team and culture is indeed something very special. One cannot run a project without management without drawbacks. In particular, this works only because all members of the team got in because they have what other members think is a coherent vision of the “Haiku way”. This is brittle, as each of us actually has a different vision and no one is more right than the others. As soon as someone tries to explore different ways - as you want to do with the media kit, you start hitting this problem. This is also why I am worried as to what will happen to the project after R1, because for now we solve this problem by putting these discussions aside with “this is an R2 thing”. This may also explain why people do not want to get involved into the release.

As for tasks to be done for the release, you can check the roadmap on dev.haiku-os.org. All tasks are listed there, and I’m sure you can identify the 2 or 3 problems that are blocking the release and all revolve around infrastructure setup: Haiku packages are not generated automatically when someone pushes to git anymore, and we don’t have a way to set up and populate a stable branch for haikuports (it needs a separate package repo and matching buildbots). Basically that’s about it.

2 Likes

That is why I try not to comment to much…
I totally agree with the situation here in Europe… Paperworks, law, insurance and much more…
Very sad and very complicated…
But for sure I totally agree… with you…
It is work … and if you get paid for it your government will ask for tax… and more…

Best is get a paid job and work in your free time on your hobbies. It is just the save way to get things done! Thanks for your words…

Sorry for that…

Like there’s an obvious bureaucracy obstructionism in how my contract was handled compared to others. I realized that some months after. Here some examples:

You had two contracts, how many proposals did you submit? I can’t find any public trace, I guess you did that privately.

After the initial proposal I was told to submit two additional ones, the first for a 2-months extension, and another, the last which wasn’t handled at all.

Wait, I can see another contract proposal which was originally for 12 weeks but lasted for a year, I don’t see additional proposals except the first.

Can see some difference?

Here’s the whole point of the discussion. You had a reply.

That wasn’t really the problem, I could live with that too. But still an example of how things are managed.

The problem wasn’t certainly dealing with autonomy. The problem was that someone didn’t handle the stuff they are supposed to. I do a lot of communication. Some people even contacted me with serious concerns and everyone cleared up his mind after listening what I’ve been doing.

Due to the toxic Be Inc. marketing, the media kit is full of buzz words and a lot of people really doesn’t understand what they say. I never yelled on them, so that’s just not the case for me. But you are still in right of feeling angry when Haiku Inc. disrespect you.

Let’s put it this way: if they are not doing this, they were very good at making it appear so.

No, people don’t want to get involved with the release because most of the characteristics of this release were set by people who then disappeared. So we live with their likes and have daily troubles due to that.

Let’s say we did a poll about dropping GCC2, do you think the community would have chosen it? And what about this mad perfectionism which just slow down the project? I’m pretty sure most of the users think alpha4 is just a bad named beta.

Just note also another fact: my work was never meant to be “after R2”, you should know at this point I have a lot more drastic view of an R2 media_kit. I still don’t understand why you continue to put this R2 word on me.

If we are talking about the new Media API, that’s just like the layouts kit. You build an higher level API to clean it out, make it more functional, reduce bugs.

Yet, I was starting to implement subtitles at the point my contract ended. The final point is that a lot of users were disappointed by how my contract ended. Haiku Inc. wasn’t able to give a reason because they didn’t have one and (basing on their admission) some of them couldn’t just understand what I’ve been doing with my commits.

In the end, they should respond to users and not to me.

1 Like

I’m now convinced Haiku Inc. gives the possibility to work only to a handful of people which is part of some strange haiku-lobby and is not really interested in funding contracts outside of this.

You keep insinuating the existence of such a secret club of Haiku people, which I find strange. As a fellow dev who has no knowledge of any such thing: please either be more clear and say what you mean; or stop the vague hints about something that doesn’t exist, and which only leads to scaring away newcomers.

1 Like

I did indeed discuss the opportunity of a second contract privately (using the contact@haiku-inc.org mail address). I did this because it included then private information which I did not want to share on a publicly archived mailing list (about leaving my then-employer, etc). I think that is a normal process to handle sensitive information.

I offered several ideas of things I could work on (IIRC including WebKit and the ARM port). The inc decided that WebKit was more interesting/useful. At the time the inc was run by Matt Madia, and I discussed some things directly over IRC as it was a faster way to clear up the details.

As I mentioned, my contract stopped in an unexpected way. There had been delays of > 1 month in getting me paid already, and eventually I received an e-mail telling me that they had no idea how much money was left and if it was possible to continue the contract.

I should also mention that at the same time my second contract was announced, there was also one for Pawel Dziepak. So, is he part of the mysterious secret Haiku team? Not quite. It just turns out at the time Matt was running the inc and was much more reactive. He had to leave for personal reasons and since then things are not going all that well on the inc side. However I don’t think I am allowed to complain, because I declined to be involved in the inc. I already run another non-profit (a music school), I know how much work it is, and I’m already happy enough that there are people at least trying to keep the inc running. I do however voice my concerns and try to put some suggestions on how to improve things (eg. with setting up a 3 year mandate for board members rather than asking them to resign when they run out of time/motivation).

As for my contract being extended after the first run, it is a combination of the above (people actively running the org at the time), good feedback from the community (maybe because the web browser is more user-facing than the media kit) and continued flow of donations making it possible, and myself just continuing to work without asking for anything (that’s what I mean by autonomy - I did not wait for the inc to grant me extensions, I just sent them invoices every month until they asked me to stop). I can dig out the private mails setting up the various extensions if you want them. It would be great if the inc coud publish their meeting minutes or at least a yearly activity report so we have some public trace of this, indeed.

I think the difference is mainly related to the fact that the inc was run by different people during my contract, and during yours. Indeed when Matt stopped being active in the inc, my contract soon ended.

As for R1 feature list, I don’t care what the community says, especially about gcc2. The only sane answer an user can give to this question is “why should I care? what is gcc2 anyways?”. It is ridiculous to ask users which compiler version we should be using.

For the perfectionism, it is actually a reason for me to stay with Haiku. After a day of work fixing other people’s work (this is my official mission for my paid work at this point), I can find some relaxation in working with beautiful, properly indented code, with variables having meaningful names. If I was dealing with code as ugly as what I get to handle at work, I would have stopped working with Haiku a long time ago. I can’t speak for other devs on this, but I guess their feeling is somewhat similar (maybe they have better paid jobs than me, however). In the short term it may look like it is slowing down things, but dirty code that needs a rewrite eventually gets in the way, so in the long term is it very important to keep everything nice and tidy and to always raise our quality standards. If that means R1 is an unreachable “never done” target, then so be it. I even offered to be the maintainer for the R1 branch while other people have fun experimenting with other things elsewhere (R2 branch, their own github fork, whatever).

As for your work on improving the media kit, I did not say that this was meant to be R2. I only said that when there is a disagreement on anything, people are too quick to say “this is an R2 thing” and dismiss the whole thing completely.

Now if we are getting personal (I would rather discuss this privately, but whatever). I do think there had been some communication issues during your contract. I did try to follow your work but IIRC the blog posts were not of reachable level for me, because you know the involved code a lot more than me. I can imagine how this was even more a problem for regular users, maybe including people from Haiku, inc (again I can’t speak for them). I know it is a difficult thing to do and the fact that I was working on the web browser made it a lot easier for me to have some public-facing news regularly. This helped increase the flow of donations and keep my contract running for some more time.

So once again, I don’t think anyone is trying to force you or anyone else out of Haiku (again, why would they do that?). My personal view on this is that if someone doesn’t get along with how the project work, we should try to see if we can improve things in a way that improves the situation for everyone. This can sometimes just be taking the time to discuss our respective visions and making sure we agree. This can be making adjustments or maybe just clarifications to the workflow. But your attitude of “there is a secret team inside haiku with a conspiracy to get all the contracts” won’t drive you anywhere, unless you have something to prove it. Haiku is an open source project, the inc could do with more transparency. But that does not mean they are trying to hide something. Why would we do this with Haiku? It can’t be for the money. It can’t really be for the fame either. So, that doesn’t make any sense to me.

Sincerely, I never had a complain about my work. But apart from that, don’t complicate the thing, all they should have done is giving a response.

They didn’t give me any signal I could have continued ahead. While you make the thing simple as “you could have continued” at this point it wasn’t the case. You were evidently comfortable in doing so, I wasn’t because they made a lot of trouble for this contract to happen. A board member even voted a +0.5 without giving any reason. When I said in IRC that I would have liked to continue with the contract, they said me to propose another contract proposal (the third in three months), you can’t tell me the situation isn’t suspicious. At this point I was disappointed because I expected an informal go-ahead.

Relating the people involved, just a few time before you can see another contract and I don’t see all this bureaucracy for it to continue. The reason you are asking for is simple, people just cares when they want to care. That they didn’t care in my case is obvious and evident. Again, they made no attempt of discussing with me, mediating and so on.

They didn’t want to discuss with me at all, and any attempt for me to reach them failed. Also I didn’t meant that you did something privately, but just that a lot of things are kept private and nothing let us to know how they handled other contracts. And I’m not proposing any conspiracy, it’s just that all contracts before mine had not all those problems, is it a case? Maybe.

Relating the perfectionism, I didn’t mean the code itself of course, but selecting the features and the way releases are done. I think it’d be better to reconsider how releases are done. This was discussed various times in ml, I guess another discussion will arise in future. But I hope we don’t want to do the same error with R2.

And I forgot to say a thing, the lesson here is avoid putting you heart into things, an error that shouldn’t ever be made.

You can see just up there what I mean.