GothenburgBitFactory / taskwarrior

Taskwarrior - Command line Task Management
https://taskwarrior.org
MIT License
4.01k stars 276 forks source link

O, Project Activity Where Art Thou? #2338

Closed corbolais closed 3 years ago

corbolais commented 3 years ago

This issue likes to bundle all the past, present and future issues regarding the projects past, present and future.

You feel your PRs are not acknowledged, though they got reviewed but are pending a merge since..? -> This is the issue to head for and lament about it.

There might be a multitude of other related issues or feelings deserving mention here. Just Do It!

Issue #2248 was not the first one getting hijacked because of lack of this repo's inactivity. It just was it's starter: https://github.com/GothenburgBitFactory/taskwarrior/pull/2248#issuecomment-727277557

As I'm grateful for TW's existance and for the PO's work, a fork is kind of a last resort. Nevertheless, I'd be willing to undertake the initial step.

@jrabinow mentioned an article presenting an interesting concept or procedure to possibly find a way to unstall a project: The Pull Request Hack.

Let's see how this all turns out -- for the better, please.

Edit: For starters, how about >= 380 open issues?

corbolais commented 3 years ago

Skimming through the first couple of issue pages, there are already many issue regarding the project activity, documentation issues, issues issues etc: #2311, #2147, #2259, ...

The sheer number of issues about existing functionality, requests for enhancements, improvements and plain old bug reports is HUGE. And all too often gray-bearded.

TW is a great piece of SW, attracting alot of apt people on the way. All too often turning them away for (no) good reason. I'd love to see this project rise from it's issues. ;-)

kwoot commented 3 years ago

When I look at the log I see that the last commit was commit b67f10cb13017. That one is dated Fri Jan 17 19:16:57 2020 -0600. So activity may be low, but the project is not dead yet (I've seen worse). Let's try to contact the maintainer first.

pbeckingham commented 3 years ago

Project is not dead, it just looks like it. Working with Tomâš to get this going.

corbolais commented 3 years ago

If you look closer: 14 pending PRs, two projects, last updated 2018/2019.

Although @pbeckingham as PO is far from being the only dev (has support from six other devs), his activity in general was last higher in 2016. The profile tells you "I may be slow to respond.".

TW itself has a build-badge on the front: Travis build status stating "build|error" as of now.

The build error is from "19 days ago".

To my eyes, TW seems very dead. Apparently, others see this, too.

corbolais commented 3 years ago

Project is not dead, it just looks like it. Working with Tomâš to get this going.

Love to hear that. Any timeline it the working?

kwoot commented 3 years ago

The fact that @pbeckingham responds to this discussion in a timely manner is proof to me that the project is not dead. I think this is excellent news. Maybe we should start a discussion on what can be done to make the project seem more lively?

corbolais commented 3 years ago

I notice a sudden flurry of merges and closes. This is a known phenomenon, bursts of "activity", then

void.

It has happened before. Sometimes alot of closes for disputable reasons.

corbolais commented 3 years ago

The fact that @pbeckingham responds to this discussion in a timely manner is proof to me that the project is not dead. I think this is excellent news. Maybe we should start a discussion on what can be done to make the project seem more lively?

I politely disagree. Just look at the bubbles of silence before. Believe what you need to. I do not.

Getting closer to a fork more than ever.

kwoot commented 3 years ago

I think that would be regrettable. Like I said: maybe have a look at what can be done to make the project more lively?

corbolais commented 3 years ago

I think that would be regrettable. Like I said: maybe have a look at what can be done to make the project more lively?

Please, go ahead. I'd be delighted to be proven wrong.

corbolais commented 3 years ago

Just look at the facts, the real ones, I mean.

kwoot commented 3 years ago

These kind of discussions imho are very hard to do. Neither of us really know the context from which the other works or responds. Is somebody swamped with work? Stressed? Has health issues? There are so many reasons why things could slow down. I know of a project where the project leader lost interest in the project and just left. Leaving 7000 readers in the mailinglist and the main website without any transfer of admin powers. I strongly think that if a projects project leader is not ready yet to relinquish power of a project the question should be how to help him/her out and only fork as the ultimate last resort.

pbeckingham commented 3 years ago

Life sometimes gets in the way.

I have been absent for almost three years I think, I forget. I log in and merge now and then, I run tests. I use tw every day almost, so it's serving my needs, although I do have a limited use case. But I'm busy, and you wouldn't believe what I use tw for mostly these days.

There are many reasons that stop me from doing more. Just today, for example, I responded saying "not dead, kist looks like it". Three minutes later, "Any timeline it the working?". No, there is no timeline, I'm tired of explaining to people that the timeline depends on contributions, alignment, free time, bug reporting rate, bug completion rate, and all kinds of unknowns, so there are no dates. So the answer is: Your contributions and help will bring the release date closer. How about we work together?

The tw project got to the point where the contributions dropped off, replaced by people shouting for features, demanding releases, and asking, always asking, when will it be released. It's hard to work on software for twelve years in these conditions. But I love software, especially this software, and I want to get back into it. Provided there is help, contributions, positive changes.

So here are the tw plans, from my head, because I haven't read back through my notes:

Short term:

If anyone can contribute to this, it would be a very nice update, lots of bug fixes, and a solid re-start for 2.6.0 (which would be 3.0.0, see below).

We have lost our infrastructure, so have no automated testing any more. The flod project is perfect for this, was written for this, but needs (virtual) machines and a fair amount of support. Perhaps we should use github instead? We need multi-platform testing, even among linuxes. Anyone know of a [free] method of getting a dozen or so VMs to run testing on? Should/could we use AWS/CodeBuild?

Longer term:

Want to help? Join in. Want to ask "are we there yet?" Rethink your question. Is anyone willing to take on roles?

paul@beckingham.net if you want to talk offline.

jschlatow commented 3 years ago

@pbeckingham I appreciate your honest words. I must admit that I haven't been following the taskwarrior project lately (i.e. the last 3-4 yrs maybe). Hence this discussion took me a bit by surprise. Yet, I understand our situation. Most of us have only so much time to work on our pet projects. I've been pushing some projects of my own along for years.

I'm still using taskwarrior and even taskserver, not on a daily basis though. Still, I am convinced in the project and therefore interested in its future. Let's take up a friendly and productive discussion here.

I doubt that I can be of much help for the most pressing issues you mentioned since I still have not managed to attack the taskopen relaunch and thus don't feel like I should commit to new tasks. Nevertheless, I'd be happy to share my views, opinions and experiences on the longer term topics. Is there any design documentation for the rules system? Regarding the task server, I'd be happy if you could point out some of the problems that make it a support nightmare. Is there something conceptually wrong with the taskserver?

Let me make a suggestion: Let's take the technical discussion into separate issues. Also, I find the issue label 'help wanted' particularly helpful, as it clearly states to the community and newcomers where contributions are welcome and much appreciated.

jrabinow commented 3 years ago

My 2c: indeed this doesn't seem like a dead project to me either, just a slow-moving one. From a complete outsider's perspective, it looks like the community requires more attention than it's been getting lately - and that's bound to happen, life does tend to get in the way sometimes. That being said, the problem is still there, the project looks to be in want of man-hours despite everyone's best intentions. I don't think a fork is the answer to our problems - as @pbeckingham mentions above, it looks like everyone would be better off with new maintainers coming in who are able to contribute more time and effort to this, including take on roles. If people are seriously considering forking this repo, I think that's a good sign they'd be willing to take on an active maintenance role and/or help recruit others. I'm afraid I myself am too limited in bandwidth to contribute to TW, as most of us are. However I do encourage checking out https://felixge.de/2013/03/11/the-pull-request-hack/ - it seems like an interesting potential solution to adapt to the project's needs, or at least to look at and learn from.

Thank you for your work on TW and for making it available to all for free.

kwoot commented 3 years ago

I think it's great that people here like to help and chip in where possible. So here are some of my ideas on this: -building for more platforms: Maybe SuSE OBS is an option? I could look into that. -infrastructure: again something I can look into. What do you need? A VM somewhere? -Development: I did do some C long time ago but never C++ so I don't think I can be of much help in this department.

Regarding the task server: I understand the support nightmare. I would suggest rebuilding it. Rewrite in Python. Loose the weird login structure and go for username+password-hash and maybe store in a standard sql database?. This is something I could do. And in this day and age not focus on building your own self-signed encryption layer. Use letsencrypt keys or don't use keys at all. In my home network I don't care about encryption. If somebody is using taskserver in a company they can set it up the way they like. (I admit this maybe warrants its own discussion).

jschlatow commented 3 years ago

@kwoot +1 for your thoughts on task server. There is a bunch of existing solutions for delivering JSON securely via HTTPS. Question is: Has this any implications on the taskwarrior client? As an alternative, we could think about going back to a server-less solution but I think replacing some of the server's complexity with existing libraries would be much less work than developing a new sync scheme.

kwoot commented 3 years ago

Thanks for the +1! :-). I have no doubt this has implications on the client side. I wonder. Is there some version number exchange in the current sync protocol?

