Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

O, Project Activity Where Art Thou? #2338

Closed
corbolais opened this issue Nov 17, 2020 · 28 comments
Closed

O, Project Activity Where Art Thou? #2338

corbolais opened this issue Nov 17, 2020 · 28 comments

Comments

@corbolais
Copy link
Contributor

corbolais commented Nov 17, 2020

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: #2248 (comment)

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
Copy link
Contributor Author

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
Copy link

kwoot commented Nov 17, 2020

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
Copy link
Member

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

@corbolais
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link

kwoot commented Nov 17, 2020

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link

kwoot commented Nov 17, 2020

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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

@kwoot
Copy link

kwoot commented Nov 17, 2020

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
Copy link
Member

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:

  • Move the commits on master (merged by me, by mistake) on to the 2.5.2 branch where they belong.
  • Cherry pick everything possible (excepting recurrence changes) from 2.6.0 to 2.5.2. The idea being that 2.5.2 deserves every bug fix we have, to try and get a good stable release.
  • Reduce test failures (either by fixing the bug, or fixing the test, whichever is appropriate) to zero.
  • Release 2.5.2.

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:

  • There are competing projects that are both important (to me) that need to be completed. These are the recurrence rewrite (half done, and in good shape), and the rules processing (minimal implementation) that needs a lot of work. I'd like to put the recurrence rewrite into a 3.0.0 release (replacing the 2.6.0 branch), and the rules into 4.0.0.
  • 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.

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
Copy link
Sponsor Contributor

@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
Copy link

jrabinow commented Nov 17, 2020

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
Copy link

kwoot commented Nov 18, 2020

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
Copy link
Sponsor Contributor

@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
Copy link

kwoot commented Nov 18, 2020

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
Copy link

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 😉

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
Copy link

gour commented Nov 18, 2020

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
Copy link

kwoot commented Nov 19, 2020

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
Copy link
Sponsor Contributor

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
Copy link

kwoot commented Nov 19, 2020

+1 on a separate discussion about this.

@jrabinow
Copy link

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
Copy link
Contributor Author

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

  • contribute,
  • consider PRs,
  • merge them,
  • handle stuff together with your powerusers and prospective devs,
  • be gratefull for people taking the time to write a comment, issue or FR,
  • motivate them,
  • take them seriously.

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
Copy link

kwoot commented Nov 20, 2020

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

@jrabinow
Copy link

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
Copy link
Sponsor Member

tbabej commented Nov 24, 2020

@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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants