projecthamster / hamster

GNOME time tracker
http://projecthamster.org
GNU General Public License v3.0
1.06k stars 250 forks source link

Welcome, a heap of gratitude and update! #574

Closed elbenfreund closed 3 years ago

elbenfreund commented 4 years ago

To everyone involved, be it on the sidelines or right down in the thick of it for the past weeks: Thank you all for your continued interest and investments.

After two years of work related neglect, I am starting to slowly claw my way back towards hamster. As this is just the start, I want to focus on one big message right here:

THANK YOU ALL I understand there has been friction among some of our recent contributors and I would like to offer the following solution: Just dump your frustrations on me. Whilst there clearly are differences in approach the sad truth is the main reason things escalated, more than they probably needed to, is because I failed to provide the required guidance and structure.

If you can find it in your heart, I would like to invite all of you, @ederag , @jtojnar , @hedayat @dirkhoffmann , @mwilck and everyone I failed to mention here (I am still catching up, so pretty please do mind me not listing you here...) to work with me towards turning hamster into a well maintained and productive tool. Lets try to forget about the frictions of the past and try to establish a productive and friendly future community spirit!

Immediate actions taken

For now, in order to unblock some of the outstanding contributions so far, I have done the following:

  1. Invited @ederag to the main 'legacy-hamster' team, granting full (provisional) write permissions.
  2. Invited @hedayat , @mwilck and @dirkhoffmann to join the hamster-shell-extenion team, granting (provisional) write access to all of its members.
  3. I made sure master and develop branches in hamster and hamster-shell-extension repositories are "protected", so we keep merges clean and tidy using PRs.

Near future topics

Whilst the recent developments have succeeded in getting my head out of my ass, I would be lying if I would claim that I do have the resources to start proper full time work on hamster in the immediate future. My current work and private live does not permit that. What I can and will do is commit 4-6 hours of "catching up and maintenance" contributions for now. I hope that helps elevating some of the current social friction and provides a overarching perspective into the future.

Questions

That being said, I can not address all outstanding issues right away, so I will be needing your help :)

ederag commented 4 years ago

@GeraldJansen Sorry, we discussed this by mail, and I forgot to post here as well. That was a nice story, overall. Best wishes.

elbenfreund commented 4 years ago

Thanks to both of you for your effort and contributions. Best of luck to your future projects.

May I close this issue then?

benjaoming commented 4 years ago

@elbenfreund aren't you the only one with access to closing it?

elbenfreund commented 4 years ago

@elbenfreund aren't you the only one with access to closing it?

Yes. Why?

benjaoming commented 4 years ago

Isn't the bus factor is a bit too high to close the issue then? Are you the new sole maintainer then?

elbenfreund commented 4 years ago

Isn't the bus factor is a bit too high to close the issue then?

Yes, the bus factor is too high. But this issue is not really related to the maintance of the repository at all, unless im mistaken. Really, all that was supposed to happen here is, saying "hi, im back". Anything else should probably get it's own issue.

Are you the new sole maintainer then?

No. I may have a look into the current codebase, but I personally rather invest into getting the rewrite into a usable state. So, unless someone else steps up, this repository unfortunately is going to be without a maintainer.

ederag commented 4 years ago

@elbenfreund posts edited, maybe you'll see why it was not just an "I'm back" post. Just in case a better explanation would help understand, not trying to bring this up again.

mwilck commented 4 years ago

@elbenfreund,

but I personally rather invest into getting the rewrite into a usable state

Fine, but I believe you'll admit that getting the rewrite into a truly usable / publish-able state will take time. I believe we're talking about a 6, if not 12 months time scale until it'd be in a shape where it could replace the current or even previous hamster-legacy release (correct me if I'm wrong).

We need someone who'd be willing to review and possibly merge PRs for the "hamster" repo. It should be several people actually, as no new maintainer is going to step up out of nowhere. This thread has shown, despite all the friction and negative emotions, that there are a couple of people who are interested in hamster being alive and well. Leaving yourself to be the only person with commit rights, while you openly state that you're not actually interested in this repo, seems to be an awkward move. So I suggest you pick 2-3 people and let them have access rights to this repo. These people should agree on a cooperative, no-single-person-is-the-captain approach.

Assuming that neither @ederag nor @GeraldJansen are going to be back any time soon, it'll be no easy job to maintain the current code base, but I guess it should at least be tried. Possible synergies between your rewrite efforts and the maintenance of the hamster repo should also be considered.

elbenfreund commented 4 years ago

@elbenfreund posts edited, maybe you'll see why it was not just an "I'm back" post.

I do not understand. In particular the "posts edited" bit. In order to avoid any misunderstandings. I am not saying that this issues comments were just about "im back". Clearly they are not. But given that the discussion seems to have arrived at some sort of end and the original message seems to be covered, I wonder if there is any use in keeping this open.

Fine, but I believe you'll admit that getting the rewrite into a truly usable / publish-able state will take time. I believe we're talking about a 6, if not 12 months time scale until it'd be in a shape where it could replace the current or even previous hamster-legacy release (correct me if I'm wrong).

I Won't commit to a timeline, but I hope to be closer to 6 than 12 month. But of cause you are absolutely right that there is no drop in replacement. And wont be for a significant amount of time.

We need someone who'd be willing to review and possibly merge PRs for the "hamster" repo. :+1: 100% . I don't think I disputed this anywhere at all. All I am saying is that I will not be that person. And @ederag clearly made his choice. As I can not force nor pay anyone, this means this repository is unmaintained until someone steps up. Which would make me very happy. But again, is probably not the point in this issue.

Leaving yourself to be the only person with commit rights, while you openly state that you're not actually interested in this repo, seems to be an awkward move.

It was not intended as "awkward", but modest. Most people besides ederag who seem to be active right now seem to be focusing on the "hamster-shell-extension". I do not feel in any position to suggest that they take even more work than that on my own.

So, to be totally blunt: If anyone wants to commit themselves to maintaining this repo, please step forward. You are more than welcome! And I think I have shown with my the hands on approach to hamster-shell-extension that I am more then willing to follow a hands on approach for write access for now. :)

(Given the rather "conflict prone" tone in this thread) I still feel that such a call would deserve its own issue/readme entry.)

mwilck commented 4 years ago

@elbenfreund, I'm sorry if my "awkward" wording sounded conflict prone. It wasn't meant that way.

You may recall that @ederag expressed that he did not want me to have permissions on the hamster repo, and that I responded that I had no interest in getting them. Therefore, I'm probably least qualified of anyone to step up. But having no maintainer at all looks wrong, too. I would be willing to be member of a team, if someone else volunteers. So, @DirkHoffmann, @benjaoming, @matthijskooijman (naming the most obvious candidates), please consider. I'd also be fine with you guys doing this without myself.

If @ederag ever changes his mind, re-joins the project, and wants me to step back, I promise I will.

elbenfreund commented 4 years ago

@elbenfreund, I'm sorry if my "awkward" wording sounded conflict prone. It wasn't meant that way.

No worries at all. It did not. I just meant "this whole issue probably does not spark a 'fluffy warm feeling of joy and urgent desire to step up' in most peoples heart". And I mean that simply as an (personal) impression, not as judgement.

Everything else: absolutely. Sounds great.

benjaoming commented 4 years ago

@mwilck that's a really cool approach, I can support all of that (also giving @ederag the seat back). Seeing that you need a co-maintainer, I'd offer to add whatever time I have to get PRs in.

DirkHoffmann commented 4 years ago

So, @DirkHoffmann, @benjaoming, @matthijskooijman (naming the most obvious candidates), please consider.

Thank you for the flowers. But for the reasons given above, I cannot commit to anything more than the work on the extension right now. I would like to reach zero issues count there before opening a new bottle.

I think we all need some time to digest what has happened here. I succeeded (with a bit of emphasis, sure) to bring in three contributors for the orphaned extension project, and as a net result after long exchanges, two developers for the core have left. That is puzzling and not logical for me. And unfortunately this is very likely to confuse third parties and preclude them from joining for some time.

And yes, this issue is closed for me and will stay in the memories as the story where a heap of gratitude was transformed into disappointment and confusion.

mwilck commented 4 years ago

@DirkHoffmann, all of us (who are still here) feel this way, I think. I fully understand if you want to keep out. But in order to avoid scaring even more people away, we need to have some interim maintainership.

DirkHoffmann commented 4 years ago

@DirkHoffmann, all of us (who are still here) feel this way, I think. I fully understand if you want to keep out. But in order to avoid scaring even more people away, we need to have some interim maintainership.