Regarding infrastructure and testing. I know gitlab offers some build and test functionality with hooks. I do now know if it offers more than github. Thankfully, syncing to 2 repo's is very easy (maybe not optimal. Definitely not optimal if that would create 2 places that list issues :-) ).

8-bit-fox commented 3 years ago

Hello,

I am very happy to see that there are fellow developers interested in helping out here. Just recently I was discussing with a maintainer of timewarrior (@lauft) how I could help here. Background is that we (as in me and a colleague) are migrating taskwarrior from a VM setup to cloud infrastructure. As it is, "missing features" keep other colleagues from using tw, and I, personally, have some things, that I would really love to see in action. But that's for the future :wink:

For now, I created #2339 in order to move the CI/CD/CT discussion in its own context. I think, it is very important and would be eager to support here.

Best regards

gour commented 3 years ago

Hello Paul, nice to hear from you again!

* Figure out what to do with TaskServer. This project has been a support nightmare. I want to kill it, unless we can find a way to make it manageable. There is a release pending, but I'm afraid it will awaken interest for it, and it will become a support nightmare again. Looking for suggestions.

Don't know if you are aware of it, but there is kind of TW-clone called dstask which uses git-based sync, but not sure whether it helps in regard.

kwoot commented 3 years ago

Wow. This dstask is cool. Migration (even just to have a look-see) is easy!

  1. task export > taskwarrior.json
  2. Now download dstask from their releases page
  3. mkdir ~/.dstask && git -C ~/.dstask init
  4. dstask import-tw < taskwarrior.json
  5. dstask

But I don't think it has timewarrior-like functionality/integration. And I don't see task nicely ordered in priority like TW does. So I'll stick with TW for now.

jschlatow commented 3 years ago

dstask has some interesting ideas but is also missing quite a bit of the functionality that tw provides. I really like the idea of markdown notes, but it seems dstask only supports a single note per task, which would be a dealbreaker for me.

I believe a git-based sync requires a multi-file data storage, which is not the case for tw. I still think a distributed sync functionality can be achieved in tw at the cost of some design efforts. Question is where dev time is best spent, rewriting taskserver or coming up with a distributed sync scheme. Maybe it's time for getting into a more detailed discussion in a separate issue about the sync functionality?

kwoot commented 3 years ago

+1 on a separate discussion about this.

jrabinow commented 3 years ago

I happened upon this randomly today. https://opensource.guide/ I've read through it, it's a solid resource. If you're looking to recruit more maintainers and bring them up to speed, it could be a handy guide to point them to. Maybe of interest? Thought I'd share. Source: https://github.com/maintainers/public-resources

corbolais commented 3 years ago

I'd love to see TW rise again.

Please bear in mind, the actual discussion centers around revival of pipelines.

IMO, reducing the number of issues and PRs is top priority. A working pipeline is fine and dandy, the real stuff, a change in culture and human interaction, is happening elsewhere.

And by reducing, I mean merging PRs/improving TW etc. rather than dropping them for whatever reason. With the TW repo my XP regarding (other people's) PRs, issues, FR et al. was all too often an "easy" decline, the tone a bit rough and not the least encouraging. It was more on the line with "won't bother", "not worth the hassle", "been there, done that: won't implement", "no, nah, not gonna happen". The close PR button seems too easy to click..

While TW urgently needs more devs and helping hands you're not gonna attract them being grumpy.

So, please encourage people to

Give them a feeling of appreciation and show support, let them do the merge themselves if nothing else (as @jrabinow's doc link proposes, see initial post).

@kwoot Thanks for mentioning https://opensource.guide/, it's a starting point, literally.

Let's pull this together.

cheers

kwoot commented 3 years ago

Redirecting all credits on opensource.guide to @jrabinow who mentioned it :-)

jrabinow commented 3 years ago

Haha, thanks :-)

Apologies for not being able to contribute with time but I could contribute a few $$$ towards reaching a milestone. I noticed there's a paypal link at the bottom of https://taskwarrior.org/ - is the donation info still valid? Would there be a way to add Github Sponsors?

tbabej commented 3 years ago

@jrabinow We are actually looking into ways of making the project sustainable. Donations have historically been about enough to cover the cost of the web infrasturcture (domains and hosting of the static websites). The donation model actually works (where works=provides funding for any substantial amount of development work, i.e. part time) for very few repos/developers, i.e. see the following graph (taken from here):

image

While the project has been on the quieter end over the past couple of years, some development has happened (bug fixes, and most notably a new CI tooling), and more recently (and importantly), discussions were conducted about how to revive the project. More news about this should surface by the end of 2020. If the project activity looks the same 9-12 months from now, I'd say this issue is ripe to reopen and the future of the project should be discussed again. Keep your fingers crossed!