Point taken. Let me make a mathematical proposal:

If the number of maintainers falls below N, feel free to add me, and I try to arrange my priorities, committments and whatsoever as needed. And if it grows above N+1 (including me), I would like to quit or "pause" during that time.

It would be N=2 for me, in principle. But if there is an agreement on N=3, fine.

matthijskooijman commented 4 years ago

I think I would take a similar stance: I'd rather someone with a bit more time and drive picks this up, but lacking that, I would be ok to be part of a team effort to keep things running (which mostly means fixing bugs and handling contributions I expect, not so much new development). Regarding the size of such a team, N=3 sounds more comfortable than N=2 to me.

In summary, it sounds like giving @mwilck, @benjaoming and myself access is a good way forward for now, keeping @DirkHoffmann in mind in case anyone drops out. When this is done, we should probably make some changes to the docs to reflect the current state, with an open invitation for others to step forward and take on (part of) the maintainership (but let's discuss that in a separate issue later).

mwilck commented 4 years ago

IMO Dirk should also be given access, in a passive role for the time being. That's not to say that I'm planning to be extraordinarily active - none of us seems to have such intentions. I believe it's understood that being in this team comes with minimal obligations only. No single person should feel obliged to keep this project alive.

DirkHoffmann commented 4 years ago

All right. Thanks for your comittment and understanding, everybody.

We have the case N=3 now. An odd number will necessarily lead to a majority, so please make up your mind, if you need to bring it up to N=4, by taking me or anybody else on board now. And let's hope that the current situation is temporary anyway.

ederag commented 4 years ago

Answer to @DirkHoffmann https://github.com/projecthamster/hamster/issues/574#issuecomment-596649961

I think we all need some time to digest what has happened here. I succeeded (with a bit of emphasis, sure) to bring in three contributors for the orphaned extension project, and as a net result after long exchanges, two developers for the core have left. That is puzzling and not logical for me. [...]

This might shed some light: https://www.kilpatrick.one/pioneers-drivers-integrators-and-guardians/

I have strong aspects of pioneer and driver, but my core would be guardian/integrator, especially

Guardians value stability, and they bring order and rigor. [...] Data and facts are baseline requirements for them, and details matter. Guardians think it makes sense to learn from the past.

Integrators value connection and draw teams together. Relationships and responsibility to the group are paramount. Integrators tend to believe that most things are relative. They’re diplomatic [at least I care] and focused on gaining consensus.

So there was a long running clash with a single person because posts like https://github.com/projecthamster/hamster/pull/549#issuecomment-585985739 were clashing with both the integrator (consensus broken) and the guardian (more gut-feeling than facts-based).

These dissensions had been patiently worked upon, and settled in my opinion after https://github.com/projecthamster/hamster/issues/568#issuecomment-589843615. That was behind us, and v3.0 had been released.

Then our lord "savior" came, stressing on dissensions, and not clearly limiting the scope of these allegations to the extension (under his responsibility), hence clashing with the integrator.

Your emails did not help, since they did not follow the community consensus summarized here. And one of them had a fighty tone. All this clashed with the integrator.

None of this taken individually would change much, but the accumulation makes sense.

Finally, I have to admit that https://www.kilpatrick.one/pioneers-drivers-integrators-and-guardians/ allowed me to better understand all of you (my impression at least):

Working with Kim and the broader team sometimes feels to Suzanne like trying to thread a needle in the midst of a hurricane. To Kim, working with Suzanne sometimes feels like running in deep water.

This does resonate here, doesn't it ?

elbenfreund commented 4 years ago

As per your suggestions invitations to join the repository team have been issued for @mwilck, @benjaoming, @DirkHoffmann and @matthijskooijman . Whether you accept or not, is up to you :)

Either way, a big thank you to all of you for offering your help!

As such, I consider this issue done and will close (in favor of issues with a clearer scope) it by the end of day, unless anyone feels things left unaddressed here.

mwilck commented 4 years ago

@ederag,

So there was a long running clash with a single person because posts like https://github.com/projecthamster/hamster/pull/549#issuecomment-585985739

In that post, I demonstrated that your code allowed arbitrary code execution in a dbus method call. Was that the wrong thing to do? Sure, I used language like "I'm not happy about this change at all" and "I think you're on the wrong track". It's the "driver"-like communication style I'm used to from most FLOSS projects I've been involved with, and I can see that a sensitive mind might find the critique to be too direct and too personal. OTOH, you being such a sensitive-minded "integrator" doesn't sit well with the harsh tone you've been using against myself and others, and your frequent usage of the thumbs-down emoji, which I confess I'm a little sensitive about (I know you don't mean it that way, but I think of gladiators in ancient Rome when I see it).

Believe it or not, I've re-read, edited, and re-written almost every post I've made here an estimated dozen times before clicking on "Comment", trying not to be offensive. I failed, obviously, at least in your opinion, and I'm sorry about that.

ederag commented 4 years ago

@mwilck You were always civil, never offensive, and this is a reason why I still esteemed you.

There is a misunderstanding: I did not mean you were doing wrong, just that your posts had a peculiar influence, and kindly asked you to stop it, please.

I can see that a sensitive mind might find the critique to be too direct and too personal

You are the one making it personal. Please don't. Quoting https://github.com/projecthamster/hamster/issues/574#issuecomment-593350456:

I never felt personally attacked by @mwilck, IMO a good will, trying too hard to help the project and hurting it instead, but there's hope.

Hopes fade slowly.

About the thumb down, I almost never use it, because it can be harsh to some. This thread was unusual. What do you call "frequent usage" ?

(I know you don't mean it that way, but I think of gladiators in ancient Rome when I see it)

Fair enough. Some thumbs down removed from this post. Please let me know if there are leftovers.

I always took great care and time to answer you in an adequate tone, while still saying what had to be said, for the good of the project.

In that post, I demonstrated that your code allowed arbitrary code execution in a dbus method call.

The dbus session should be somewhat isolated

The D-Bus maintainers recommend using a separate session bus per (user, machine) pair as additional safeguards.

Yet I took your remark seriously, and added the int check you mentioned (+ other safeguards), thanks for that.


What bothered me was the general tone:

You had sophisticated DBus message passing in clean python, and now, instead, you fork/exec first a shell, and then fork/exec another hamster instance. You think this is an improvement wrt the code we had before?

I don't like saying it because I much appreciate the work you do, but I think you're on the wrong track here.

Please try to walk in my shoes: imagine you have hundreds of hours behind you, and are about to release v3.0, running full speed with a clear goal in mind, you said it's WIP, but now all users might fear you're about to screw the project. Fun fact, I was a fool, almost no one looked at it :smile: So you have to stop, reevaluate, and take time to explain. For something that can be changed back any time.

These concerns were answered in https://github.com/projecthamster/hamster/issues/563#issuecomment-586503826.

sh-zam commented 4 years ago

It is pretty upsetting, a project which seemed like an active project few months ago (all thanks to @ederag and @GeraldJansen), is now dead again (besides few issues, comments and PRs, but who are we kidding?)

Thanks to "a heap of gratitude", the person who was generously maintaining this project, feels this project is no longer worth their time. I am not sure if they'd still be willing to contribute. But thanks to this, project hasn't gotten anywhere since.

mwilck commented 4 years ago

@sh-zam, thanks for your feedback. As you correctly observed, the situation has changed. The previous maintainer has driven the project more or less on his own, at his own discretion. That allowed for a high development pace. Now we have a maintainer team, meaning that progress is slowed by the need to discuss and either agree or find compromises. Such processes are tedious and consume time, but more often then not they lead to better end results. This is what - we hope - will happen for hamster, too.

The new maintainer team has focused on the GNOME shell extension lately, making it work with recent GNOME releases, which was quite some work in its own right.

Constructive criticism is always welcome, so if you want to contribute, or have constructive ideas how to make hamster better, please go ahead.

sh-zam commented 4 years ago

Now we have a maintainer team, meaning that progress is slowed by the need to discuss and either agree or find compromises.

If having a team means that for past two months this repository would go nowhere, then I think the team is doing a great job!

Sorry, if I sound too harsh, I know you people don't owe me anything and you might be even thinking that you are helping this project. But, in my opinion you people are being a MAJOR blocker.

matthijskooijman commented 4 years ago

@sh-zam, I'm sorry, but that's not quite how things have gone done. I'd rather not spend too much further time on this issue, but let me at least correct the view that is now sketched.

In my recollection, the previous maintainer has decided to step down (for reasons I do not fully understand so I will not try to summarize them here, see above or ask them if you want to know). Only after that, a number of contributors (including myself) has reluctantly stepped forward as maintainers of this repo. All of us did not expect to spend much time, but would rather not leave the project completely unmaintained. So while I agree that the project is not in a great state right now, I'm afraid that you are putting blame where there is none.

Note that I'm talking about this repository, for the extension there was some more enthusiasm and time dedication to develop that, so there is some more movement there.

sh-zam commented 4 years ago

In my recollection, the previous maintainer has decided to step down

If that is the case, then it's really sad :-(

Anyways, I geniunely hope this project doesn't halt. Since this has been my daily driver for a really long time now. I want to and have wanted to improve this. Hopefully, soon I can work on some features/bugs that I want in.. :-)

Thanks!

rhertzog commented 3 years ago

Hey everybody, I'm late in the game but I'm a long time user of hamster and the shell extension and I care about it as well. I have submitted fixes to the shell extension multiple times because as a Debian developer I use Debian Unstable and I'm exposed to the latest GNOME version quite early...

I have recently re-introduced hamster to Debian when I discovered that the package that I used was dropped a long time ago.

My time is also rather limited but I'd be willing to join a maintenance team for legacy hamster and the shell extension. I can help review and merge submissions at least. I don't expect to submit a lot of code on my own but I can certainly help to bring some leadership. I have a strong experience in python programming (eg https://salsa.debian.org/qa/distro-tracker/) and test driven development.

FWIW I'm using hamster to record the time I spend during work and as such I'd be willing to fund some development time through my company. @elbenfreund is that something that could help you to dedicate more time to this project? Honestly I never looked into your rewrite but what is lacking most for me is some more flexible reporting tools and I really want to keep the neat shell integration.

GeraldJansen commented 3 years ago

Perhaps you "reluctant maintainers" (@matthijskooijman, @mwilck, @benjaoming, @DirkHoffmann) could contact @elbenfreund personally and ask him to add a new willing maintainer. Some attention to pull requests is sorely needed.

ederag commented 3 years ago

In the hope this could be useful to other communities, and triggered by recent events, here is an answer to part of https://github.com/projecthamster/hamster/issues/574#issuecomment-626386129:

It is pretty upsetting, a project which seemed like an active project few months ago (all thanks to @ederag and @GeraldJansen), is now dead again (besides few issues, comments and PRs, but who are we kidding?)

Thanks to "a heap of gratitude", the person who was generously maintaining this project, feels this project is no longer worth their time. I am not sure if they'd still be willing to contribute.

The new team managed to disgust me from maintenance (reasons given in my first post), but I did try to contribute advises, and quickly fixed the very few bugs related to our work that surfaced in more than one year (#576, #590 and #671).

Only the latter is related to the infrastructure (main v3 changes), and has been fixed on the spot two days ago. The interface would have been of the same quality (and on par with v1) by now, and #493 would have been solved...

A huge change (lot of work) was stalled for wrong reasons (#573 probably will be closed at some point), their call.

597 has been stalled for almost a year and is unmerged, for other wrong reasons,

and they were not smart enough to do what should be done to show me respect. So now they are on their own.

From what I have seen this year, they are quite different (available time, quality, vision, ...). To say the least, any criticism against the previous teams work, no matter how well worded it sounds, should be taken with skepticism. (unconvinced ? See this. Still not convinced ? Never mind).

Conclusion of this sad story: feedback is precious, but if anyone is trying to steer the wheel against a maintainer will, caution. Chances are, the maintainer is leagues higher, when it comes to the project (I wouldn't dare express anything in general).

There's more to say, but let us stay at that. They'll try to conceal the truth behind noise again, but thorough people (the only ones who matter to me) have enough to get through.

Please be nice to the new maintainers, don't do to them what they did to us, as I'm not coming back (a "heap of gratitude" for the free time :slightly_smiling_face:) Best wishes. Bumpy road ahead :slightly_smiling_face:.

They started this one year ago, so all issues and struggle are theirs.


Edit on 2023-05-21: Screenshot_20230521_082949 3 years since last release. No comment.

GeraldJansen commented 3 years ago

Perhaps this is a good time to unpin and close this issue. It has had a full year of visibility and that should suffice. It's time to move on.

matthijskooijman commented 3 years ago

Agreed.